> -----Original Message----- > From: Marc Zyngier [mailto:marc.zyngier@xxxxxxx] > Sent: Tuesday, June 03, 2014 5:40 PM > To: Bhushan Bharat-R65777 > Cc: Mathew Li; kvmarm@xxxxxxxxxxxxxxxxxxxxx > Subject: Re: Few general questions on kvm-arm > > On Tue, Jun 03 2014 at 12:10:28 pm BST, "Bharat.Bhushan@xxxxxxxxxxxxx" > <Bharat.Bhushan@xxxxxxxxxxxxx> wrote: > >> > 2. Looking at the code in virt/kvm/arm/vgic.c, it looks like we use > >> > maintenance interrupt to update our in-memory data structures when > >> > guest EOIs the interrupt. That would mean, we would exit the VM > >> > every time guest does an EOI. Is that correct? > >> > >> Only when we use level interrupts. > > > > Do you mean that it exit on EOI for level interrupt and not for > > edge/msi interrupts? > > Exactly. > > > Can you please explain how vgic send next available interrupt of lower > > or same priority if not exit on EOI for msi/edge interrupt? > > Look at point 4 of Mathew's description. When injecting the interrupt, you kick > the vcpu to force it to reload its state. > > Additionally, if you have more pending interrupts than your list registers can > contain, you set the underflow trigger for the maintainance interrupt, Let us take an example; Say There are 2 interrupts which needed to be injected to guest. - kick vcpu - reload state of vcpu and now guest can see 2 interrupts. - Guest might disable the interrupt while handling above mentioned interrupt - 3rd interrupt requires to be injected to guest. - host does kick vcpu - Will the 3rd interrupt will be seen to guest now? Or is this the point where we set a underflow trigger? - Now when guest re-enable interrupt then it will exit to kvm and kvm will reload new state? > resulting > in an exit when you can reload new pending interrupts. What do we mean by "exit when you can reload new pending interrupts", I mean how we know that now we should reload new state ? Thanks -Bharat > > M. > -- > Jazz is not dead. It just smells funny. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm