aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-01-04 12:37:27 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-01-04 12:37:27 +0100
commitb84e890ff3c7076a81971cf1535b26a7b5b4bbd7 (patch)
tree967dfb688051afaaac926f22bd3fdeded538857f
parent4a4c2bd2d28bc2592524984ac3a50b906ecf5408 (diff)
downloadxen-b84e890ff3c7076a81971cf1535b26a7b5b4bbd7.tar.gz
xen-b84e890ff3c7076a81971cf1535b26a7b5b4bbd7.tar.bz2
xen-b84e890ff3c7076a81971cf1535b26a7b5b4bbd7.zip
Add pending status to irq debugkey dump.
Signed-off-by: Keir Fraser <keir@xensource.com>
-rw-r--r--xen/arch/x86/irq.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index b281662c0f..4ac1d62dff 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -335,17 +335,28 @@ static void dump_irqs(unsigned char key)
{
action = (irq_guest_action_t *)desc->action;
- printk("IRQ%3d Vec%3d: type=%-15s in-flight=%d domain-list=",
- irq, vector, desc->handler->typename, action->in_flight);
+ printk("IRQ%3d Vec%3d: type=%-15s status=%08x "
+ "in-flight=%d domain-list=",
+ irq, vector, desc->handler->typename,
+ desc->status, action->in_flight);
for ( i = 0; i < action->nr_guests; i++ )
{
d = action->guest[i];
- printk("%u(%c%c)",
+ printk("%u(%c%c%c%c)",
d->domain_id,
(test_bit(d->pirq_to_evtchn[irq],
- &d->shared_info->evtchn_mask[0]) ? 'M' : '-'),
- (test_bit(irq, &d->pirq_mask) ? 'M' : '-'));
+ &d->shared_info->evtchn_pending[0]) ?
+ 'P' : '-'),
+ (test_bit(d->pirq_to_evtchn[irq]/BITS_PER_LONG,
+ &d->shared_info->vcpu_info[0].
+ evtchn_pending_sel) ?
+ 'S' : '-'),
+ (test_bit(d->pirq_to_evtchn[irq],
+ &d->shared_info->evtchn_mask[0]) ?
+ 'M' : '-'),
+ (test_bit(irq, &d->pirq_mask) ?
+ 'M' : '-'));
if ( i != action->nr_guests )
printk(",");
}