diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 18:23:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 18:23:54 -0400 |
commit | 6969a434737dd82f7343e3fcd529bc320508d9fc (patch) | |
tree | 13d9982aa8fc5f5448ea678de2f1850d63802e79 /arch/mips/kernel/cpu-probe.c | |
parent | 0fc377bd648d1935ea34665239e3f0a274b71698 (diff) | |
parent | 0453fb3c528c5eb3483441a466b24a4cb409eec5 (diff) |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (25 commits)
MIPS: Use GCC __builtin_prefetch() to implement prefetch().
MIPS: Octeon: Serial port fixes for OCTEON simulator.
MIPS: Octeon: Get rid of early serial.
MIPS: AR7: prevent race between clock initialization and devices registration
MIPS: AR7: use ar7_has_high_vlynq() to determine watchdog base address
MIPS: BCM63xx: Avoid namespace clash on GPIO_DIR_{IN,OUT}
MIPS: MTX-1: Update defconfig
MIPS: BCM47xx: Update defconfig
MIPS: RB532: Update defconfig
MIPS: AR7: Update defconfig
RTC: rtc-cmos: Fix binary mode support
MIPS: Oprofile: Loongson: Cleanup the comments
MIPS: Oprofile: Loongson: Cleanup of the macros
MIPS: Oprofile: Loongson: Remove unused variable from loongson2_cpu_setup()
MIPS: Oprofile: Loongson: Remove useless parentheses
MIPS: Oprofile: Loongson: Unify macro for setting events
MIPS: nofpu and nodsp only affect CPU0
MIPS: Clean up tables for bootmem allocation
MIPS: Coding style cleanups of access of FCSR rounding mode bits
MIPS: Loongson 2F: Add gpio/gpioilb support
...
Diffstat (limited to 'arch/mips/kernel/cpu-probe.c')
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index be5bb16be4e0..3562b854f2cd 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -125,6 +125,30 @@ static int __init wait_disable(char *s) | |||
125 | 125 | ||
126 | __setup("nowait", wait_disable); | 126 | __setup("nowait", wait_disable); |
127 | 127 | ||
128 | static int __cpuinitdata mips_fpu_disabled; | ||
129 | |||
130 | static int __init fpu_disable(char *s) | ||
131 | { | ||
132 | cpu_data[0].options &= ~MIPS_CPU_FPU; | ||
133 | mips_fpu_disabled = 1; | ||
134 | |||
135 | return 1; | ||
136 | } | ||
137 | |||
138 | __setup("nofpu", fpu_disable); | ||
139 | |||
140 | int __cpuinitdata mips_dsp_disabled; | ||
141 | |||
142 | static int __init dsp_disable(char *s) | ||
143 | { | ||
144 | cpu_data[0].ases &= ~MIPS_ASE_DSP; | ||
145 | mips_dsp_disabled = 1; | ||
146 | |||
147 | return 1; | ||
148 | } | ||
149 | |||
150 | __setup("nodsp", dsp_disable); | ||
151 | |||
128 | void __init check_wait(void) | 152 | void __init check_wait(void) |
129 | { | 153 | { |
130 | struct cpuinfo_mips *c = ¤t_cpu_data; | 154 | struct cpuinfo_mips *c = ¤t_cpu_data; |
@@ -982,6 +1006,12 @@ __cpuinit void cpu_probe(void) | |||
982 | */ | 1006 | */ |
983 | BUG_ON(current_cpu_type() != c->cputype); | 1007 | BUG_ON(current_cpu_type() != c->cputype); |
984 | 1008 | ||
1009 | if (mips_fpu_disabled) | ||
1010 | c->options &= ~MIPS_CPU_FPU; | ||
1011 | |||
1012 | if (mips_dsp_disabled) | ||
1013 | c->ases &= ~MIPS_ASE_DSP; | ||
1014 | |||
985 | if (c->options & MIPS_CPU_FPU) { | 1015 | if (c->options & MIPS_CPU_FPU) { |
986 | c->fpu_id = cpu_get_fpu_id(); | 1016 | c->fpu_id = cpu_get_fpu_id(); |
987 | 1017 | ||