Re: question regarding acrn-hypervisor vioapic implementation


Chen, Jason CJ
 

Hi, Abdul,

 

It’s designed for supporting pass-thru devices, when vioapic RTE got unmask, it will go to check if a pass-thru entry valid for this vioapic pin, if yes, then native IOAPIC will got updated and the mapping between native IOAPIC pin & VIOAPIC pin is created.

Similar behavior is done for RTE mask & update.

 

Thanks & Best Regards,

 

Jason Chen

 

SSG -> OTC -> Intel Auto Hypervisor Team

 

From: acrn-users@... [mailto:acrn-users@...] On Behalf Of Xu, Anthony
Sent: Friday, June 29, 2018 7:24 AM
To: acrn-users@...
Subject: Re: [acrn-users] question regarding acrn-hypervisor vioapic implementation

 

Hi Abdul,

 

May I ask in which OS you saw the behavior ( update IOAPIC entry without mask it)?

 

Thanks,

Anthony

 

From: acrn-users@... [mailto:acrn-users@...] On Behalf Of Abdul
Sent: Thursday, June 28, 2018 6:34 AM
To: acrn-users@...
Subject: [acrn-users] question regarding acrn-hypervisor vioapic implementation

 

Hi folks, 

 

I have come across a guest behavior wherein guest updates the ioapic tables while the interrupt is unmasked. 

 

A condition in hypervisor at the following location:

https://github.com/projectacrn/acrn-hypervisor/blob/4ec690fde3c336dfad5977ff9c13fe786013ade0/hypervisor/arch/x86/guest/vioapic.c#L396

is preventing the physical ioapic tables from being updated. 

 

The hypervisor is assuming at the above mentioned location that physical ioapic table entries would only be updated if interrupt masking state is changed. Can someone point me to from where does this assumption originates?

 

Thanks, 
Abdul

Join {acrn-users@lists.projectacrn.org to automatically receive all group messages.