Re: [PATCH] x86: let userspace inject interrupts into the local APIC

From: Gleb Natapov
Date: Tue Mar 19 2013 - 14:50:37 EST


On Tue, Mar 19, 2013 at 07:39:24PM +0100, Paolo Bonzini wrote:
> Il 19/03/2013 19:13, Gleb Natapov ha scritto:
> >> > There is no way for userspace to inject interrupts into a VCPU's
> >> > local APIC, which is important in order to inject INITs coming from
> >> > the chipset. KVM_INTERRUPT is currently disabled when the in-kernel
> >> > local APIC is used, so we can repurpose it. The shorthand destination
> >> > field must contain APIC_DEST_SELF, which has a double effect: first,
> >> > the ICR2 register is not used and the 32-bit field of KVM_INTERRUPT is
> >> > enough; second, it ensures that the valid range of the irq field is
> >> > distinct in the userspace-APIC and kernel-APIC cases.
> >> >
> > Init coming from triggering INIT# line should not be modeled as INIT coming from
> > APIC.
>
> Then Jan's patch was wrong, and INIT should not have been an apic event
> (perhaps SIPI should).
>
If it goes through APIC it is. Also the problem with reusing KVM_INTERRUPT is
that it is synchronous interface but INIT# is asynchronous. Shouldn't be a big
deal though.

> > In fact INIT cannot be send using SELF shorthand.
>
> Where does the SDM say that?
>
Table 10-3.

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/