On Tue, Nov 22, 2022 at 01:43:16PM -0500, Kevin O'Connor wrote:
On Mon, Nov 21, 2022 at 11:32:13AM +0100, Gerd Hoffmann wrote:
Current seabios code will only enable and use the 64bit pci io window in case it runs out of space in the 32bit pci mmio window below 4G.
This patch will also enable the 64bit pci io window when (a) RAM above 4G is present, and (b) the physical address space size is known, and (c) seabios is running on a 64bit capable processor.
This operates with the assumption that guests which are ok with memory above 4G most likely can handle mmio above 4G too.
Thanks. In general, the series looks good to me. Can you elaborate on the background to this change though? It sounds like there is a (small) risk of a regression, so I think it would be good to have a high level understanding of what is driving this memory reorg.
Well, the idea is to adapt to the world moving forward. Running a 64-bit capable OS is standard these days, and the resources needed by devices (especially GPUs) are becoming larger and larger.
Yes, there is the risk that (old) guests are unhappy with their PCI bars suddenly being mapped above 4G. Can happen only in case seabios handles pci initialization (i.e. when running on qemu, otherwise coreboot initializes the pci bars). I hope the memory check handles the 'old guest' case: when the guest can't handle addresses above 4G it is unlikely that qemu is configured to have memory mapped above 4G ...
take care, Gerd