[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 1/3] pci_expander_bridge: reserve enough mcfg spac
From: |
Zihan Yang |
Subject: |
Re: [Qemu-devel] [RFC 1/3] pci_expander_bridge: reserve enough mcfg space for pxb host |
Date: |
Tue, 22 May 2018 13:59:00 +0800 |
Hi Marcel,
Thanks a lot for your feedback.
> I don't think we should try to place the MMCFGs before 4G even if there
> is enough room. Is better to place them always after 4G.
>
> "above_4g_mem" PCI hole it is reserved for PCI devices hotplug. We cannot
use if for
> MMCFGs. What I think we can do is to "move" the 64 bit PCI hole after the
MMCFGs.
> So the layout of over 4G space will be:
>
> [RAM hotplug][MMCFGs][PCI hotplug]...
OK, I will reorganize the memory layout. Should the number of MMCFG be
limited,
as there might be insufficient memory above 4G?
> Do you need the number of existing expander hosts? We have a
pxbdev_list, just query it.
Great, I think I missed that list.
> The above will need to change. We move the pci hole, not resize it.
> I am not sure this is the right place to handle it, maybe we add a new
property
> right beside pci_hole ones (extra-mmcfg?) and default it to 0.
That sounds good, so that we just need to check this range when setting
mcfg table instead of traversing the host bridge list.
> You cannot use the MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT as it is in use
> by the "main" root complex MMCFG. Actually I don't think we can come up
> with a valid default.
I see, I'll replcae it with unmapped then.
> Be aware this is used by both pxb and pxb-pcie devices, I think you
should split the type
>for each one and let the pxb's one as before.
OK, I had thought it would make codes simpler, as TYPE_PCIE_HOST_BRIDGE
is also the child of TYPE_PCI_HOST_BRIDGE, but I did forget about the pxb
devices. I'll split it in v2.
Thanks
Zihan
[Qemu-devel] [RFC 3/3] acpi-build: allocate mcfg for multiple host bridges, Zihan Yang, 2018/05/20