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

Re: [Xen-devel] [PATCH v7 23/32] xen/x86: make sure the HVM callback vector is correctly set



On 30/10/15 15:34, Roger Pau Monné wrote:
> El 15/10/15 a les 13.30, Paul Durrant ha escrit:
>>> -----Original Message-----
>>> From: xen-devel-bounces@xxxxxxxxxxxxx [mailto:xen-devel-
>>> bounces@xxxxxxxxxxxxx] On Behalf Of Andrew Cooper
>>> Sent: 14 October 2015 17:02
>>> To: Jan Beulich; Roger Pau Monne
>>> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
>>> Subject: Re: [Xen-devel] [PATCH v7 23/32] xen/x86: make sure the HVM
>>> callback vector is correctly set
>>>
>>> On 14/10/15 16:54, Jan Beulich wrote:
>>>>>>> On 02.10.15 at 17:48, <roger.pau@xxxxxxxxxx> wrote:
>>>>> --- a/xen/arch/x86/hvm/irq.c
>>>>> +++ b/xen/arch/x86/hvm/irq.c
>>>>> @@ -330,6 +330,10 @@ void hvm_set_callback_via(struct domain *d,
>>> uint64_t
>>>>> via)
>>>>>           (via_type > HVMIRQ_callback_vector) )
>>>>>          via_type = HVMIRQ_callback_none;
>>>>>
>>>>> +    if ( via_type != HVMIRQ_callback_vector &&
>>>>> +         (!has_vlapic(d) || !has_vioapic(d) || !has_vpic(d)) )
>>>>> +        return;
>>>> Why are both IO-APIC and PIC required? Doesn't one suffice, or
>>>> can't MSI-like interrupts even get delivered without either?
>>> In real hardware, MSI-like interrupts have no interaction with the
>>> IO-APIC or PIC.
>>>
>>> In fact, the purpose of the IO-APIC is to turn legacy line interrupts
>>> into MSI interrupts.  The PICs were from the pre-MSI days where it
>>> asserted the #INTR pin on the processor.
>>>
>>> Our virtual interrupt infrastructure should behave in a consistent manor.
>>>
>> IIRC both the intx and gsi variants of the callback via go in at the vioapic 
>> level.
> OK, so I can remove the PIC requirement.

In some copious free time, we really should see about dropping the vPIC
entirely and doing what real hardware does, and implement virtual wire
mode in the vIOAPIC for PIC emulation.

This would simplify the choice of injection options from the Xen side.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.