aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/setup.c')
-rw-r--r--arch/mips/kernel/setup.c46
1 files changed, 16 insertions, 30 deletions
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 12b531c295c4..d86affa21278 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -37,12 +37,13 @@
37 37
38#include <asm/addrspace.h> 38#include <asm/addrspace.h>
39#include <asm/bootinfo.h> 39#include <asm/bootinfo.h>
40#include <asm/cache.h>
40#include <asm/cpu.h> 41#include <asm/cpu.h>
41#include <asm/sections.h> 42#include <asm/sections.h>
42#include <asm/setup.h> 43#include <asm/setup.h>
43#include <asm/system.h> 44#include <asm/system.h>
44 45
45struct cpuinfo_mips cpu_data[NR_CPUS]; 46struct cpuinfo_mips cpu_data[NR_CPUS] __read_mostly;
46 47
47EXPORT_SYMBOL(cpu_data); 48EXPORT_SYMBOL(cpu_data);
48 49
@@ -62,8 +63,8 @@ EXPORT_SYMBOL(PCI_DMA_BUS_IS_PHYS);
62 * 63 *
63 * These are initialized so they are in the .data section 64 * These are initialized so they are in the .data section
64 */ 65 */
65unsigned long mips_machtype = MACH_UNKNOWN; 66unsigned long mips_machtype __read_mostly = MACH_UNKNOWN;
66unsigned long mips_machgroup = MACH_GROUP_UNKNOWN; 67unsigned long mips_machgroup __read_mostly = MACH_GROUP_UNKNOWN;
67 68
68EXPORT_SYMBOL(mips_machtype); 69EXPORT_SYMBOL(mips_machtype);
69EXPORT_SYMBOL(mips_machgroup); 70EXPORT_SYMBOL(mips_machgroup);
@@ -77,7 +78,7 @@ static char command_line[CL_SIZE];
77 * mips_io_port_base is the begin of the address space to which x86 style 78 * mips_io_port_base is the begin of the address space to which x86 style
78 * I/O ports are mapped. 79 * I/O ports are mapped.
79 */ 80 */
80const unsigned long mips_io_port_base = -1; 81const unsigned long mips_io_port_base __read_mostly = -1;
81EXPORT_SYMBOL(mips_io_port_base); 82EXPORT_SYMBOL(mips_io_port_base);
82 83
83/* 84/*
@@ -510,31 +511,7 @@ static inline void resource_init(void)
510#undef MAXMEM 511#undef MAXMEM
511#undef MAXMEM_PFN 512#undef MAXMEM_PFN
512 513
513static int __initdata earlyinit_debug; 514extern void plat_setup(void);
514
515static int __init earlyinit_debug_setup(char *str)
516{
517 earlyinit_debug = 1;
518 return 1;
519}
520__setup("earlyinit_debug", earlyinit_debug_setup);
521
522extern initcall_t __earlyinitcall_start, __earlyinitcall_end;
523
524static void __init do_earlyinitcalls(void)
525{
526 initcall_t *call, *start, *end;
527
528 start = &__earlyinitcall_start;
529 end = &__earlyinitcall_end;
530
531 for (call = start; call < end; call++) {
532 if (earlyinit_debug)
533 printk("calling earlyinitcall 0x%p\n", *call);
534
535 (*call)();
536 }
537}
538 515
539void __init setup_arch(char **cmdline_p) 516void __init setup_arch(char **cmdline_p)
540{ 517{
@@ -551,7 +528,7 @@ void __init setup_arch(char **cmdline_p)
551#endif 528#endif
552 529
553 /* call board setup routine */ 530 /* call board setup routine */
554 do_earlyinitcalls(); 531 plat_setup();
555 532
556 strlcpy(command_line, arcs_cmdline, sizeof(command_line)); 533 strlcpy(command_line, arcs_cmdline, sizeof(command_line));
557 strlcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); 534 strlcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
@@ -573,3 +550,12 @@ int __init fpu_disable(char *s)
573} 550}
574 551
575__setup("nofpu", fpu_disable); 552__setup("nofpu", fpu_disable);
553
554int __init dsp_disable(char *s)
555{
556 cpu_data[0].ases &= ~MIPS_ASE_DSP;
557
558 return 1;
559}
560
561__setup("nodsp", dsp_disable);