Asynchronous Interrupts

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

 



Hi all,
   Here is hopefully a better explanation of what I poorly described  
at the meeting today.  We have come to agreement that we need to  
intercept IRQ exceptions, what I am unsure is how to handle them.  For  
synchronous interrupts we do not pass them to the host kernel handler:  
SWI's that aren't due to translation should be passed along to the  
guest, UNDEFINED interrupts that isn't because of a system control  
processor operation is handled the same.  I am less certain about  
synchronous abort interrupts, and whether the host kernel should see  
these, but that can be a later discussion.

   For asynchronous interrupts, we obviously want the host kernel to  
handle the interrupt.  I was looking at the architecture and what I am  
unsure about is what happens if we are in our IRQ interrupt handler  
and enable for interrupts, would the IRQ be reissued by the hardware  
or is it lost?  If it is reissued that would be great, because when  
the host code enables for interrupts, our host state is saved and on  
redispatch we regain control as the host.  This is similar to how the  
PPC code works.

   If the interrupt would be lost, that means we have to pass the  
interrupt to the kernel ourselves, but we have to mess around with the  
registers the real IRQ will save to ensure the host regains control,  
not the guest (what the registers really were at interrupt).

   Comments/Suggestions?

Brian



[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux