On Wed, 4 Sep 2013 13:48:29 +0300 "Michael S. Tsirkin" <m...@redhat.com> wrote:
> For Q35, MMCFG address and size are guest configurable. > Update w32 property to make it behave accordingly. > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > --- > hw/pci-host/q35.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c > index 4febd24..3f1d447 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; > + } > } I probably miss something but where is remapping in system address space? If there is none then, then updated w32 might mismatch actually/initially mapped alias. > /* PAM */