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


Reply via email to