diff options
author | Leonid Yegoshin <Leonid.Yegoshin@imgtec.com> | 2014-11-14 06:25:30 -0500 |
---|---|---|
committer | Markos Chandras <markos.chandras@imgtec.com> | 2015-02-17 10:37:27 -0500 |
commit | 9c7d5768681193b3bb9f00409d689141d20d5bff (patch) | |
tree | 630149aaf406e52be62713b0839ead9ad1391aac /arch | |
parent | 515a6393dbac4f4492237c7b305bbf9c4c558a1c (diff) |
MIPS: kernel: traps: Add MIPS R6 related definitions
Add MIPS R6 support to cache and ftlb exceptions, as well as
to the hwrena and ebase register configuration.
Signed-off-by: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/kernel/traps.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 461653ea28c8..6e9d8505e128 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -1649,7 +1649,7 @@ asmlinkage void cache_parity_error(void) | |||
1649 | printk("Decoded c0_cacheerr: %s cache fault in %s reference.\n", | 1649 | printk("Decoded c0_cacheerr: %s cache fault in %s reference.\n", |
1650 | reg_val & (1<<30) ? "secondary" : "primary", | 1650 | reg_val & (1<<30) ? "secondary" : "primary", |
1651 | reg_val & (1<<31) ? "data" : "insn"); | 1651 | reg_val & (1<<31) ? "data" : "insn"); |
1652 | if (cpu_has_mips_r2 && | 1652 | if ((cpu_has_mips_r2_r6) && |
1653 | ((current_cpu_data.processor_id & 0xff0000) == PRID_COMP_MIPS)) { | 1653 | ((current_cpu_data.processor_id & 0xff0000) == PRID_COMP_MIPS)) { |
1654 | pr_err("Error bits: %s%s%s%s%s%s%s%s\n", | 1654 | pr_err("Error bits: %s%s%s%s%s%s%s%s\n", |
1655 | reg_val & (1<<29) ? "ED " : "", | 1655 | reg_val & (1<<29) ? "ED " : "", |
@@ -1689,7 +1689,7 @@ asmlinkage void do_ftlb(void) | |||
1689 | unsigned int reg_val; | 1689 | unsigned int reg_val; |
1690 | 1690 | ||
1691 | /* For the moment, report the problem and hang. */ | 1691 | /* For the moment, report the problem and hang. */ |
1692 | if (cpu_has_mips_r2 && | 1692 | if ((cpu_has_mips_r2_r6) && |
1693 | ((current_cpu_data.processor_id & 0xff0000) == PRID_COMP_MIPS)) { | 1693 | ((current_cpu_data.processor_id & 0xff0000) == PRID_COMP_MIPS)) { |
1694 | pr_err("FTLB error exception, cp0_ecc=0x%08x:\n", | 1694 | pr_err("FTLB error exception, cp0_ecc=0x%08x:\n", |
1695 | read_c0_ecc()); | 1695 | read_c0_ecc()); |
@@ -1978,7 +1978,7 @@ static void configure_hwrena(void) | |||
1978 | { | 1978 | { |
1979 | unsigned int hwrena = cpu_hwrena_impl_bits; | 1979 | unsigned int hwrena = cpu_hwrena_impl_bits; |
1980 | 1980 | ||
1981 | if (cpu_has_mips_r2) | 1981 | if (cpu_has_mips_r2_r6) |
1982 | hwrena |= 0x0000000f; | 1982 | hwrena |= 0x0000000f; |
1983 | 1983 | ||
1984 | if (!noulri && cpu_has_userlocal) | 1984 | if (!noulri && cpu_has_userlocal) |
@@ -2022,7 +2022,7 @@ void per_cpu_trap_init(bool is_boot_cpu) | |||
2022 | * o read IntCtl.IPTI to determine the timer interrupt | 2022 | * o read IntCtl.IPTI to determine the timer interrupt |
2023 | * o read IntCtl.IPPCI to determine the performance counter interrupt | 2023 | * o read IntCtl.IPPCI to determine the performance counter interrupt |
2024 | */ | 2024 | */ |
2025 | if (cpu_has_mips_r2) { | 2025 | if (cpu_has_mips_r2_r6) { |
2026 | cp0_compare_irq_shift = CAUSEB_TI - CAUSEB_IP; | 2026 | cp0_compare_irq_shift = CAUSEB_TI - CAUSEB_IP; |
2027 | cp0_compare_irq = (read_c0_intctl() >> INTCTLB_IPTI) & 7; | 2027 | cp0_compare_irq = (read_c0_intctl() >> INTCTLB_IPTI) & 7; |
2028 | cp0_perfcount_irq = (read_c0_intctl() >> INTCTLB_IPPCI) & 7; | 2028 | cp0_perfcount_irq = (read_c0_intctl() >> INTCTLB_IPPCI) & 7; |
@@ -2113,7 +2113,7 @@ void __init trap_init(void) | |||
2113 | #else | 2113 | #else |
2114 | ebase = CKSEG0; | 2114 | ebase = CKSEG0; |
2115 | #endif | 2115 | #endif |
2116 | if (cpu_has_mips_r2) | 2116 | if (cpu_has_mips_r2_r6) |
2117 | ebase += (read_c0_ebase() & 0x3ffff000); | 2117 | ebase += (read_c0_ebase() & 0x3ffff000); |
2118 | } | 2118 | } |
2119 | 2119 | ||