On 25 July 2012 16:47, Avi Kivity <a...@redhat.com> wrote: > On 07/25/2012 04:24 PM, Peter Maydell wrote: >> -int kvm_irqchip_set_irq(KVMState *s, int irq, int level); >> +int kvm_inject_async_irq(KVMState *s, int irq, int level);
> "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. Ah. I'd assumed it just meant "inject this into the kernel". (ie the point at which the interrupt is no longer qemu's problem :-)) > 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. So just call this 'kvm_set_irq()' ? -- PMM