On Tue, May 28, 2019 at 10:49:55PM -0400, Michael S. Tsirkin wrote: > On Wed, May 29, 2019 at 03:21:16AM +0200, Paolo Bonzini wrote: > > On 28/05/19 22:48, Gerd Hoffmann wrote: > > > Original q35 behavior was to split memory 2.75 GB, leaving space for the > > > mmconfig bar at 0xb000000 and pci I/O window starting at 0xc0000000. > > > > > > Note: Those machine types have been removed from the qemu codebase > > > meanwhile because they could not be live-migrated so there was little > > > value in keeping them around. > > > > > > With the effort to allow for gigabyte-alignment of guest memory that > > > behavior was changed: The split was moved to 2G, but only in case the > > > memory didn't fit below 2.75 GB. > > > > > > So today the address space between 2G and 2,75G is not used for guest > > > memory in typical use cases, where the guest memory sized at a power of > > > two or a gigabyte number. But if you configure your guest with some odd > > > amout of memory (such as 2.5G) the address space is used. > > > > Wasn't it done to ensure pre-PAE OSes could use as much memory as > > possible? (If you run pre-PAE OSes with more RAM than can fit below 4G, > > you can just reduce the amount of memory and get all the 2.75G). > > > > Paolo > > Absolutely. Gerd is just saying the configuration is rare enough that > it's not worth worrying about. I don't know myself - why do > we bother making this change? What's the advantage?
Some ovmf versions place the mmconfig @ 2G. Which works fine in 99% of the cases, but with memory sizes between 2G and 2.75G it doesn't. cheers, Gerd