On 2012-07-25 17:47, Avi Kivity wrote: > 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.
We don't have a synchronous function anymore, it's part of the pre-run code of x86 IIRC. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux