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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html