On 09/26/18 06:44, Gerd Hoffmann wrote:
Second, the v5 RFC doesn't actually address the alleged bus number shortage. IIUC, it supports a low number of ECAM ranges under 4GB, but those are (individually) limited in the bus number ranges they can accommodate (due to 32-bit address space shortage). So more or less the current approach just fragments the bus number space we already have, to multiple domains.
Havn't looked at the qemu side too close yet, but as I understand things the firmware programs the ECAM location (simliar to the q35 mmconf bar), and this is just a limitation of the current seabios patch.
So, no, *that* part wouldn't be messy in ovmf, you can simply place the ECAMs where you want.
Figuring out "wherever I want" is the problem. It's not simple. The 64-bit MMIO aperture (for BAR allocation) can also be placed mostly "wherever the firmware wants", and that wasn't simple either. All these things end up depending on each other.
The placement of the q35 MMCONF BAR was difficult too; I needed your help with the low RAM split that QEMU would choose.
v2 patch (ended up as commit 7b8fe63561b4):
These things add up :(