X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fm68k%2Fkernel%2Fsetup.c;h=d6ca99242e5aa14a885182add91366b6d0e1448d;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1d2563e115e4e3e216c358c7810f1d911f338611;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/m68k/kernel/setup.c b/arch/m68k/kernel/setup.c index 1d2563e11..d6ca99242 100644 --- a/arch/m68k/kernel/setup.c +++ b/arch/m68k/kernel/setup.c @@ -109,6 +109,7 @@ extern int q40_parse_bootinfo(const struct bi_record *); extern int bvme6000_parse_bootinfo(const struct bi_record *); extern int mvme16x_parse_bootinfo(const struct bi_record *); extern int mvme147_parse_bootinfo(const struct bi_record *); +extern int hp300_parse_bootinfo(const struct bi_record *); extern void config_amiga(void); extern void config_atari(void); @@ -175,6 +176,8 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record) unknown = mvme16x_parse_bootinfo(record); else if (MACH_IS_MVME147) unknown = mvme147_parse_bootinfo(record); + else if (MACH_IS_HP300) + unknown = hp300_parse_bootinfo(record); else unknown = 1; } @@ -204,20 +207,8 @@ void __init setup_arch(char **cmdline_p) int i; char *p, *q; - if (!MACH_IS_HP300) { - /* The bootinfo is located right after the kernel bss */ - m68k_parse_bootinfo((const struct bi_record *)&_end); - } else { - /* FIXME HP300 doesn't use bootinfo yet */ - extern unsigned long hp300_phys_ram_base; - unsigned long hp300_mem_size = 0xffffffff-hp300_phys_ram_base; - m68k_cputype = CPU_68030; - m68k_fputype = FPU_68882; - m68k_memory[0].addr = hp300_phys_ram_base; - /* 0.5M fudge factor */ - m68k_memory[0].size = hp300_mem_size-512*1024; - m68k_num_memory++; - } + /* The bootinfo is located right after the kernel bss */ + m68k_parse_bootinfo((const struct bi_record *)&_end); if (CPU_IS_040) m68k_is040or060 = 4; @@ -352,7 +343,7 @@ void __init setup_arch(char **cmdline_p) #ifndef CONFIG_SUN3 startmem= m68k_memory[0].addr; endmem = startmem + m68k_memory[0].size; - high_memory = PAGE_OFFSET; + high_memory = (void *)PAGE_OFFSET; for (i = 0; i < m68k_num_memory; i++) { m68k_memory[i].size &= MASK_256K; if (m68k_memory[i].addr < startmem) @@ -550,7 +541,5 @@ void check_bugs(void) "emulation project\n" ); panic( "no FPU" ); } - -#endif /* CONFIG_SUN3 */ - +#endif /* !CONFIG_M68KFPU_EMU */ }