aboutsummaryrefslogtreecommitdiffstats
path: root/src/fw/pciinit.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2020-03-23 15:59:11 +0100
committerGerd Hoffmann <kraxel@redhat.com>2020-03-27 08:32:45 +0100
commit6a3b59ab9c7dc00331c21346052dfa6a0df45aa3 (patch)
treed969a64fc2528152c593f0a874d9ee5d9011a908 /src/fw/pciinit.c
parent63a44aff7a6a2303ff1c03b6bfcfa6477943e60d (diff)
downloadseabios-6a3b59ab9c7dc00331c21346052dfa6a0df45aa3.tar.gz
pci: add mmconfig support
Add support for pci config space access via mmconfig bar. Enable for qemu q35 chipset. Main advantage is that we need only one instead of two io operations per config space access, which translates to one instead of two vmexits for virtualization. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20200323145911.22319-3-kraxel@redhat.com
Diffstat (limited to 'src/fw/pciinit.c')
-rw-r--r--src/fw/pciinit.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
index d5e87f00..d25931bb 100644
--- a/src/fw/pciinit.c
+++ b/src/fw/pciinit.c
@@ -480,6 +480,7 @@ static void mch_mmconfig_setup(u16 bdf)
pci_config_writel(bdf, Q35_HOST_BRIDGE_PCIEXBAR, 0);
pci_config_writel(bdf, Q35_HOST_BRIDGE_PCIEXBAR + 4, upper);
pci_config_writel(bdf, Q35_HOST_BRIDGE_PCIEXBAR, lower);
+ pci_enable_mmconfig(Q35_HOST_BRIDGE_PCIEXBAR_ADDR, "q35");
}
static void mch_mem_addr_setup(struct pci_device *dev, void *arg)