summaryrefslogtreecommitdiffstats
path: root/hw/pci.h
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2012-06-14 12:15:51 -0600
committerMichael S. Tsirkin <mst@robin.(none)>2012-06-18 10:21:05 +0300
commit53f949254ad2435bfd45cb0dee96f246a0bdd7e3 (patch)
tree280a5d7b4b69818743f9023a175788f828cc9856 /hw/pci.h
parent118f2c2b48b9758a3a2967868b337eb388d1531b (diff)
downloadhqemu-53f949254ad2435bfd45cb0dee96f246a0bdd7e3.zip
hqemu-53f949254ad2435bfd45cb0dee96f246a0bdd7e3.tar.gz
msix: Add simple BAR allocation MSIX setup functions
msi_init() takes over a BAR without really specifying or allowing specification of how it does so. Instead, let's split it into two interfaces, one fully specified, and one trivially easy. This implements the latter. msix_init_exclusive_bar() takes over allocating and filling a PCI BAR _exclusively_ for the use of MSIX. When used, the matching msi_uninit_exclusive_bar() should be used to tear it down. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/pci.h')
-rw-r--r--hw/pci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/pci.h b/hw/pci.h
index 3d534e7..7344891 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -222,6 +222,8 @@ struct PCIDevice {
/* Space to store MSIX table */
uint8_t *msix_table_page;
+ /* MemoryRegion container for msix exclusive BAR setup */
+ MemoryRegion msix_exclusive_bar;
/* MMIO index used to map MSIX table and pending bit entries. */
MemoryRegion msix_mmio;
/* Reference-count for entries actually in use by driver. */
OpenPOWER on IntegriCloud