11 #include <linux/errno.h>
12 #include <linux/sched.h>
13 #include <linux/kernel.h>
15 #include <linux/stddef.h>
17 #include <linux/ptrace.h>
19 #include <linux/tty.h>
26 #include <asm/processor.h>
28 #include <asm/uaccess.h>
29 #include <asm/setup.h>
32 #include <proc/proc.h>
34 #include <asm/sections.h>
42 "console=ttyS0,115200 root=/dev/mtdblock3 rw";
46 static struct resource code_resource = {
49 .name =
"Kernel code",
52 static struct resource data_resource = {
55 .name =
"Kernel data",
58 static unsigned long __initdata phys_memory_base;
59 static unsigned long __initdata phys_memory_end;
66 #define mn10300_known_cpus 5
67 static const char *
const mn10300_cputypes[] = {
79 static void __init parse_mem_cmdline(
char **cmdline_p)
92 if (c ==
' ' && !
memcmp(from,
"mem=", 4)) {
109 panic(
"Memory size not known\n");
122 unsigned long bootmap_size;
123 unsigned long kstart_pfn, start_pfn, free_pfn, end_pfn;
128 parse_mem_cmdline(cmdline_p);
140 start_pfn = (CONFIG_KERNEL_RAM_BASE_ADDRESS >>
PAGE_SHIFT);
150 if (kstart_pfn > start_pfn)
159 if (CONFIG_INTERRUPT_VECTOR_BASE >= CONFIG_KERNEL_RAM_BASE_ADDRESS &&
168 #if defined(CONFIG_VGA_CONSOLE)
170 #elif defined(CONFIG_DUMMY_CONSOLE)
183 unsigned long cpurev = CPUREV,
type;
185 type = (CPUREV & CPUREV_TYPE) >> CPUREV_TYPE_S;
190 mn10300_cputypes[type],
191 (cpurev & CPUREV_REVISION) >> CPUREV_REVISION_S);
201 static int __init topology_init(
void)
221 unsigned long cpurev = c->
type,
type, icachesz, dcachesz;
223 unsigned long cpu_id = 0;
224 unsigned long cpurev = CPUREV,
type, icachesz, dcachesz;
232 type = (cpurev & CPUREV_TYPE) >> CPUREV_TYPE_S;
237 ((cpurev & CPUREV_ICWAY ) >> CPUREV_ICWAY_S) *
238 ((cpurev & CPUREV_ICSIZE) >> CPUREV_ICSIZE_S) *
242 ((cpurev & CPUREV_DCWAY ) >> CPUREV_DCWAY_S) *
243 ((cpurev & CPUREV_DCSIZE) >> CPUREV_DCSIZE_S) *
253 "dcache size: %lu\n",
255 mn10300_cputypes[type],
256 (cpurev & CPUREV_REVISION) >> CPUREV_REVISION_S,
262 "ioclk speed: %lu.%02luMHz\n"
263 "bogomips : %lu.%02lu\n\n",
283 static void *c_next(
struct seq_file *m,
void *v, loff_t *
pos)
289 static void c_stop(
struct seq_file *m,
void *v)