commit 6fffb5b47ea1a0f1267b5a218cdea2057cffc1aa
The value of ESR has been stored into x1, and should be directly pass to do_sp_pc_abort function, "MOV x1, x25" is an extra operation and do_sp_pc_abort will get the wrong value of ESR.
This patch is just confirmed by Catalin.
--- arch/arm64/kernel/entry.S | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index fa78916..56ef569 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -275,7 +275,6 @@ el1_sp_pc: * Stack or PC alignment exception handling */ mrs x0, far_el1 - mov x1, x25 mov x2, sp b do_sp_pc_abort el1_undef:
Andy
linaro-kernel@lists.linaro.org