mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 09:53:10 +00:00
nodedev: move pci express types to virpci.h
Finding virPCIE* code is more intuitive if located in virpci.h instead of node_device_conf.h. * src/conf/node_device_conf.h (virPCIELinkSpeed, virPCIELink) (virPCIEDeviceInfo): Move... * src/util/virpci.h: ...here. * src/conf/node_device_conf.c (virPCIELinkSpeed): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
3261895a06
commit
be05c1414d
@ -58,9 +58,6 @@ VIR_ENUM_IMPL(virNodeDevNetCap, VIR_NODE_DEV_CAP_NET_LAST,
|
||||
"80203",
|
||||
"80211")
|
||||
|
||||
VIR_ENUM_IMPL(virPCIELinkSpeed, VIR_PCIE_LINK_SPEED_LAST,
|
||||
"", "2.5", "5", "8")
|
||||
|
||||
static int
|
||||
virNodeDevCapsDefParseString(const char *xpath,
|
||||
xmlXPathContextPtr ctxt,
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* node_device_conf.h: config handling for node devices
|
||||
*
|
||||
* Copyright (C) 2009-2013 Red Hat, Inc.
|
||||
* Copyright (C) 2009-2014 Red Hat, Inc.
|
||||
* Copyright (C) 2008 Virtual Iron Software, Inc.
|
||||
* Copyright (C) 2008 David F. Lively
|
||||
*
|
||||
@ -81,33 +81,6 @@ typedef enum {
|
||||
VIR_NODE_DEV_CAP_FLAG_PCIE = (1 << 2),
|
||||
} virNodeDevPCICapFlags;
|
||||
|
||||
typedef enum {
|
||||
VIR_PCIE_LINK_SPEED_NA = 0,
|
||||
VIR_PCIE_LINK_SPEED_25,
|
||||
VIR_PCIE_LINK_SPEED_5,
|
||||
VIR_PCIE_LINK_SPEED_8,
|
||||
VIR_PCIE_LINK_SPEED_LAST
|
||||
} virPCIELinkSpeed;
|
||||
|
||||
VIR_ENUM_DECL(virPCIELinkSpeed)
|
||||
|
||||
typedef struct _virPCIELink virPCIELink;
|
||||
typedef virPCIELink *virPCIELinkPtr;
|
||||
struct _virPCIELink {
|
||||
int port;
|
||||
virPCIELinkSpeed speed;
|
||||
unsigned int width;
|
||||
};
|
||||
|
||||
typedef struct _virPCIEDeviceInfo virPCIEDeviceInfo;
|
||||
typedef virPCIEDeviceInfo *virPCIEDeviceInfoPtr;
|
||||
struct _virPCIEDeviceInfo {
|
||||
/* Not all PCI Express devices has link. For example this 'Root Complex
|
||||
* Integrated Endpoint' and 'Root Complex Event Collector' don't have it. */
|
||||
virPCIELink *link_cap; /* PCIe device link capabilities */
|
||||
virPCIELink *link_sta; /* Actually negotiated capabilities */
|
||||
};
|
||||
|
||||
typedef struct _virNodeDevCapsDef virNodeDevCapsDef;
|
||||
typedef virNodeDevCapsDef *virNodeDevCapsDefPtr;
|
||||
struct _virNodeDevCapsDef {
|
||||
|
@ -52,6 +52,9 @@ VIR_LOG_INIT("util.pci");
|
||||
#define PCI_ID_LEN 10 /* "XXXX XXXX" */
|
||||
#define PCI_ADDR_LEN 13 /* "XXXX:XX:XX.X" */
|
||||
|
||||
VIR_ENUM_IMPL(virPCIELinkSpeed, VIR_PCIE_LINK_SPEED_LAST,
|
||||
"", "2.5", "5", "8")
|
||||
|
||||
struct _virPCIDevice {
|
||||
unsigned int domain;
|
||||
unsigned int bus;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* virpci.h: helper APIs for managing host PCI devices
|
||||
*
|
||||
* Copyright (C) 2009, 2011-2013 Red Hat, Inc.
|
||||
* Copyright (C) 2009, 2011-2014 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@ -26,6 +26,7 @@
|
||||
|
||||
# include "internal.h"
|
||||
# include "virobject.h"
|
||||
# include "virutil.h"
|
||||
|
||||
typedef struct _virPCIDevice virPCIDevice;
|
||||
typedef virPCIDevice *virPCIDevicePtr;
|
||||
@ -41,6 +42,33 @@ struct _virPCIDeviceAddress {
|
||||
unsigned int function;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
VIR_PCIE_LINK_SPEED_NA = 0,
|
||||
VIR_PCIE_LINK_SPEED_25,
|
||||
VIR_PCIE_LINK_SPEED_5,
|
||||
VIR_PCIE_LINK_SPEED_8,
|
||||
VIR_PCIE_LINK_SPEED_LAST
|
||||
} virPCIELinkSpeed;
|
||||
|
||||
VIR_ENUM_DECL(virPCIELinkSpeed)
|
||||
|
||||
typedef struct _virPCIELink virPCIELink;
|
||||
typedef virPCIELink *virPCIELinkPtr;
|
||||
struct _virPCIELink {
|
||||
int port;
|
||||
virPCIELinkSpeed speed;
|
||||
unsigned int width;
|
||||
};
|
||||
|
||||
typedef struct _virPCIEDeviceInfo virPCIEDeviceInfo;
|
||||
typedef virPCIEDeviceInfo *virPCIEDeviceInfoPtr;
|
||||
struct _virPCIEDeviceInfo {
|
||||
/* Not all PCI Express devices have link. For example this 'Root Complex
|
||||
* Integrated Endpoint' and 'Root Complex Event Collector' don't have it. */
|
||||
virPCIELink *link_cap; /* PCIe device link capabilities */
|
||||
virPCIELink *link_sta; /* Actually negotiated capabilities */
|
||||
};
|
||||
|
||||
virPCIDevicePtr virPCIDeviceNew(unsigned int domain,
|
||||
unsigned int bus,
|
||||
unsigned int slot,
|
||||
|
Loading…
Reference in New Issue
Block a user