From: Michael S. Tsirkin Date: Sun, 1 Sep 2013 10:26:03 +0000 (+0300) Subject: q35: make pci window address/size match guest cfg X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=636228a887c4d5c0dc313bbf936de969b420a91a;p=qemu.git q35: make pci window address/size match guest cfg For Q35, MMCFG address and size are guest configurable. Update w32 property to make it behave accordingly. Signed-off-by: Michael S. Tsirkin --- diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index 54735043b7..72f6b7213b 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -214,6 +214,16 @@ static void mch_update_pciexbar(MCHPCIState *mch) } addr = pciexbar & addr_mask; pcie_host_mmcfg_update(pehb, enable, addr, length); + /* Leave enough space for the MCFG BAR */ + /* + * TODO: this matches current bios behaviour, but it's not a power of two, + * which means an MTRR can't cover it exactly. + */ + if (enable) { + mch->pci_info.w32.begin = addr + length; + } else { + mch->pci_info.w32.begin = MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT; + } } /* PAM */