|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] x86/hvm: Print %cs:%rip in triple fault error message
It provides a little more information than just "something went wrong".
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
---
xen/arch/x86/hvm/emulate.c | 2 +-
xen/arch/x86/hvm/hvm.c | 8 ++++++--
xen/include/asm-x86/hvm/emulate.h | 1 +
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index fef7905..1f2d4a7 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1907,7 +1907,7 @@ struct segment_register *hvmemul_get_seg_reg(
return &hvmemul_ctxt->seg_reg[seg];
}
-static const char *guest_x86_mode_to_str(int mode)
+const char *guest_x86_mode_to_str(int mode)
{
switch ( mode )
{
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index a29c421..87b3cce 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2887,10 +2887,14 @@ void hvm_triple_fault(void)
struct vcpu *v = current;
struct domain *d = v->domain;
u8 reason = d->arch.hvm_domain.params[HVM_PARAM_TRIPLE_FAULT_REASON];
+ const char *mode_str = guest_x86_mode_to_str(hvm_guest_x86_mode(v));
+ struct segment_register cs;
+
+ hvm_get_segment_register(v, x86_seg_cs, &cs);
gprintk(XENLOG_INFO,
- "Triple fault - invoking HVM shutdown action %d\n",
- reason);
+ "Triple fault %s @ %04x:%08lx - invoking HVM shutdown action %d\n",
+ mode_str, cs.sel, guest_cpu_user_regs()->rip, reason);
domain_shutdown(d, reason);
}
diff --git a/xen/include/asm-x86/hvm/emulate.h
b/xen/include/asm-x86/hvm/emulate.h
index 142d1b6..c7148c9 100644
--- a/xen/include/asm-x86/hvm/emulate.h
+++ b/xen/include/asm-x86/hvm/emulate.h
@@ -64,6 +64,7 @@ int hvmemul_do_pio_buffer(uint16_t port,
uint8_t dir,
void *buffer);
+const char *guest_x86_mode_to_str(int mode);
void hvm_dump_emulation_state(const char *prefix,
struct hvm_emulate_ctxt *hvmemul_ctxt);
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |