diff options
Diffstat (limited to 'arch/m68knommu/kernel')
-rw-r--r-- | arch/m68knommu/kernel/process.c | 34 | ||||
-rw-r--r-- | arch/m68knommu/kernel/setup.c | 3 | ||||
-rw-r--r-- | arch/m68knommu/kernel/sys_m68k.c | 23 | ||||
-rw-r--r-- | arch/m68knommu/kernel/traps.c | 13 |
4 files changed, 46 insertions, 27 deletions
diff --git a/arch/m68knommu/kernel/process.c b/arch/m68knommu/kernel/process.c index c18a83306953..941955dc3b7c 100644 --- a/arch/m68knommu/kernel/process.c +++ b/arch/m68knommu/kernel/process.c | |||
@@ -290,7 +290,7 @@ void dump(struct pt_regs *fp) | |||
290 | unsigned char *tp; | 290 | unsigned char *tp; |
291 | int i; | 291 | int i; |
292 | 292 | ||
293 | printk(KERN_EMERG "\nCURRENT PROCESS:\n\n"); | 293 | printk(KERN_EMERG "\n" KERN_EMERG "CURRENT PROCESS:\n" KERN_EMERG "\n"); |
294 | printk(KERN_EMERG "COMM=%s PID=%d\n", current->comm, current->pid); | 294 | printk(KERN_EMERG "COMM=%s PID=%d\n", current->comm, current->pid); |
295 | 295 | ||
296 | if (current->mm) { | 296 | if (current->mm) { |
@@ -301,7 +301,8 @@ void dump(struct pt_regs *fp) | |||
301 | (int) current->mm->end_data, | 301 | (int) current->mm->end_data, |
302 | (int) current->mm->end_data, | 302 | (int) current->mm->end_data, |
303 | (int) current->mm->brk); | 303 | (int) current->mm->brk); |
304 | printk(KERN_EMERG "USER-STACK=%08x KERNEL-STACK=%08x\n\n", | 304 | printk(KERN_EMERG "USER-STACK=%08x KERNEL-STACK=%08x\n" |
305 | KERN_EMERG "\n", | ||
305 | (int) current->mm->start_stack, | 306 | (int) current->mm->start_stack, |
306 | (int)(((unsigned long) current) + THREAD_SIZE)); | 307 | (int)(((unsigned long) current) + THREAD_SIZE)); |
307 | } | 308 | } |
@@ -312,36 +313,35 @@ void dump(struct pt_regs *fp) | |||
312 | fp->d0, fp->d1, fp->d2, fp->d3); | 313 | fp->d0, fp->d1, fp->d2, fp->d3); |
313 | printk(KERN_EMERG "d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n", | 314 | printk(KERN_EMERG "d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n", |
314 | fp->d4, fp->d5, fp->a0, fp->a1); | 315 | fp->d4, fp->d5, fp->a0, fp->a1); |
315 | printk(KERN_EMERG "\nUSP: %08x TRAPFRAME: %08x\n", (unsigned int) rdusp(), | 316 | printk(KERN_EMERG "\n" KERN_EMERG "USP: %08x TRAPFRAME: %08x\n", |
316 | (unsigned int) fp); | 317 | (unsigned int) rdusp(), (unsigned int) fp); |
317 | 318 | ||
318 | printk(KERN_EMERG "\nCODE:"); | 319 | printk(KERN_EMERG "\n" KERN_EMERG "CODE:"); |
319 | tp = ((unsigned char *) fp->pc) - 0x20; | 320 | tp = ((unsigned char *) fp->pc) - 0x20; |
320 | for (sp = (unsigned long *) tp, i = 0; (i < 0x40); i += 4) { | 321 | for (sp = (unsigned long *) tp, i = 0; (i < 0x40); i += 4) { |
321 | if ((i % 0x10) == 0) | 322 | if ((i % 0x10) == 0) |
322 | printk(KERN_EMERG "\n%08x: ", (int) (tp + i)); | 323 | printk("\n" KERN_EMERG "%08x: ", (int) (tp + i)); |
323 | printk(KERN_EMERG "%08x ", (int) *sp++); | 324 | printk("%08x ", (int) *sp++); |
324 | } | 325 | } |
325 | printk(KERN_EMERG "\n"); | 326 | printk("\n" KERN_EMERG "\n"); |
326 | 327 | ||
327 | printk(KERN_EMERG "\nKERNEL STACK:"); | 328 | printk(KERN_EMERG "KERNEL STACK:"); |
328 | tp = ((unsigned char *) fp) - 0x40; | 329 | tp = ((unsigned char *) fp) - 0x40; |
329 | for (sp = (unsigned long *) tp, i = 0; (i < 0xc0); i += 4) { | 330 | for (sp = (unsigned long *) tp, i = 0; (i < 0xc0); i += 4) { |
330 | if ((i % 0x10) == 0) | 331 | if ((i % 0x10) == 0) |
331 | printk(KERN_EMERG "\n%08x: ", (int) (tp + i)); | 332 | printk("\n" KERN_EMERG "%08x: ", (int) (tp + i)); |
332 | printk(KERN_EMERG "%08x ", (int) *sp++); | 333 | printk("%08x ", (int) *sp++); |
333 | } | 334 | } |
334 | printk(KERN_EMERG "\n"); | 335 | printk("\n" KERN_EMERG "\n"); |
335 | printk(KERN_EMERG "\n"); | ||
336 | 336 | ||
337 | printk(KERN_EMERG "\nUSER STACK:"); | 337 | printk(KERN_EMERG "USER STACK:"); |
338 | tp = (unsigned char *) (rdusp() - 0x10); | 338 | tp = (unsigned char *) (rdusp() - 0x10); |
339 | for (sp = (unsigned long *) tp, i = 0; (i < 0x80); i += 4) { | 339 | for (sp = (unsigned long *) tp, i = 0; (i < 0x80); i += 4) { |
340 | if ((i % 0x10) == 0) | 340 | if ((i % 0x10) == 0) |
341 | printk(KERN_EMERG "\n%08x: ", (int) (tp + i)); | 341 | printk("\n" KERN_EMERG "%08x: ", (int) (tp + i)); |
342 | printk(KERN_EMERG "%08x ", (int) *sp++); | 342 | printk("%08x ", (int) *sp++); |
343 | } | 343 | } |
344 | printk(KERN_EMERG "\n\n"); | 344 | printk("\n" KERN_EMERG "\n"); |
345 | } | 345 | } |
346 | 346 | ||
347 | /* | 347 | /* |
diff --git a/arch/m68knommu/kernel/setup.c b/arch/m68knommu/kernel/setup.c index 7b21959eaeae..9cf2e4d1fc77 100644 --- a/arch/m68knommu/kernel/setup.c +++ b/arch/m68knommu/kernel/setup.c | |||
@@ -36,10 +36,7 @@ | |||
36 | #include <asm/setup.h> | 36 | #include <asm/setup.h> |
37 | #include <asm/irq.h> | 37 | #include <asm/irq.h> |
38 | #include <asm/machdep.h> | 38 | #include <asm/machdep.h> |
39 | |||
40 | #ifdef CONFIG_BLK_DEV_INITRD | ||
41 | #include <asm/pgtable.h> | 39 | #include <asm/pgtable.h> |
42 | #endif | ||
43 | 40 | ||
44 | unsigned long memory_start; | 41 | unsigned long memory_start; |
45 | unsigned long memory_end; | 42 | unsigned long memory_end; |
diff --git a/arch/m68knommu/kernel/sys_m68k.c b/arch/m68knommu/kernel/sys_m68k.c index c3494b8447d1..3265b2d734db 100644 --- a/arch/m68knommu/kernel/sys_m68k.c +++ b/arch/m68knommu/kernel/sys_m68k.c | |||
@@ -137,7 +137,7 @@ asmlinkage int old_select(struct sel_arg_struct *arg) | |||
137 | asmlinkage int sys_ipc (uint call, int first, int second, | 137 | asmlinkage int sys_ipc (uint call, int first, int second, |
138 | int third, void *ptr, long fifth) | 138 | int third, void *ptr, long fifth) |
139 | { | 139 | { |
140 | int version; | 140 | int version, ret; |
141 | 141 | ||
142 | version = call >> 16; /* hack for backward compatibility */ | 142 | version = call >> 16; /* hack for backward compatibility */ |
143 | call &= 0xffff; | 143 | call &= 0xffff; |
@@ -190,6 +190,27 @@ asmlinkage int sys_ipc (uint call, int first, int second, | |||
190 | default: | 190 | default: |
191 | return -EINVAL; | 191 | return -EINVAL; |
192 | } | 192 | } |
193 | if (call <= SHMCTL) | ||
194 | switch (call) { | ||
195 | case SHMAT: | ||
196 | switch (version) { | ||
197 | default: { | ||
198 | ulong raddr; | ||
199 | ret = do_shmat (first, ptr, second, &raddr); | ||
200 | if (ret) | ||
201 | return ret; | ||
202 | return put_user (raddr, (ulong __user *) third); | ||
203 | } | ||
204 | } | ||
205 | case SHMDT: | ||
206 | return sys_shmdt (ptr); | ||
207 | case SHMGET: | ||
208 | return sys_shmget (first, second, third); | ||
209 | case SHMCTL: | ||
210 | return sys_shmctl (first, second, ptr); | ||
211 | default: | ||
212 | return -ENOSYS; | ||
213 | } | ||
193 | 214 | ||
194 | return -EINVAL; | 215 | return -EINVAL; |
195 | } | 216 | } |
diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c index 17649d2543ef..9129b3a5258b 100644 --- a/arch/m68knommu/kernel/traps.c +++ b/arch/m68knommu/kernel/traps.c | |||
@@ -127,11 +127,12 @@ void show_stack(struct task_struct *task, unsigned long *stack) | |||
127 | if (stack + 1 > endstack) | 127 | if (stack + 1 > endstack) |
128 | break; | 128 | break; |
129 | if (i % 8 == 0) | 129 | if (i % 8 == 0) |
130 | printk(KERN_EMERG "\n "); | 130 | printk("\n" KERN_EMERG " "); |
131 | printk(KERN_EMERG " %08lx", *stack++); | 131 | printk(" %08lx", *stack++); |
132 | } | 132 | } |
133 | printk("\n"); | ||
133 | 134 | ||
134 | printk(KERN_EMERG "\nCall Trace:"); | 135 | printk(KERN_EMERG "Call Trace:"); |
135 | i = 0; | 136 | i = 0; |
136 | while (stack + 1 <= endstack) { | 137 | while (stack + 1 <= endstack) { |
137 | addr = *stack++; | 138 | addr = *stack++; |
@@ -146,12 +147,12 @@ void show_stack(struct task_struct *task, unsigned long *stack) | |||
146 | if (((addr >= (unsigned long) &_start) && | 147 | if (((addr >= (unsigned long) &_start) && |
147 | (addr <= (unsigned long) &_etext))) { | 148 | (addr <= (unsigned long) &_etext))) { |
148 | if (i % 4 == 0) | 149 | if (i % 4 == 0) |
149 | printk(KERN_EMERG "\n "); | 150 | printk("\n" KERN_EMERG " "); |
150 | printk(KERN_EMERG " [<%08lx>]", addr); | 151 | printk(" [<%08lx>]", addr); |
151 | i++; | 152 | i++; |
152 | } | 153 | } |
153 | } | 154 | } |
154 | printk(KERN_EMERG "\n"); | 155 | printk("\n"); |
155 | } | 156 | } |
156 | 157 | ||
157 | void bad_super_trap(struct frame *fp) | 158 | void bad_super_trap(struct frame *fp) |