[Android-virt] [PATCH v3 1/8] ARM: KVM: Initial skeleton to compile KVM support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-06-05 16:18, Avi Kivity wrote:
> On 06/05/2011 05:13 PM, Jan Kiszka wrote:
>> On 2011-06-05 14:21, Avi Kivity wrote:
>> >  On 06/03/2011 06:53 PM, Jan Kiszka wrote:
>> >>  >>   @@ -310,6 +310,7 @@ struct kvm_translation {
>> >>  >>    struct kvm_interrupt {
>> >>  >>        /* in */
>> >>  >>        __u32 irq;
>> >>  >>   +    __u8  raise;
>> >>  >>    };
>> >>  >
>> >>  >   This touches an existing ABI and corrupts the definition of
>> >>  >   KVM_INTERRUPT IOCTL. The might exist jurisdictions considering
>> this a
>> >>  >   capital crime. :)
>> >>  >
>> >>  >   You rather have to define a new CPU IRQ injection interface that
>> >>  >   supports both raising and lowering
>> >
>> >  This is KVM_IRQ_LINE:
>> >
>>
>> It's so far associated with in-kernel irqchip input pins, not with
>> raising CPU IRQs.
> 
> It's up to the architecture to define what it's connected to.
> 
> Note that with KVM_SET_GSI_ROUTING (bad name for ARM...) we can even
> choose if an irq line is connected to a kernel-emulated interrupt
> controller or to the core's irq input.

Makes some sense: Add KVM_IRQ_ROUTING_CPU, and kvm_irq_routing_entry's
union would require some struct kvm_irq_routing_cpu containing the
target identifier.

However, I would recommend to carefully check the generic irq routing
bits before use - if they still contain some x86/ia64 specifics or
unwanted irqchip_in_kernel().

Jan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
Url : https://lists.cs.columbia.edu/pipermail/android-virt/attachments/20110605/646166b2/signature.bin


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux