On 03.06.2011, at 17:53, Jan Kiszka wrote:
> On 2011-06-03 17:31, Jan Kiszka wrote:
>> On 2011-06-03 17:03, Christoffer Dall wrote:
>>> Targets KVM support for Cortex A-15 processors.
>>>
>>> Contains no real functionality but all the framework components,
>>> make files, header files and some tracing functionality.
>>> ---
>>
>> ...
>>
>>> diff --git a/include/linux/kvm.h b/include/linux/kvm.h
>>> index ea2dc1a..d2ab07e 100644
>>> --- a/include/linux/kvm.h
>>> +++ b/include/linux/kvm.h
>>> @@ -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 and declare its availability via a
>> KVM_CAP. Don't forget to make it extensible (flags field) so that future
>> requirements can be added without breaking existing users.
>
> Or much easier (this is what PowerPC is doing): Define irq values in a
> way that they include a raise/lower flag.
It's not quite what PPC does. On PPC we have constant magic values for "irq"
that mean "raise external interrupt" and "lower external interrupt". I like the
idea with the mask though. It allows you to still have 31 bits of irq number
information :)
Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html