On 24.01.24 22:25, Andrew Cooper wrote: > On 14/01/2024 10:01 am, Mykyta Poturai wrote: >> diff --git a/tools/include/xendevicemodel.h b/tools/include/xendevicemodel.h >> index 797e0c6b29..4833e55bce 100644 >> --- a/tools/include/xendevicemodel.h >> +++ b/tools/include/xendevicemodel.h >> @@ -236,6 +236,20 @@ int xendevicemodel_inject_msi( >> xendevicemodel_handle *dmod, domid_t domid, uint64_t msi_addr, >> uint32_t msi_data); >> >> + * @parm source_id the PCI SBDF of the source device >> + * @parm msi_data the MSI data >> + * @return 0 on success, -1 on failure. >> +*/ >> +int xendevicemodel_inject_msi2( >> + xendevicemodel_handle *dmod, domid_t domid, uint64_t msi_addr, uint32_t >> source_id, >> + uint32_t msi_data, unsigned int source_id_valid); > > The Source ID is always valid when making this call. It is only within > the hypervisor itself that we may need to worry about the source ID > being invalid. > > This means you don't have the flags field, and as a consequence, there's > no padding to worry about. >
Hi Andrew, I was thinking that the plan is to eventually deprecate the inject_msi call and have only the new one with different behaviors depending on source_id_valid flag. Do you mean we are leaving both of them indefinitely and should treat source id as a valid one implicitly from the fact that the new call is being issued? -- Mykyta