From 8778beb981b7e5df3472b05475e4c7905dad1f3d Mon Sep 17 00:00:00 2001 From: Yoshinori Sato Date: Fri, 1 Jun 2007 00:47:01 -0700 Subject: [PATCH] h8300 trival patches - warning fix. - call trace area check fix. - There is no meaning, ' & ' it deletes Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/h8300/kernel/sys_h8300.c | 4 ++-- arch/h8300/kernel/traps.c | 2 +- include/asm-h8300/processor.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/h8300/kernel/sys_h8300.c b/arch/h8300/kernel/sys_h8300.c index 11ba75a0522..de7688cfd57 100644 --- a/arch/h8300/kernel/sys_h8300.c +++ b/arch/h8300/kernel/sys_h8300.c @@ -288,9 +288,9 @@ asmlinkage void syscall_print(void *dummy,...) int kernel_execve(const char *filename, char *const argv[], char *const envp[]) { register long res __asm__("er0"); + register char *const *_c __asm__("er3") = envp; + register char *const *_b __asm__("er2") = argv; register const char * _a __asm__("er1") = filename; - register void *_b __asm__("er2") = argv; - register void *_c __asm__("er3") = envp; __asm__ __volatile__ ("mov.l %1,er0\n\t" "trapa #0\n\t" : "=r" (res) diff --git a/arch/h8300/kernel/traps.c b/arch/h8300/kernel/traps.c index 300e3279ca5..f97183011c2 100644 --- a/arch/h8300/kernel/traps.c +++ b/arch/h8300/kernel/traps.c @@ -136,7 +136,7 @@ void show_stack(struct task_struct *task, unsigned long *esp) printk("\nCall Trace:"); i = 0; stack = esp; - while (((unsigned long)stack & (THREAD_SIZE - 1)) == 0) { + while (((unsigned long)stack & (THREAD_SIZE - 1)) != 0) { addr = *stack++; /* * If the address is either in the text segment of the diff --git a/include/asm-h8300/processor.h b/include/asm-h8300/processor.h index 99b664aa208..49fc886a623 100644 --- a/include/asm-h8300/processor.h +++ b/include/asm-h8300/processor.h @@ -78,7 +78,7 @@ struct thread_struct { do { \ set_fs(USER_DS); /* reads from user space */ \ (_regs)->pc = (_pc); \ - (_regs)->ccr &= 0x00; /* clear kernel flag */ \ + (_regs)->ccr = 0x00; /* clear all flags */ \ (_regs)->er5 = current->mm->start_data; /* GOT base */ \ wrusp((unsigned long)(_usp) - sizeof(unsigned long)*3); \ } while(0) -- 2.20.1