[PATCH] ARM: keystone: add a work around to handle asynchronous external abort
Murali Karicheri
m-karicheri2 at ti.com
Tue Aug 18 13:25:44 PDT 2015
Russell,
On 08/18/2015 04:13 AM, Russell King - ARM Linux wrote:
> On Mon, Aug 17, 2015 at 08:09:17PM -0700, santosh.shilimkar at oracle.com wrote:
>> From the logs this seems to be mostly clock related issue for some
>> peripheral. If the bootloader clock enable all hack still exists,
>> may be you can try that out.
>>
>> Another way to debug this is to start disabling peripheral drivers
>> from the kernel 1 by 1 and see if the issue goes away.
>
> Highly unlikely to make any difference. As the failure happens soo early
> with the patch applied, the kernel hasn't had much of a chance to touch
> the hardware - about the only things are the decompressor and the kernel
> touching the early console. As they seem to be working, it suggests
> that's not the cause.
>
> It seems to be pointing towards something in the boot loader...
>
> Normally, uboot will hook itself into the vectors to report errors, but
> I wonder whether uboot enables asynchronous aborts while it's running.
> Don't forget to make sure that the aborts are disabled again prior to
> calling the kernel.
>
Thanks for your input.
The patch works now once I move the local_abort_enable() to later just
before calling reserve_crashkernel() in setup_arch(). The abort handler
gets called right after enabling it which means it has happened even
before reaching here.
I have added the abort handler to u-boot code and I get the same abort
which means the root cause is u-boot or ROM boot loader. I would try to
debug if root cause is u-boot. If it is ROM boot loader, I will have to
add a work around in u-boot or Linux. Is there a preference of one over
the other? The exception handling in u-boot is premature and will
require more work to add a work around. Is there still a possibility of
adding the work around in Linux?
--
Murali Karicheri
Linux Kernel, Keystone
More information about the linux-arm-kernel
mailing list