[PATCH v2 3/3] ARM: BCM5301X: remove workaround imprecise abort fault handler
Hauke Mehrtens
hauke at hauke-m.de
Thu Nov 12 09:54:41 PST 2015
Hi Florian,
can you please take this patch for 4.4.
I do not have an own tree, Florian takes the patches for BCM5301X
Hauke
On 11/12/2015 02:37 PM, Lucas Stach wrote:
> Hauke,
>
> can you please take this patch through your tree for 4.4? The first
> patch in this series went in through Russells tree, so the below code
> now has the possibility to hide a real abort later during boot.
>
> Regards,
> Lucas
>
> Am Donnerstag, den 15.10.2015, 12:32 +0200 schrieb Lucas Stach:
>> 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 at pengutronix.de>
>> Acked-by: Hauke Mehrtens <hauke at hauke-m.de>
>> ---
>> arch/arm/mach-bcm/bcm_5301x.c | 35 -----------------------------------
>> 1 file changed, 35 deletions(-)
>>
>> diff --git a/arch/arm/mach-bcm/bcm_5301x.c b/arch/arm/mach-bcm/bcm_5301x.c
>> index 5478fe6bcce6..c8830a2b0d60 100644
>> --- 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_compat[] __initconst = {
>> 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
>
More information about the linux-arm-kernel
mailing list