[edk2-devel] [PATCH 03/43] OvmfPkg: switch IA32, IA32X64, X64 to the fw_cfg-only ACPI platform driver

Philippe Mathieu-Daudé philmd at redhat.com
Thu May 27 10:15:04 UTC 2021


On 5/26/21 10:14 PM, Laszlo Ersek wrote:
> Switch the historical OvmfPkg* platforms from the AcpiPlatformDxe driver
> to the QemuFwCfgAcpiPlatformDxe driver. (The latter is used by the
> ArmVirtQemu* platforms as well.)
> 
> The change effectively replaces the following call tree:
> 
>   InstallAcpiTables                [AcpiPlatform.c]
> 
>     XenDetected                    [XenPlatformLib] *
>     InstallXenTables               [Xen.c]          *
>       GetXenAcpiRsdp               [Xen.c]          *
> 
>     InstallQemuFwCfgTables         [QemuFwCfgAcpi.c]
>       ...
> 
>     InstallOvmfFvTables            [AcpiPlatform.c] *
>       QemuDetected                 [Qemu.c]         *
>       LocateFvInstanceWithTables   [AcpiPlatform.c] *
>         QemuInstallAcpiTable       [Qemu.c]         *
>           QemuInstallAcpiMadtTable [Qemu.c]         *
>             CountBits16            [Qemu.c]         *
>           QemuInstallAcpiSsdtTable [Qemu.c]         *
>             GetSuspendStates       [Qemu.c]         *
>             PopulateFwData         [Qemu.c]         *
> 
> with the one below:
> 
>   InstallAcpiTables        [QemuFwCfgAcpiPlatform.c]
>     InstallQemuFwCfgTables [QemuFwCfgAcpi.c]
>       ...
> 
> eliminating the sub-trees highlighted with "*".
> 
> There are two consequences:
> 
> (1) Xen compatibility is removed from the ACPI platform driver of the
>    historical OvmfPkg* platforms.
> 
> (2) The ACPI tables that are statically built into OVMF (via
>     "OvmfPkg/AcpiTables/AcpiTables.inf") are never installed. In
>     particular, OVMF's own runtime preparation of the MADT and SSDT is
>     eliminated.
> 
> Because of (2), remove the "OvmfPkg/AcpiTables/AcpiTables.inf" module as
> well -- and then the ACPITABLE build rule too.
> 
> Note that (2) only removes effectively dead code; the QEMU ACPI
> linker-loader has taken priority since QEMU 1.7.1 (2014). References:
> 
> - https://wiki.qemu.org/Planning/1.7
> - https://wiki.qemu.org/Features/ACPITableGeneration
> - edk2 commit 96bbdbc85693 ("OvmfPkg: AcpiPlatformDxe: download ACPI
>                             tables from QEMU", 2014-03-31)
> - edk2 commit 387536e472aa ("OvmfPkg: AcpiPlatformDxe: implement QEMU's
>                             full ACPI table loader interface", 2014-09-22)
> 
> Cc: Ard Biesheuvel <ardb+tianocore at kernel.org>
> Cc: Jordan Justen <jordan.l.justen at intel.com>
> Cc: Philippe Mathieu-Daudé <philmd at redhat.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
> Signed-off-by: Laszlo Ersek <lersek at redhat.com>
> ---
>  OvmfPkg/OvmfPkgIa32.dsc    | 3 +--
>  OvmfPkg/OvmfPkgIa32X64.dsc | 3 +--
>  OvmfPkg/OvmfPkgX64.dsc     | 3 +--
>  OvmfPkg/OvmfPkgIa32.fdf    | 9 +--------
>  OvmfPkg/OvmfPkgIa32X64.fdf | 9 +--------
>  OvmfPkg/OvmfPkgX64.fdf     | 9 +--------
>  6 files changed, 6 insertions(+), 30 deletions(-)

Reviewed-by: Philippe Mathieu-Daude <philmd at redhat.com>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75797): https://edk2.groups.io/g/devel/message/75797
Mute This Topic: https://groups.io/mt/83110310/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