On 03/27/14 22:00, Laszlo Ersek wrote: > On 03/27/14 19:05, Jordan Justen wrote: >> On Tue, Mar 25, 2014 at 4:58 PM, Laszlo Ersek <[email protected]> wrote:
>>> - The patch causes a regression in PCI resource allocation for some guest >>> RAM sizes (eg. 2560MB) when OVMF runs on qemu v1.7.0 precisely, and the >>> "pc-i440fx-1.7" (ie. default) machine type is selected. This bug has >>> been fixed in qemu v1.7.1 (commit 03bc4f6 -- "piix: fix 32bit pci >>> hole"). >> >> Doesn't this cause a hang in certain situations? Could you more >> clearly indicate the symptom seen on 1.7.0? > > I hope this one's clear enough :) : > > http://thread.gmane.org/gmane.comp.emulators.qemu/257366/focus=257529 > > Dependent on guest, it may cause a nonfunctional display (blank screen), > but (as linked above) some Linux guests like to crash too. Please see also, from the v1 discussion: http://thread.gmane.org/gmane.comp.bios.tianocore.devel/4881/focus=5021 What we have reached with qemu commit 03bc4f6 is this: > (2) PCI resource alloc / (1) memmap || (X) qemu \ > (3) ACPI \ > (4) guest OS access -- matches (2) by way of code duplication between (1) and (X) The "code duplication" here means that after stable 1.7.x commit 03bc4f6, and 2.0 commit ddaaefb4, it's not only OVMF that allocates the PCI bars for the devices starting right above the top of the low memory, but also qemu advertises the same range in the _CRS that it exports to the guest OS (which OVMF passes through blindly). Qemu 1.7.0 exports a _CRS that doesn't cover all of the PCI bars that OVMF allocates, for some guest RAM sizes (because OVMF starts mapping just above the top of low RAM, like always, but qemu-1.7.0 starts the _CRS higher than that). Accesses to a subset of the bars (ie. those that would fall outside (== below) the qemu-exported _CRS) wouldn't reach the devices. Laszlo ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
