diff options
Diffstat (limited to 'arch/m68knommu/kernel')
-rw-r--r-- | arch/m68knommu/kernel/setup.c | 25 | ||||
-rw-r--r-- | arch/m68knommu/kernel/traps.c | 20 | ||||
-rw-r--r-- | arch/m68knommu/kernel/vmlinux.lds.S | 23 |
3 files changed, 52 insertions, 16 deletions
diff --git a/arch/m68knommu/kernel/setup.c b/arch/m68knommu/kernel/setup.c index 557238596dcb..a220345e9746 100644 --- a/arch/m68knommu/kernel/setup.c +++ b/arch/m68knommu/kernel/setup.c | |||
@@ -6,7 +6,7 @@ | |||
6 | * Copyleft ()) 2000 James D. Schettine {james@telos-systems.com} | 6 | * Copyleft ()) 2000 James D. Schettine {james@telos-systems.com} |
7 | * Copyright (C) 1998 Kenneth Albanowski <kjahds@kjahds.com> | 7 | * Copyright (C) 1998 Kenneth Albanowski <kjahds@kjahds.com> |
8 | * Copyright (C) 1995 Hamish Macdonald | 8 | * Copyright (C) 1995 Hamish Macdonald |
9 | * Copyright (C) 2000 Lineo Inc. (www.lineo.com) | 9 | * Copyright (C) 2000 Lineo Inc. (www.lineo.com) |
10 | * Copyright (C) 2001 Lineo, Inc. <www.lineo.com> | 10 | * Copyright (C) 2001 Lineo, Inc. <www.lineo.com> |
11 | * | 11 | * |
12 | * 68VZ328 Fixes/support Evan Stawnyczy <e@lineo.ca> | 12 | * 68VZ328 Fixes/support Evan Stawnyczy <e@lineo.ca> |
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | #include <linux/fs.h> | 24 | #include <linux/fs.h> |
25 | #include <linux/fb.h> | 25 | #include <linux/fb.h> |
26 | #include <linux/module.h> | ||
26 | #include <linux/console.h> | 27 | #include <linux/console.h> |
27 | #include <linux/genhd.h> | 28 | #include <linux/genhd.h> |
28 | #include <linux/errno.h> | 29 | #include <linux/errno.h> |
@@ -45,6 +46,9 @@ unsigned long rom_length; | |||
45 | unsigned long memory_start; | 46 | unsigned long memory_start; |
46 | unsigned long memory_end; | 47 | unsigned long memory_end; |
47 | 48 | ||
49 | EXPORT_SYMBOL(memory_start); | ||
50 | EXPORT_SYMBOL(memory_end); | ||
51 | |||
48 | char command_line[COMMAND_LINE_SIZE]; | 52 | char command_line[COMMAND_LINE_SIZE]; |
49 | 53 | ||
50 | /* setup some dummy routines */ | 54 | /* setup some dummy routines */ |
@@ -103,15 +107,21 @@ void (*mach_power_off)( void ) = NULL; | |||
103 | #if defined(CONFIG_M5206e) | 107 | #if defined(CONFIG_M5206e) |
104 | #define CPU "COLDFIRE(m5206e)" | 108 | #define CPU "COLDFIRE(m5206e)" |
105 | #endif | 109 | #endif |
110 | #if defined(CONFIG_M523x) | ||
111 | #define CPU "COLDFIRE(m523x)" | ||
112 | #endif | ||
106 | #if defined(CONFIG_M5249) | 113 | #if defined(CONFIG_M5249) |
107 | #define CPU "COLDFIRE(m5249)" | 114 | #define CPU "COLDFIRE(m5249)" |
108 | #endif | 115 | #endif |
109 | #if defined(CONFIG_M527x) | 116 | #if defined(CONFIG_M5271) |
110 | #define CPU "COLDFIRE(m5270/5271/5274/5275)" | 117 | #define CPU "COLDFIRE(m5270/5271)" |
111 | #endif | 118 | #endif |
112 | #if defined(CONFIG_M5272) | 119 | #if defined(CONFIG_M5272) |
113 | #define CPU "COLDFIRE(m5272)" | 120 | #define CPU "COLDFIRE(m5272)" |
114 | #endif | 121 | #endif |
122 | #if defined(CONFIG_M5275) | ||
123 | #define CPU "COLDFIRE(m5274/5275)" | ||
124 | #endif | ||
115 | #if defined(CONFIG_M528x) | 125 | #if defined(CONFIG_M528x) |
116 | #define CPU "COLDFIRE(m5280/5282)" | 126 | #define CPU "COLDFIRE(m5280/5282)" |
117 | #endif | 127 | #endif |
@@ -152,7 +162,7 @@ void setup_arch(char **cmdline_p) | |||
152 | init_mm.start_code = (unsigned long) &_stext; | 162 | init_mm.start_code = (unsigned long) &_stext; |
153 | init_mm.end_code = (unsigned long) &_etext; | 163 | init_mm.end_code = (unsigned long) &_etext; |
154 | init_mm.end_data = (unsigned long) &_edata; | 164 | init_mm.end_data = (unsigned long) &_edata; |
155 | init_mm.brk = (unsigned long) 0; | 165 | init_mm.brk = (unsigned long) 0; |
156 | 166 | ||
157 | config_BSP(&command_line[0], sizeof(command_line)); | 167 | config_BSP(&command_line[0], sizeof(command_line)); |
158 | 168 | ||
@@ -171,7 +181,7 @@ void setup_arch(char **cmdline_p) | |||
171 | #endif | 181 | #endif |
172 | #ifdef CONFIG_ELITE | 182 | #ifdef CONFIG_ELITE |
173 | printk(KERN_INFO "Modified for M5206eLITE by Rob Scott, rscott@mtrob.fdns.net\n"); | 183 | printk(KERN_INFO "Modified for M5206eLITE by Rob Scott, rscott@mtrob.fdns.net\n"); |
174 | #endif | 184 | #endif |
175 | #ifdef CONFIG_TELOS | 185 | #ifdef CONFIG_TELOS |
176 | printk(KERN_INFO "Modified for Omnia ToolVox by James D. Schettine, james@telos-systems.com\n"); | 186 | printk(KERN_INFO "Modified for Omnia ToolVox by James D. Schettine, james@telos-systems.com\n"); |
177 | #endif | 187 | #endif |
@@ -200,6 +210,9 @@ void setup_arch(char **cmdline_p) | |||
200 | #ifdef CONFIG_DRAGEN2 | 210 | #ifdef CONFIG_DRAGEN2 |
201 | printk(KERN_INFO "DragonEngine II board support by Georges Menie\n"); | 211 | printk(KERN_INFO "DragonEngine II board support by Georges Menie\n"); |
202 | #endif | 212 | #endif |
213 | #ifdef CONFIG_M5235EVB | ||
214 | printk(KERN_INFO "Motorola M5235EVB support (C)2005 Syn-tech Systems, Inc. (Jate Sujjavanich)"); | ||
215 | #endif | ||
203 | 216 | ||
204 | #ifdef DEBUG | 217 | #ifdef DEBUG |
205 | printk(KERN_DEBUG "KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " | 218 | printk(KERN_DEBUG "KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " |
@@ -223,7 +236,7 @@ void setup_arch(char **cmdline_p) | |||
223 | saved_command_line[COMMAND_LINE_SIZE-1] = 0; | 236 | saved_command_line[COMMAND_LINE_SIZE-1] = 0; |
224 | 237 | ||
225 | #ifdef DEBUG | 238 | #ifdef DEBUG |
226 | if (strlen(*cmdline_p)) | 239 | if (strlen(*cmdline_p)) |
227 | printk(KERN_DEBUG "Command line: '%s'\n", *cmdline_p); | 240 | printk(KERN_DEBUG "Command line: '%s'\n", *cmdline_p); |
228 | #endif | 241 | #endif |
229 | 242 | ||
diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c index ad7dc6347f19..5bc068462864 100644 --- a/arch/m68knommu/kernel/traps.c +++ b/arch/m68knommu/kernel/traps.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/signal.h> | 21 | #include <linux/signal.h> |
22 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/module.h> | ||
24 | #include <linux/types.h> | 25 | #include <linux/types.h> |
25 | #include <linux/a.out.h> | 26 | #include <linux/a.out.h> |
26 | #include <linux/user.h> | 27 | #include <linux/user.h> |
@@ -38,7 +39,7 @@ | |||
38 | #include <asm/machdep.h> | 39 | #include <asm/machdep.h> |
39 | #include <asm/siginfo.h> | 40 | #include <asm/siginfo.h> |
40 | 41 | ||
41 | static char *vec_names[] = { | 42 | static char const * const vec_names[] = { |
42 | "RESET SP", "RESET PC", "BUS ERROR", "ADDRESS ERROR", | 43 | "RESET SP", "RESET PC", "BUS ERROR", "ADDRESS ERROR", |
43 | "ILLEGAL INSTRUCTION", "ZERO DIVIDE", "CHK", "TRAPcc", | 44 | "ILLEGAL INSTRUCTION", "ZERO DIVIDE", "CHK", "TRAPcc", |
44 | "PRIVILEGE VIOLATION", "TRACE", "LINE 1010", "LINE 1111", | 45 | "PRIVILEGE VIOLATION", "TRACE", "LINE 1010", "LINE 1111", |
@@ -106,17 +107,20 @@ asmlinkage void buserr_c(struct frame *fp) | |||
106 | 107 | ||
107 | int kstack_depth_to_print = 48; | 108 | int kstack_depth_to_print = 48; |
108 | 109 | ||
109 | void show_stack(struct task_struct *task, unsigned long *esp) | 110 | void show_stack(struct task_struct *task, unsigned long *stack) |
110 | { | 111 | { |
111 | unsigned long *stack, *endstack, addr; | 112 | unsigned long *endstack, addr; |
112 | extern char _start, _etext; | 113 | extern char _start, _etext; |
113 | int i; | 114 | int i; |
114 | 115 | ||
115 | if (esp == NULL) | 116 | if (!stack) { |
116 | esp = (unsigned long *) &esp; | 117 | if (task) |
118 | stack = (unsigned long *)task->thread.ksp; | ||
119 | else | ||
120 | stack = (unsigned long *)&stack; | ||
121 | } | ||
117 | 122 | ||
118 | stack = esp; | 123 | addr = (unsigned long) stack; |
119 | addr = (unsigned long) esp; | ||
120 | endstack = (unsigned long *) PAGE_ALIGN(addr); | 124 | endstack = (unsigned long *) PAGE_ALIGN(addr); |
121 | 125 | ||
122 | printk(KERN_EMERG "Stack from %08lx:", (unsigned long)stack); | 126 | printk(KERN_EMERG "Stack from %08lx:", (unsigned long)stack); |
@@ -306,6 +310,8 @@ void dump_stack(void) | |||
306 | show_stack(current, &stack); | 310 | show_stack(current, &stack); |
307 | } | 311 | } |
308 | 312 | ||
313 | EXPORT_SYMBOL(dump_stack); | ||
314 | |||
309 | #ifdef CONFIG_M68KFPU_EMU | 315 | #ifdef CONFIG_M68KFPU_EMU |
310 | asmlinkage void fpemu_signal(int signal, int code, void *addr) | 316 | asmlinkage void fpemu_signal(int signal, int code, void *addr) |
311 | { | 317 | { |
diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S index 31cb12892da5..47f06787190d 100644 --- a/arch/m68knommu/kernel/vmlinux.lds.S +++ b/arch/m68knommu/kernel/vmlinux.lds.S | |||
@@ -107,7 +107,7 @@ | |||
107 | */ | 107 | */ |
108 | #if defined(CONFIG_ELITE) | 108 | #if defined(CONFIG_ELITE) |
109 | #define RAM_START 0x30020000 | 109 | #define RAM_START 0x30020000 |
110 | #define RAM_END 0xe0000 | 110 | #define RAM_LENGTH 0xe0000 |
111 | #endif | 111 | #endif |
112 | 112 | ||
113 | /* | 113 | /* |
@@ -118,7 +118,8 @@ | |||
118 | #if defined(CONFIG_M5206eC3) || defined(CONFIG_M5249C3) || \ | 118 | #if defined(CONFIG_M5206eC3) || defined(CONFIG_M5249C3) || \ |
119 | defined(CONFIG_M5272C3) || defined(CONFIG_M5307C3) || \ | 119 | defined(CONFIG_M5272C3) || defined(CONFIG_M5307C3) || \ |
120 | defined(CONFIG_ARN5307) || defined(CONFIG_M5407C3) || \ | 120 | defined(CONFIG_ARN5307) || defined(CONFIG_M5407C3) || \ |
121 | defined(CONFIG_M5271EVB) || defined(CONFIG_M5275EVB) | 121 | defined(CONFIG_M5271EVB) || defined(CONFIG_M5275EVB) || \ |
122 | defined(CONFIG_M5235EVB) | ||
122 | #define RAM_START 0x20000 | 123 | #define RAM_START 0x20000 |
123 | #define RAM_LENGTH 0x3e0000 | 124 | #define RAM_LENGTH 0x3e0000 |
124 | #endif | 125 | #endif |
@@ -145,6 +146,16 @@ | |||
145 | #define RAM_LENGTH 0x3f0000 | 146 | #define RAM_LENGTH 0x3f0000 |
146 | #endif | 147 | #endif |
147 | 148 | ||
149 | |||
150 | /* | ||
151 | * The EMAC SoM-5282EM module. | ||
152 | */ | ||
153 | #if defined(CONFIG_SOM5282EM) | ||
154 | #define RAM_START 0x10000 | ||
155 | #define RAM_LENGTH 0xff0000 | ||
156 | #endif | ||
157 | |||
158 | |||
148 | /* | 159 | /* |
149 | * These flash boot boards use all of ram for operation. Again the | 160 | * These flash boot boards use all of ram for operation. Again the |
150 | * actual memory size is not important here, assume at least 4MiB. | 161 | * actual memory size is not important here, assume at least 4MiB. |
@@ -158,7 +169,7 @@ | |||
158 | #endif | 169 | #endif |
159 | 170 | ||
160 | /* | 171 | /* |
161 | * Sneha Boards mimimun memmory | 172 | * Sneha Boards mimimun memory |
162 | * The end of RAM will vary depending on how much ram is fitted, | 173 | * The end of RAM will vary depending on how much ram is fitted, |
163 | * but this isn't important here, we assume at least 4MiB. | 174 | * but this isn't important here, we assume at least 4MiB. |
164 | */ | 175 | */ |
@@ -167,6 +178,12 @@ | |||
167 | #define RAM_LENGTH 0x3e0000 | 178 | #define RAM_LENGTH 0x3e0000 |
168 | #endif | 179 | #endif |
169 | 180 | ||
181 | #if defined(CONFIG_MOD5272) | ||
182 | #define RAM_START 0x02000000 | ||
183 | #define RAM_LENGTH 0x00800000 | ||
184 | #define RAMVEC_START 0x20000000 | ||
185 | #define RAMVEC_LENGTH 0x00000400 | ||
186 | #endif | ||
170 | 187 | ||
171 | #if defined(CONFIG_RAMKERNEL) | 188 | #if defined(CONFIG_RAMKERNEL) |
172 | #define TEXT ram | 189 | #define TEXT ram |