On Thu, 10 Oct 2013 14:42:07 +0200 Gerd Hoffmann kraxel@redhat.com wrote:
Hi,
I think the issue is with legacy guests. E.g. if VCPU claims to support 50 bit of memory do we put high PCI memory at 1 << 50? If yes old guests which expect at most 40 bit will not be able to use it.
Hmm. Sure such guests exist?
I wouldn't be surprised. At least some windows guests crash if you try to tell them your system has too much physical memory (e.g. 2^48).
Ok, so there is not really a way around making the location configurable. The size isn't needed, qemu can handle this on it's own.
Guess we can just go with Igor's approach then. "etc/mem64-end" is a pretty bad name to say "please map 64bit pci bars here" though.
reasoning bind was to tell BIOS where RAM ends and let it decide what to do with this information.
But we could do other way around and use "etc/pci-info" that was proposed earlier by Michael, it is already committed into QEMU and provides start/end of 32/64-bit PCI windows in QEMU view. We could use pci-info.w64.start as base for 64-bit bars. If it's good enough, I'll amend my patch to use it.
cheers, Gerd