aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJohn Levon <john.levon@nutanix.com>2020-12-15 10:24:20 +0000
committerGitHub <noreply@github.com>2020-12-15 10:24:20 +0000
commit39a158b50590ca899e38d9c77a8508efcd0314ea (patch)
treed16e9ac0303b7431d1f7bb190958d350cc5ea34b /include
parentf240c889171ab22e7b8b0b460792b0df94c335c1 (diff)
downloadlibvfio-user-39a158b50590ca899e38d9c77a8508efcd0314ea.zip
libvfio-user-39a158b50590ca899e38d9c77a8508efcd0314ea.tar.gz
libvfio-user-39a158b50590ca899e38d9c77a8508efcd0314ea.tar.bz2
remove vfu_get_pci_non_std_config_space() (#195)
Remove this API as well as vfu_pci_non_std_config_space_t. It's at best confusing to try to represent this area as if it's not just a normal part of the overall config space, and we don't really want an additional API for the extended space past either. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
Diffstat (limited to 'include')
-rw-r--r--include/libvfio-user.h18
-rw-r--r--include/pci.h14
2 files changed, 10 insertions, 22 deletions
diff --git a/include/libvfio-user.h b/include/libvfio-user.h
index 95c5e7d..1aa5536 100644
--- a/include/libvfio-user.h
+++ b/include/libvfio-user.h
@@ -99,7 +99,12 @@ void *
vfu_mmap(vfu_ctx_t * vfu_ctx, off_t offset, size_t length);
/*
- * Returns a pointer to the standard part of the PCI configuration space.
+ * Returns a pointer to the PCI configuration space.
+ *
+ * PCI config space consists of an initial 64-byte vfu_pci_hdr_t, plus
+ * additional space, either containing capabilities, or device-specific
+ * configuration. Standard confspace is 256 bytes; extended config space is
+ * 4096 bytes.
*/
vfu_pci_config_space_t *
vfu_pci_get_config_space(vfu_ctx_t *vfu_ctx);
@@ -571,17 +576,6 @@ int
vfu_dma_write(vfu_ctx_t *vfu_ctx, dma_sg_t *sg, void *data);
/*
- * Advanced stuff.
- */
-
-/**
- * Returns the non-standard part of the PCI configuration space.
- * @vfu_ctx: the libvfio-user context
- */
-uint8_t *
-vfu_get_pci_non_std_config_space(vfu_ctx_t *vfu_ctx);
-
-/*
* Finalizes the device making it ready for vfu_attach_ctx(). This function is
* mandatory to be called before vfu_attach_ctx().
* @vfu_ctx: the libvfio-user context
diff --git a/include/pci.h b/include/pci.h
index 9511ba9..112becf 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -177,19 +177,13 @@ typedef union {
} __attribute__ ((packed)) vfu_pci_hdr_t;
_Static_assert(sizeof(vfu_pci_hdr_t) == 0x40, "bad PCI header size");
-typedef struct {
- uint8_t raw[PCI_CFG_SPACE_SIZE - PCI_STD_HEADER_SIZEOF];
-} __attribute__ ((packed)) vfu_pci_non_std_config_space_t;
-_Static_assert(sizeof(vfu_pci_non_std_config_space_t) == 0xc0,
- "bad non-standard PCI configuration space size");
-
+/*
+ * Note that extended config space is 4096 bytes.
+ */
typedef struct {
union {
uint8_t raw[PCI_CFG_SPACE_SIZE];
- struct {
- vfu_pci_hdr_t hdr;
- vfu_pci_non_std_config_space_t non_std;
- } __attribute__ ((packed));
+ vfu_pci_hdr_t hdr;
} __attribute__ ((packed));
uint8_t extended[];
} __attribute__ ((packed)) vfu_pci_config_space_t;