Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: xen interrupt system



On Fri, Aug 21, 2009 at 08:17:27AM +0200, Christoph Egger wrote:
> 
> > > (XEN) ioapic_guest_write: Installing bogus unmasked IO-APIC entry!
> 
> There's a C comment right before this message:
> 
> /* This pin leads nowhere but the guest has not masked it. */
> 
> When we this message, then Xen didn't really allocate the interrupt for us
> since it does a more strict validation check if the irq we want to allocate
> is really an ioapic interrupt. irq 94 is not an existing ioapic interrupt on 
> that machine.

when interrupts are routed using apics, IRQs are not used at the
hardware level (it's the vector programmed in the apic registers that
is important), and the hardware doesn't even know the IRQ number we use.
This is a software object, used to index the interrupt vector arrays between
Xen and the dom0.

> 
> > > ioapic0: int7
> > > 0x1a95e<vector=0x5e,delmode=0x1,logical,actlo,level,masked,dest=0x0>
> > > 0xff000000<target=0xff>
> > > svwsata0: using ioapic0 pin 7, event channel 7 for native-PCI interrupt
> >
> > We had an active entry for this pin. I guess Xen wants us to mask it
> > before changing it (but a look in the sources would tell more), this is
> > what the code in ioapic_attach() tries to do (in fact, it reprograms
> > the apic from scratch).
> > The old entry was IOAPIC_REDLO_DSTMOD, IOAPIC_REDLO_DEL_LOPRI and we're
> > trying to add the IOAPIC_REDLO_ACTLO | IOAPIC_REDLO_LEVEL flags (in
> > addition to changing the vector). I don't know why Xen says it's invalid,
> > a look at the sources could give details about this.
> 
> Xen's recent interrupt change happened to support per-cpu vectors. I suppose
> we need to change our way in allocating interrupts.

that's possible. But we have to be carefull to not break older hypervisors.
With Xen 3.0 I couldn't recycle low interrupt numbers, because Xen uses
some of them and I don't know which.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index