1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- From 937b12306ea79044c86f2e69b3061c7279245825 Mon Sep 17 00:00:00 2001
- From: Lucas Stach <l.stach@pengutronix.de>
- Date: Thu, 15 Oct 2015 12:32:22 +0200
- Subject: [PATCH] ARM: BCM5301X: remove workaround imprecise abort fault
- handler
- This is not needed anymore. Handling a potentially pending imprecise external
- abort left behind by the bootloader is now done in a slightly safer way inside
- the common ARM startup code.
- Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
- Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
- Tested-by: Tyler Baker <tyler.baker@linaro.org>
- Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
- ---
- arch/arm/mach-bcm/bcm_5301x.c | 35 -----------------------------------
- 1 file changed, 35 deletions(-)
- --- a/arch/arm/mach-bcm/bcm_5301x.c
- +++ b/arch/arm/mach-bcm/bcm_5301x.c
- @@ -9,40 +9,6 @@
- #include <asm/hardware/cache-l2x0.h>
-
- #include <asm/mach/arch.h>
- -#include <asm/siginfo.h>
- -#include <asm/signal.h>
- -
- -
- -static bool first_fault = true;
- -
- -static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr,
- - struct pt_regs *regs)
- -{
- - if ((fsr == 0x1406 || fsr == 0x1c06) && first_fault) {
- - first_fault = false;
- -
- - /*
- - * These faults with codes 0x1406 (BCM4709) or 0x1c06 happens
- - * for no good reason, possibly left over from the CFE boot
- - * loader.
- - */
- - pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
- - addr, fsr);
- -
- - /* Returning non-zero causes fault display and panic */
- - return 0;
- - }
- -
- - /* Others should cause a fault */
- - return 1;
- -}
- -
- -static void __init bcm5301x_init_early(void)
- -{
- - /* Install our hook */
- - hook_fault_code(16 + 6, bcm5301x_abort_handler, SIGBUS, BUS_OBJERR,
- - "imprecise external abort");
- -}
-
- static const char *const bcm5301x_dt_compat[] __initconst = {
- "brcm,bcm4708",
- @@ -52,6 +18,5 @@ static const char *const bcm5301x_dt_com
- DT_MACHINE_START(BCM5301X, "BCM5301X")
- .l2c_aux_val = 0,
- .l2c_aux_mask = ~0,
- - .init_early = bcm5301x_init_early,
- .dt_compat = bcm5301x_dt_compat,
- MACHINE_END
|