Query about ARM interrupt virtualization

bill4carson bill4carson at gmail.com
Fri Sep 16 02:13:34 EDT 2011


Hi, all

I have been doing ARM interrupt virtualization based on Christoffer KVM 
work.
Current status is an A15 guest os could boot successfully based on ARM KVM
without interrupt virtualization.


Interrupt injection is taken care of by Qemu, if interrupt 
virtualization need to be
supported, then all the gic cpu interface code in Qemu must be removed.
The distributor in Qemu figure out the best irq, then ship this best_irq 
into virtual
cpu interface through list register.

The problem is Distributor state must be synchronized with two cpu 
interface
actions: ACK(interrupt acknowledge) and EOI (end Of Interrupt).
EOI could be trapped by hypervisor, this will enable us to call 
gic_complete_irq
in Qemu to update Distributor state.
However for now I cannot find a way for ACK to be catch,
or am I missing something important here?

Any tips/suggestions would be appreciated!


bill



























More information about the linux-arm-kernel mailing list