On 07/25/2012 04:24 PM, Peter Maydell wrote: > Rename the function kvm_irqchip_set_irq() to kvm_inject_async_irq(), > since it can be used for asynchronous interrupt injection whether > there is a full irqchip model in the kernel or not. >
> @@ -144,7 +144,7 @@ int kvm_arch_on_sigbus(int code, void *addr); > > void kvm_arch_init_irq_routing(KVMState *s); > > -int kvm_irqchip_set_irq(KVMState *s, int irq, int level); > +int kvm_inject_async_irq(KVMState *s, int irq, int level); > int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg); > "interrupt injection" refers to the act of setting up an interrupt to be delivered to the guest at the next entry, so it is synchronous by nature. It was sloppy of me to use the term, but let's not introduce it to the code as well. The correct terminology would be: interrupt injection: synchronous, in-vcpu, after all masks have been evaluated. Straight into the vein. interrupt queueing: asynchronous, extra-vcpu, before any masks Since interrupt queueing (well that name isn't perfect for level triggered interrupts, since it may not queue anything...) is the norm, I think it's better to keep the set_irq() naming and mark the synchronous interrupt injection function as special. -- error compiling committee.c: too many arguments to function