diff options
| author | Paul Mackerras <paulus@samba.org> | 2007-05-07 23:37:51 -0400 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2007-05-07 23:37:51 -0400 |
| commit | 02bbc0f09c90cefdb2837605c96a66c5ce4ba2e1 (patch) | |
| tree | 04ef573cd4de095c500c9fc3477f4278c0b36300 /arch/sh/kernel/cpu/init.c | |
| parent | 7487a2245b8841c77ba9db406cf99a483b9334e9 (diff) | |
| parent | 5b94f675f57e4ff16c8fda09088d7480a84dcd91 (diff) | |
Merge branch 'linux-2.6'
Diffstat (limited to 'arch/sh/kernel/cpu/init.c')
| -rw-r--r-- | arch/sh/kernel/cpu/init.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/init.c b/arch/sh/kernel/cpu/init.c index 726acfcb9b77..6451ad630174 100644 --- a/arch/sh/kernel/cpu/init.c +++ b/arch/sh/kernel/cpu/init.c | |||
| @@ -41,6 +41,23 @@ __setup("no" __stringify(x), x##_setup); | |||
| 41 | onchip_setup(fpu); | 41 | onchip_setup(fpu); |
| 42 | onchip_setup(dsp); | 42 | onchip_setup(dsp); |
| 43 | 43 | ||
| 44 | #ifdef CONFIG_SPECULATIVE_EXECUTION | ||
| 45 | #define CPUOPM 0xff2f0000 | ||
| 46 | #define CPUOPM_RABD (1 << 5) | ||
| 47 | |||
| 48 | static void __init speculative_execution_init(void) | ||
| 49 | { | ||
| 50 | /* Clear RABD */ | ||
| 51 | ctrl_outl(ctrl_inl(CPUOPM) & ~CPUOPM_RABD, CPUOPM); | ||
| 52 | |||
| 53 | /* Flush the update */ | ||
| 54 | (void)ctrl_inl(CPUOPM); | ||
| 55 | ctrl_barrier(); | ||
| 56 | } | ||
| 57 | #else | ||
| 58 | #define speculative_execution_init() do { } while (0) | ||
| 59 | #endif | ||
| 60 | |||
| 44 | /* | 61 | /* |
| 45 | * Generic first-level cache init | 62 | * Generic first-level cache init |
| 46 | */ | 63 | */ |
| @@ -261,4 +278,6 @@ asmlinkage void __init sh_cpu_init(void) | |||
| 261 | */ | 278 | */ |
| 262 | ubc_wakeup(); | 279 | ubc_wakeup(); |
| 263 | #endif | 280 | #endif |
| 281 | |||
| 282 | speculative_execution_init(); | ||
| 264 | } | 283 | } |
