
On 05/24/2018 08:24 AM, Xiao Feng Ren wrote:
From: Yi Min Zhao <zyimin@linux.ibm.com>
Add zPCI definitions in preparation of extending the PCI address with parameters uid (user-defined identifier) and fid (PCI function identifier).
Signed-off-by: Yi Min Zhao <zyimin@linux.ibm.com> Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: Stefan Zimmermann <stzi@linux.ibm.com> Reviewed-by: Bjoern Walk <bwalk@linux.vnet.ibm.com> --- src/util/virpci.h | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/src/util/virpci.h b/src/util/virpci.h index 794b7e59db..250e9278ba 100644 --- a/src/util/virpci.h +++ b/src/util/virpci.h @@ -36,12 +36,22 @@ typedef virPCIDeviceAddress *virPCIDeviceAddressPtr; typedef struct _virPCIDeviceList virPCIDeviceList; typedef virPCIDeviceList *virPCIDeviceListPtr;
+typedef struct _virZPCIDeviceAddress virZPCIDeviceAddress; +typedef virZPCIDeviceAddress *virZPCIDeviceAddressPtr; +struct _virZPCIDeviceAddress { + unsigned int zpcifid; + unsigned int zpciuid; + bool fid_assigned; + bool uid_assigned; +}; + struct _virPCIDeviceAddress { unsigned int domain; unsigned int bus; unsigned int slot; unsigned int function; int multi; /* virTristateSwitch */ + virZPCIDeviceAddressPtr zpci;
Why does this need to be a pointer to a "virZPCIDeviceAddress"? The struct itself is a fixed size, and it already has bools to indicate whether or not each of the data attributes has been set. That's just extra memory management churn for no useful purpose.
};
typedef enum {