diff options
-rw-r--r-- | arch/h8300/kernel/sys_h8300.c | 4 | ||||
-rw-r--r-- | arch/h8300/kernel/traps.c | 2 | ||||
-rw-r--r-- | 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 11ba75a05220..de7688cfd573 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,...) | |||
288 | int kernel_execve(const char *filename, char *const argv[], char *const envp[]) | 288 | int kernel_execve(const char *filename, char *const argv[], char *const envp[]) |
289 | { | 289 | { |
290 | register long res __asm__("er0"); | 290 | register long res __asm__("er0"); |
291 | register char *const *_c __asm__("er3") = envp; | ||
292 | register char *const *_b __asm__("er2") = argv; | ||
291 | register const char * _a __asm__("er1") = filename; | 293 | register const char * _a __asm__("er1") = filename; |
292 | register void *_b __asm__("er2") = argv; | ||
293 | register void *_c __asm__("er3") = envp; | ||
294 | __asm__ __volatile__ ("mov.l %1,er0\n\t" | 294 | __asm__ __volatile__ ("mov.l %1,er0\n\t" |
295 | "trapa #0\n\t" | 295 | "trapa #0\n\t" |
296 | : "=r" (res) | 296 | : "=r" (res) |
diff --git a/arch/h8300/kernel/traps.c b/arch/h8300/kernel/traps.c index 300e3279ca5a..f97183011c2c 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) | |||
136 | printk("\nCall Trace:"); | 136 | printk("\nCall Trace:"); |
137 | i = 0; | 137 | i = 0; |
138 | stack = esp; | 138 | stack = esp; |
139 | while (((unsigned long)stack & (THREAD_SIZE - 1)) == 0) { | 139 | while (((unsigned long)stack & (THREAD_SIZE - 1)) != 0) { |
140 | addr = *stack++; | 140 | addr = *stack++; |
141 | /* | 141 | /* |
142 | * If the address is either in the text segment of the | 142 | * 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 99b664aa2083..49fc886a6232 100644 --- a/include/asm-h8300/processor.h +++ b/include/asm-h8300/processor.h | |||
@@ -78,7 +78,7 @@ struct thread_struct { | |||
78 | do { \ | 78 | do { \ |
79 | set_fs(USER_DS); /* reads from user space */ \ | 79 | set_fs(USER_DS); /* reads from user space */ \ |
80 | (_regs)->pc = (_pc); \ | 80 | (_regs)->pc = (_pc); \ |
81 | (_regs)->ccr &= 0x00; /* clear kernel flag */ \ | 81 | (_regs)->ccr = 0x00; /* clear all flags */ \ |
82 | (_regs)->er5 = current->mm->start_data; /* GOT base */ \ | 82 | (_regs)->er5 = current->mm->start_data; /* GOT base */ \ |
83 | wrusp((unsigned long)(_usp) - sizeof(unsigned long)*3); \ | 83 | wrusp((unsigned long)(_usp) - sizeof(unsigned long)*3); \ |
84 | } while(0) | 84 | } while(0) |