diff options
Diffstat (limited to 'arch/mips/kernel/traps.c')
| -rw-r--r-- | arch/mips/kernel/traps.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index ad16eceb24dd..8b95eca9ac74 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
| @@ -11,7 +11,6 @@ | |||
| 11 | * Copyright (C) 2000, 01 MIPS Technologies, Inc. | 11 | * Copyright (C) 2000, 01 MIPS Technologies, Inc. |
| 12 | * Copyright (C) 2002, 2003, 2004, 2005 Maciej W. Rozycki | 12 | * Copyright (C) 2002, 2003, 2004, 2005 Maciej W. Rozycki |
| 13 | */ | 13 | */ |
| 14 | #include <linux/config.h> | ||
| 15 | #include <linux/init.h> | 14 | #include <linux/init.h> |
| 16 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
| 17 | #include <linux/module.h> | 16 | #include <linux/module.h> |
| @@ -1050,7 +1049,7 @@ void *set_except_vector(int n, void *addr) | |||
| 1050 | return (void *)old_handler; | 1049 | return (void *)old_handler; |
| 1051 | } | 1050 | } |
| 1052 | 1051 | ||
| 1053 | #ifdef CONFIG_CPU_MIPSR2 | 1052 | #ifdef CONFIG_CPU_MIPSR2_SRS |
| 1054 | /* | 1053 | /* |
| 1055 | * MIPSR2 shadow register set allocation | 1054 | * MIPSR2 shadow register set allocation |
| 1056 | * FIXME: SMP... | 1055 | * FIXME: SMP... |
| @@ -1069,11 +1068,9 @@ static struct shadow_registers { | |||
| 1069 | 1068 | ||
| 1070 | static void mips_srs_init(void) | 1069 | static void mips_srs_init(void) |
| 1071 | { | 1070 | { |
| 1072 | #ifdef CONFIG_CPU_MIPSR2_SRS | ||
| 1073 | shadow_registers.sr_supported = ((read_c0_srsctl() >> 26) & 0x0f) + 1; | 1071 | shadow_registers.sr_supported = ((read_c0_srsctl() >> 26) & 0x0f) + 1; |
| 1074 | printk(KERN_INFO "%d MIPSR2 register sets available\n", | 1072 | printk(KERN_INFO "%d MIPSR2 register sets available\n", |
| 1075 | shadow_registers.sr_supported); | 1073 | shadow_registers.sr_supported); |
| 1076 | #endif | ||
| 1077 | shadow_registers.sr_allocated = 1; /* Set 0 used by kernel */ | 1074 | shadow_registers.sr_allocated = 1; /* Set 0 used by kernel */ |
| 1078 | } | 1075 | } |
| 1079 | 1076 | ||
| @@ -1198,7 +1195,14 @@ void *set_vi_handler(int n, void *addr) | |||
| 1198 | { | 1195 | { |
| 1199 | return set_vi_srs_handler(n, addr, 0); | 1196 | return set_vi_srs_handler(n, addr, 0); |
| 1200 | } | 1197 | } |
| 1201 | #endif | 1198 | |
| 1199 | #else | ||
| 1200 | |||
| 1201 | static inline void mips_srs_init(void) | ||
| 1202 | { | ||
| 1203 | } | ||
| 1204 | |||
| 1205 | #endif /* CONFIG_CPU_MIPSR2_SRS */ | ||
| 1202 | 1206 | ||
| 1203 | /* | 1207 | /* |
| 1204 | * This is used by native signal handling | 1208 | * This is used by native signal handling |
| @@ -1388,9 +1392,7 @@ void __init trap_init(void) | |||
| 1388 | else | 1392 | else |
| 1389 | ebase = CAC_BASE; | 1393 | ebase = CAC_BASE; |
| 1390 | 1394 | ||
| 1391 | #ifdef CONFIG_CPU_MIPSR2 | ||
| 1392 | mips_srs_init(); | 1395 | mips_srs_init(); |
| 1393 | #endif | ||
| 1394 | 1396 | ||
| 1395 | per_cpu_trap_init(); | 1397 | per_cpu_trap_init(); |
| 1396 | 1398 | ||
