[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] xen/arm: traps: Print a message in debug build when a guest dabt is not handled



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.grall@xxxxxxxxxx>
---

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@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.