Gleb Natapov wrote on 2012-12-10:
> On Mon, Dec 10, 2012 at 01:34:02AM +0000, Zhang, Yang Z wrote:
>> Gleb Natapov wrote on 2012-12-09:
>>> On Sat, Dec 08, 2012 at 08:04:30PM +0800, Yang Zhang wrote:
>>>> diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
>>>> index cfb7e4d..081225a 100644
>>>> --- a/virt/kvm/ioapic.c
>>>> +++ b/virt/kvm/ioapic.c
>>>> @@ -115,6 +115,40 @@ static void update_handled_vectors(struct
> kvm_ioapic
>>> *ioapic)
>>>> smp_wmb();
>>>> }
>>>> +void _ioapic_update_eoi_exitmap(struct kvm_ioapic *ioapic, int pin)
>>>> +{
>>> Bette make is ioapic_update_eoi_exitmap_one() or something. Underscore
>>> is undescriptive.
>>>
>>>> + union kvm_ioapic_redirect_entry *e;
>>>> +
>>>> + e = &ioapic->redirtbl[pin];
>>>> +
>>>> + /* PIT is a special case: which is edge trig but have EOI hook.
>>>> + * Always set the eoi exit bitmap for PIT interrupt*/
>>> No hacks please. Check that ack notifier is register for gsi.
>> Do you mean do this in kvm_register_irq_ack_notifier()? The problem is that
> we cannot get the vector when calling this function. Because this function is
> called during device initializing, and guest is not starting at that time.
>>
> Call ioapic_update_eoi_exitmap() in kvm_register_irq_ack_notifier(),
> check that gsi (pin) has notifier registered in ioapic_update_eoi_exitmap().
>
Ok.
Best regards,
Yang
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html