# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1279284687 -3600
# Node ID 1f7c2418e58c7d1d5650ea211016b30114de48f2
# Parent c4a83e3cc6b435cc559450bbcd8b2ba7a801964f
xen: Send the debug VIRQ to guests after the rest of the domain dump is done.
Send the debug VIRQ to guests after the rest of the domain dump is
done. This stops all the 'q' debug-key output getting interleaved with
the debug-virq output from a pv-ops dom0 kernel.
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
---
xen/common/keyhandler.c | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
diff -r c4a83e3cc6b4 -r 1f7c2418e58c xen/common/keyhandler.c
--- a/xen/common/keyhandler.c Thu Jul 15 18:18:16 2010 +0100
+++ b/xen/common/keyhandler.c Fri Jul 16 13:51:27 2010 +0100
@@ -255,7 +255,7 @@ static void dump_domains(unsigned char k
d->handle[ 8], d->handle[ 9], d->handle[10], d->handle[11],
d->handle[12], d->handle[13], d->handle[14], d->handle[15],
d->vm_assist);
- for (i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++)
+ for ( i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
if ( test_bit(i, &d->watchdog_inuse_map) )
printk(" watchdog %d expires in %d seconds\n",
i, (u32)((d->watchdog_timer[i].expires - NOW()) >> 30));
@@ -268,7 +268,8 @@ static void dump_domains(unsigned char k
printk("VCPU information and callbacks for domain %u:\n",
d->domain_id);
- for_each_vcpu ( d, v ) {
+ for_each_vcpu ( d, v )
+ {
printk(" VCPU%d: CPU%d [has=%c] flags=%lx poll=%d "
"upcall_pend = %02x, upcall_mask = %02x ",
v->vcpu_id, v->processor,
@@ -283,7 +284,15 @@ static void dump_domains(unsigned char k
arch_dump_vcpu_info(v);
periodic_timer_print(tmpstr, sizeof(tmpstr), v->periodic_period);
printk(" %s\n", tmpstr);
- printk(" Notifying guest (virq %d, port %d, stat %d/%d/%d)\n",
+ }
+ }
+
+ for_each_domain ( d )
+ {
+ for_each_vcpu ( d, v )
+ {
+ printk("Notifying guest %d:%d (virq %d, port %d, stat %d/%d/%d)\n",
+ d->domain_id, v->vcpu_id,
VIRQ_DEBUG, v->virq_to_evtchn[VIRQ_DEBUG],
test_bit(v->virq_to_evtchn[VIRQ_DEBUG],
&shared_info(d, evtchn_pending)),
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|