[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86: suppress pointless Xen messages from ioapic_guest_write()
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1268834995 0 # Node ID 0d45541c06580b6d49fdf881dcc63574b2c32c8f # Parent 066c3eead6ec4059b15951da6edc407066a87b48 x86: suppress pointless Xen messages from ioapic_guest_write() Previously, these messages were only issued when old and new RTE differed. Make it so again (requiring adjustment of the guest provided RTE as that no longer holds a real vector). While at it, also make the "allocated vector for irq" message more useful and occur when what it says really happened. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- xen/arch/x86/io_apic.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff -r 066c3eead6ec -r 0d45541c0658 xen/arch/x86/io_apic.c --- a/xen/arch/x86/io_apic.c Wed Mar 17 09:18:34 2010 +0000 +++ b/xen/arch/x86/io_apic.c Wed Mar 17 14:09:55 2010 +0000 @@ -2280,17 +2280,23 @@ int ioapic_guest_write(unsigned long phy if ( desc->action ) { - WARN_BOGUS_WRITE("Attempt to modify IO-APIC pin for in-use IRQ!\n"); + spin_lock_irqsave(&ioapic_lock, flags); + ret = io_apic_read(apic, 0x10 + 2 * pin); + spin_unlock_irqrestore(&ioapic_lock, flags); + rte.vector = cfg->vector; + if ( *(u32*)&rte != ret ) + WARN_BOGUS_WRITE("old_entry=%08x pirq=%d\n%s: " + "Attempt to modify IO-APIC pin for in-use IRQ!\n", + ret, pirq, __FUNCTION__); return 0; } if ( cfg->vector <= 0 || cfg->vector > LAST_DYNAMIC_VECTOR ) { - - printk("allocated vector for irq:%d\n", irq); - vector = assign_irq_vector(irq); if ( vector < 0 ) return vector; + + printk(XENLOG_INFO "allocated vector %02x for irq %d\n", vector, irq); add_pin_to_irq(irq, apic, pin); } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |