| 617c1bec | 12-Jul-2021 |
Joseph Chen <chenjh@rock-chips.com> |
arm: v7/v8: Enable SError/Asynchronous external abort for TPL/SPL/U-Boot
Add this patch to support report SError/Asynchronous external abort immediately in current exception level.
=== issue scene
arm: v7/v8: Enable SError/Asynchronous external abort for TPL/SPL/U-Boot
Add this patch to support report SError/Asynchronous external abort immediately in current exception level.
=== issue scene === When access a illegal address, It results in: - read: Synchronous data-abort - write: SError(64-bit)/Asynchronous external abort(32-bit)
=== 64-bit === EL3 SError ASynchronous exception in TPL/SPL was already enabled in start.S and crt0_64.S which sets SCR_EL3.EA=1 and DAIF.A=0. We can test result of TPL/SPL by access address 0xfe108000 in rk3568. Let's enable SError in U-Boot proper.
=== 32-bit === Let's set CPSR.A=0 to enable Asynchronous external abort, we can test result by access address 0xfe808000 in rv1126. Note: TPL/SPL vectors only provides "b ." for all exception entry.
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: Id9f660a9275f69fdc8443ad239aabf79682d95d0
show more ...
|