* Always emit current. It's critically important.
* Do not render (0000000000000000) for the symbol in guest context. It's
just line-noise. Instead, explicitly identify which Xen vs guest context.
* Try to tabulate the data, because there is often lots of it.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
xen/arch/x86/traps.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index b713ef7e77ce..95ef59c93bcd 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -768,8 +768,14 @@ static int cf_check nmi_show_execution_state(
if ( opt_show_all )
show_execution_state(regs);
else
- printk(XENLOG_ERR "CPU%d @ %04x:%08lx (%pS)\n", cpu, regs->cs,
- regs->rip, guest_mode(regs) ? NULL : _p(regs->rip));
+ {
+ if ( guest_mode(regs) )
+ printk(XENLOG_ERR "CPU%d\t%pv\t%04x:%p in guest\n",
+ cpu, current, regs->cs, _p(regs->rip));
+ else
+ printk(XENLOG_ERR "CPU%d\t%pv\t%04x:%p in Xen: %pS\n",
+ cpu, current, regs->cs, _p(regs->rip), _p(regs->rip));
+ }
cpumask_clear_cpu(cpu, &show_state_mask);
return 1;
--
2.11.0