This is useful for debugging low level kernel before the guest as setup
the vector table.

Note that the value of the IPA is only here for reference and may not
always be valid if the error came from a stage 1 table translation walk.

Signed-off-by: Julien Grall <julien.gr...@citrix.com>
---

Rather than having a check only for UART, a more generic message would
be more useful in debug build.
---
 xen/arch/arm/traps.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 47d6cef..1dcc31f 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -2355,7 +2355,6 @@ static void do_trap_data_abort_guest(struct cpu_user_regs 
*regs,
 #else
     info.gva = READ_SYSREG64(FAR_EL2);
 #endif
-
     if ( dabt.s1ptw )
         info.gpa = READ_SYSREG(HPFAR_EL2);
     else
@@ -2413,6 +2412,8 @@ static void do_trap_data_abort_guest(struct cpu_user_regs 
*regs,
     }
 
 bad_data_abort:
+    gdprintk(XENLOG_DEBUG, "HSR=0x%x pc=%#"PRIregister" gva=%#"PRIvaddr
+             " gpa=%#"PRIpaddr"\n", hsr.bits, regs->pc, info.gva, info.gpa);
     inject_dabt_exception(regs, info.gva, hsr.len);
 }
 
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to