aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/traps.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/traps.c')
-rw-r--r--arch/mips/kernel/traps.c16
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
1070static void mips_srs_init(void) 1069static 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
1201static 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