[edk2-devel] [PATCH 0/4] OvmfPkg/PlatformPei: fix two assertion failures with weird RAM sizes

Laszlo Ersek lersek at redhat.com
Wed May 15 10:36:22 UTC 2019


Hi Stewards,

it seems likely that this patch series -- posted on 2019-May-04 -- will
not receive the necessary maintainer A-b's / R-b's before we enter the
soft feature freeze for edk2-stable201905.

Therefore I'd like to state that I consider this series a bugfix series,
not a feature addition. I'm now asking for confirmation that I'll be
allowed to push the series -- dependent on the expected reviewer
feedback of course -- even after 2019-May-17 08:00:00 UTC.

Please also state whether I will need to open a TianoCore BZ for
tracking this work (and to update the commit messages accordingly). I
haven't done that because we already have two public BZs for the issue
in the Red Hat Bugzilla instance, with issue description and analysis.
(RHBZ references are captured in both the blurb below, and in the
patches themselves.)

Thanks
Laszlo

On 05/04/19 02:07, Laszlo Ersek wrote:
> Repo:   https://github.com/lersek/edk2.git
> Branch: exbar_mtrr_rhbz_1666941
> Ref:    https://bugzilla.redhat.com/show_bug.cgi?id=1666941
> Ref:    https://bugzilla.redhat.com/show_bug.cgi?id=1701710
> 
> When booting OVMF on QEMU with "weird" RAM sizes, QEMU's low-RAM split
> logic can trigger two assertion failures in OVMF:
> 
> - conflict between PCIEXBAR (ECAM) and low-RAM, on q35,
> 
> - running out of variable MTRRs when marking the uncacheable MMIO range
>   in 32-bit address space, on both i440fx and q35.
> 
> This series fixes both issues, by moving around the PCIEXBAR on q35, and
> by truncating the size of the uncacheable 32-bit area to a power of two.
> The latter idea was inspired by SeaBIOS.
> 
> Tested on both machine types, with the following memory sizes (all in
> MB): 1025, 2815, 3583, 5120. On i440fx, the X64 build was used (without
> SMM). On q35, the IA32 and IA32X64 builds were used (with SMM). Testing
> included "/proc/mtrr" verification, 32-bit PCI MMIO aperture
> verification, general dmesg checks, and my usual regression tests too
> (ACPI S3, UEFI variable services, ...).
> 
> Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> Cc: Gerd Hoffmann <kraxel at redhat.com>
> Cc: Jordan Justen <jordan.l.justen at intel.com>
> 
> Thanks
> Laszlo
> 
> Laszlo Ersek (4):
>   OvmfPkg/PlatformPei: assign PciSize on both i440fx/q35 branches
>     explicitly
>   OvmfPkg/PlatformPei: hoist PciBase assignment above the i440fx/q35
>     branching
>   OvmfPkg/PlatformPei: reorder the 32-bit PCI hole vs. the PCIEXBAR on
>     q35
>   OvmfPkg/PlatformPei: fix MTRR for low-RAM sizes that have many bits
>     clear
> 
>  OvmfPkg/OvmfPkgIa32.dsc         |  5 +----
>  OvmfPkg/OvmfPkgIa32X64.dsc      |  5 +----
>  OvmfPkg/OvmfPkgX64.dsc          |  5 +----
>  OvmfPkg/PlatformPei/MemDetect.c | 23 +++++++++++++++++---
>  OvmfPkg/PlatformPei/Platform.c  | 14 +++++-------
>  OvmfPkg/PlatformPei/Platform.h  |  2 ++
>  6 files changed, 31 insertions(+), 23 deletions(-)
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40682): https://edk2.groups.io/g/devel/message/40682
Mute This Topic: https://groups.io/mt/31489694/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list