[PATCH v5 4/4] ARM: BCM5301X: workaround suppress fault
Arnd Bergmann
arnd at arndb.de
Mon Jan 6 11:09:12 EST 2014
On Monday 06 January 2014, Hauke Mehrtens wrote:
> Without this patch I am getting a unhandled fault exception like this
> one after "Freeing unused kernel memory":
>
> Freeing unused kernel memory: 1260K (c02c1000 - c03fc000)
> Unhandled fault: imprecise external abort (0x1c06) at 0xb6f89005
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007
>
> The address which is here 0xb6f89005 changes from boot to boot, with a
> new build the changes are bigger. With kernel 3.10 I have also seen
> this fault at different places in the boot process, but starting with
> 3.11 they are mostly occurring after the "Freeing unused kernel memory"
> message. I never was able to completely boot to userspace without this
> handler. The abort code is constant 0x1c06. This fault just happens
> once in the boot process I have never seen it happing twice or more.
>
> I also tried changing the CPSR.A bit to 0 in init_early, with this code
> like Afzal suggested, but that did not change anything:
> asm volatile("mrs r12, cpsr\n"
> "bic r12, r12, #0x00000100\n"
> "msr cpsr_c, r12" ::: "r12", "cc", "memory");
>
> Disabling the L2 cache by building with CONFIG_CACHE_L2X0 unset did not
> help.
>
> This workaround was copied from the vendor code including most of the
> comments. It says it they think this is caused by the CFE boot loader
> used on this device. I do not have any access to any datasheet or
> errata document to check this.
>
> Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
Acked-by: Arnd Bergmann <arnd at arndb.de>
More information about the linux-arm-kernel
mailing list