Re: [RFC v7 2/7] KVM: kvm_host: add devid in kvm_kernel_irq_routing_entry

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

 



On 21/07/16 17:13, Radim Krčmář wrote:
> 2016-07-18 13:25+0000, Eric Auger:
>> Extend kvm_kernel_irq_routing_entry to transport the device id
>> field, devid. A new flags field makes possible to indicate the
>> devid is valid. Those additions are used for ARM GICv3 ITS MSI
>> injection.
>>
>> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx>
>> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
>>
>> ---
>> v6 -> v7:
>> - added msi_ prefix to flags and dev_id fields
>>
>> v4 -> v5:
>> - add Christoffer's R-b
>>
>> v2 -> v3:
>> - add flags
>>
>> v1 -> v2:
>> - replace msi_msg field by a struct composed of msi_msg and devid
>>
>> RFC -> PATCH:
>> - reword the commit message after change in first patch (uapi)
>> ---
>>  include/linux/kvm_host.h | 6 +++++-
>>  1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
>> index c87fe6f..3d2cbb4 100644
>> --- a/include/linux/kvm_host.h
>> +++ b/include/linux/kvm_host.h
>> @@ -317,7 +317,11 @@ struct kvm_kernel_irq_routing_entry {
>>  			unsigned irqchip;
>>  			unsigned pin;
>>  		} irqchip;
>> -		struct msi_msg msi;
>> +		struct {
>> +			struct msi_msg msi;
>> +			u32 msi_flags;
>> +			u32 msi_devid;
> 
> I'd much rather see them as msi.flags and msi.devid.

That's not really possible, as msi_msg is the core data structure for
MSIs, and nobody really expects this tructure to change.

> I didn't notice a code that passes struct msi_msg anywhere, so using an
> ad-hoc struct like irqchip or defining a new one would work fine.

I guess we could have an arm-specific one:

		struct arm_msi {
			struct msi_msg msg;
			u32 flags;
			u32 devid;
		};

and use that. Would that be OK with you?

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...
--
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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux