Maintainers.txt | 10 +-
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c | 262 --------
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 50 +-
OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 71 --
OvmfPkg/AcpiPlatformDxe/BootScript.c | 7 +-
OvmfPkg/AcpiPlatformDxe/EntryPoint.c | 7 +-
OvmfPkg/AcpiPlatformDxe/PciDecoding.c | 4 +-
OvmfPkg/AcpiPlatformDxe/Qemu.c | 511 ---------------
OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c | 21 +-
OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf | 5 +-
OvmfPkg/AcpiTables/AcpiTables.inf | 38 --
OvmfPkg/AcpiTables/Dsdt.asl | 692 --------------------
OvmfPkg/AcpiTables/Facp.aslc | 89 ---
OvmfPkg/AcpiTables/Facs.aslc | 78 ---
OvmfPkg/AcpiTables/Madt.aslc | 153 -----
OvmfPkg/AcpiTables/Platform.h | 68 --
OvmfPkg/AcpiTables/Ssdt.asl | 13 -
OvmfPkg/AmdSev/AmdSevX64.dsc | 9 +-
OvmfPkg/AmdSev/AmdSevX64.fdf | 12 +-
OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c | 2 +-
OvmfPkg/Bhyve/BhyveX64.dsc | 5 +-
OvmfPkg/Bhyve/BhyveX64.fdf | 1 -
OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf | 1 -
OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h | 8 +-
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.c | 10 +-
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf | 2 -
OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 28 +-
OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8 +-
OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h | 4 +-
OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c | 74 +++
OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} | 24 +-
OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} | 27 +-
OvmfPkg/OvmfPkgIa32.dsc | 10 +-
OvmfPkg/OvmfPkgIa32.fdf | 12 +-
OvmfPkg/OvmfPkgIa32X64.dsc | 10 +-
OvmfPkg/OvmfPkgIa32X64.fdf | 12 +-
OvmfPkg/OvmfPkgX64.dsc | 10 +-
OvmfPkg/OvmfPkgX64.fdf | 12 +-
OvmfPkg/OvmfXen.dsc | 10 +-
OvmfPkg/OvmfXen.fdf | 12 +-
OvmfPkg/PlatformPei/MemDetect.c | 10 +-
OvmfPkg/PlatformPei/Platform.c | 162 +++--
OvmfPkg/PlatformPei/Platform.h | 17 -
OvmfPkg/PlatformPei/PlatformPei.inf | 4 -
OvmfPkg/PlatformPei/Xen.c | 222 -------
OvmfPkg/PlatformPei/Xen.h | 39 --
OvmfPkg/README | 43 +-
OvmfPkg/SmbiosPlatformDxe/ArmXen.c | 2 +-
OvmfPkg/SmbiosPlatformDxe/Qemu.c | 41 +-
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 79 +--
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h | 37 +-
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 23 +-
OvmfPkg/SmbiosPlatformDxe/X86Xen.c | 8 +-
OvmfPkg/SmbiosPlatformDxe/Xen.c | 49 ++
OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} | 20 +-
OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} | 32 +-
OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c | 41 ++
OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h | 28 +
OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c | 43 ++
OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c | 66 +-
OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf | 45 ++
OvmfPkg/XenPlatformPei/Platform.c | 1 -
OvmfPkg/XenPlatformPei/Platform.h | 5 -
OvmfPkg/XenPlatformPei/Xen.c | 20 -
OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 1 -
65 files changed, 593 insertions(+), 2827 deletions(-)
delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c
delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
delete mode 100644 OvmfPkg/AcpiPlatformDxe/Qemu.c
delete mode 100644 OvmfPkg/AcpiTables/AcpiTables.inf
delete mode 100644 OvmfPkg/AcpiTables/Dsdt.asl
delete mode 100644 OvmfPkg/AcpiTables/Facp.aslc
delete mode 100644 OvmfPkg/AcpiTables/Facs.aslc
delete mode 100644 OvmfPkg/AcpiTables/Madt.aslc
delete mode 100644 OvmfPkg/AcpiTables/Platform.h
delete mode 100644 OvmfPkg/AcpiTables/Ssdt.asl
rename OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h (94%)
rename OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h (57%)
create mode 100644 OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c
copy OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} (51%)
rename OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} (91%)
delete mode 100644 OvmfPkg/PlatformPei/Xen.c
delete mode 100644 OvmfPkg/PlatformPei/Xen.h
create mode 100644 OvmfPkg/SmbiosPlatformDxe/Xen.c
copy OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} (56%)
copy OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} (65%)
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c
rename OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c (82%)
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
Repo: https://pagure.io/lersek/edk2.git
Branch: xen_split_bz_2122
This patch set removes dynamic Xen enlightenment from the following
platforms:
OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg/OvmfPkgIa32X64.dsc
OvmfPkg/OvmfPkgX64.dsc
In Xen guests, the following platform should be used:
OvmfPkg/OvmfXen.dsc
Please see more details / references in the bugzilla ticket.
NOOPT build savings:
- Ia32: PEIFV 1536 bytes, DXEFV 130288 bytes
- Ia32X64: PEIFV 1536 bytes, DXEFV 140912 bytes
- X64: PEIFV 1664 bytes, DXEFV 140912 bytes
- Xen: PEIFV 256 bytes, DXEFV 69504 bytes
Functional testing:
- Booted a Fedora guest on OvmfPkgIa32X64 on QEMU/KVM, compared verbose
logs before-after. Memory allocations were satisfied at different
addresses, as expected, plus the Xen drivers were absent. No
differences otherwise.
- Booted a RHEL guest on ArmVirtQemu on AARCH64. Memory allocations were
satisfied at different addresses, as expected.
- Xen regression-testing was not done; I'm requesting feedback.
Build testing / bisectability: at every stage, the series builds with
the following script:
> #!/bin/bash
> set -e -u -C
>
> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a AARCH64
> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a ARM
> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a AARCH64
> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a ARM
> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a AARCH64
> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a ARM
> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a AARCH64
> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a ARM
> build -b NOOPT -t GCC5 -p OvmfPkg/AmdSev/AmdSevX64.dsc -a X64
> build -b NOOPT -t GCC5 -p OvmfPkg/Bhyve/BhyveX64.dsc -a X64
> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32.dsc -a IA32
> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64
> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -a X64
> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfXen.dsc -a X64
The patches in the series were formatted with the following options, for
posting:
--stat=1000 --stat-graph-width=20 --find-copies-harder -U6
(The option "--find-copies-harder" is not the best for presenting every
single patch in the series, in isolation, but taken globally for the
entire series, it is the most helpful option.)
Some patches advance with really small steps, in order to cut down on a
subsequent "meaty" patch. Personally I don't like reviewing code
movement patches, so I did my best to (a) keep that to a minimum, and
(b) present it as unintrusively as possible.
The CC list is a bit long; the reason is that I kept touching up
"Maintainers.txt", and the "OvmfPkg/Bhyve" and "OvmfPkg/AmdSev"
platforms as well (whenever it made sense).
Cc: Andrew Fish <afish@apple.com>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien@xen.org>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Peter Grehan <grehan@freebsd.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Thanks,
Laszlo
Laszlo Ersek (43):
OvmfPkg: remove the Xen drivers from the IA32, IA32X64, and X64
platforms
OvmfPkg: remove the Xen drivers from the AmdSev platform
OvmfPkg: switch IA32, IA32X64, X64 to the fw_cfg-only ACPI platform
driver
OvmfPkg: switch the AmdSev platform to the fw_cfg-only ACPI platform
driver
OvmfPkg/README: bump minimum QEMU version to 1.7.1, machine types to
1.7
OvmfPkg/AcpiPlatformDxe: fix header file warts
OvmfPkg/AcpiPlatformDxe: sort #includes and [LibraryClasses]
OvmfPkg/AcpiPlatformDxe/QemuLoader.h: remove QemuFwCfgLib class
dependency
OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard
OvmfPkg/AcpiPlatformDxe: consolidate #includes and [LibraryClasses]
OvmfPkg/XenAcpiPlatformDxe: create from AcpiPlatformDxe
OvmfPkg/AcpiPlatformDxe: remove the "AcpiPlatformDxe.inf" driver
OvmfPkg/XenAcpiPlatformDxe: remove the QEMU ACPI linker/loader client
OvmfPkg/XenAcpiPlatformDxe: remove QEMU fw_cfg dependency
OvmfPkg/XenAcpiPlatformDxe: remove the InstallAcpiTable() helper
function
OvmfPkg/XenAcpiPlatformDxe: remove OVMF's built-in ACPI tables
OvmfPkg/Bhyve/AcpiPlatformDxe: fix file path typo in comment
OvmfPkg/AcpiTables: remove unused module
OvmfPkg/OvmfXen: make "PcdPciDisableBusEnumeration" Fixed-at-Build
OvmfPkg/XenAcpiPlatformDxe: remove delayed ACPI table installation
OvmfPkg/PlatformPei: remove Xen support
OvmfPkg: drop PcdPciDisableBusEnumeration from the IA32, IA32X64, X64
DSCs
OvmfPkg: drop PcdPciDisableBusEnumeration from the AmdSev platform
OvmfPkg/Bhyve: make "PcdPciDisableBusEnumeration" Fixed-at-Build
OvmfPkg/OvmfXen: remove IncompatiblePciDeviceSupport DXE driver
OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver
OvmfPkg/IncompatiblePciDeviceSupportDxe: remove
PcdPciDisableBusEnumeration
OvmfPkg/PciHostBridgeLib: consolidate #includes and INF file sections
OvmfPkg/PciHostBridgeLibScan: create from PciHostBridgeLib
OvmfPkg/Bhyve: consume PciHostBridgeLibScan
OvmfPkg/OvmfXen: consume PciHostBridgeLibScan
OvmfPkg/PciHostBridgeLib: remove Bhyve and Xen support
OvmfPkg/PciHostBridgeLibScan: remove QEMU (fw_cfg) support
OvmfPkg/PciHostBridgeLibScan: remove PcdOvmfHostBridgePciDevId
OvmfPkg/PciHostBridgeLibScan: clean up file names and file-top
comments
OvmfPkg/SmbiosPlatformDxe: clean up #includes and INF
OvmfPkg/SmbiosPlatformDxe: return EFI_NOT_FOUND if there is no SMBIOS
data
OvmfPkg/SmbiosPlatformDxe: locate SMBIOS protocol in
InstallAllStructures()
OvmfPkg/SmbiosPlatformDxe: split GetXenSmbiosTables() decl. to new
header
OvmfPkg/SmbiosPlatformDxe: declare InstallAllStructures() in header
file
OvmfPkg/SmbiosPlatformDxe: create Xen-specific module INF file
OvmfPkg/SmbiosPlatformDxe: split Xen entry point from QEMU entry point
OvmfPkg: restrict XenPlatformLib to BdsDxe in the IA32, IA32X64, X64
DSCs
Maintainers.txt | 10 +-
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c | 262 --------
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 50 +-
OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 71 --
OvmfPkg/AcpiPlatformDxe/BootScript.c | 7 +-
OvmfPkg/AcpiPlatformDxe/EntryPoint.c | 7 +-
OvmfPkg/AcpiPlatformDxe/PciDecoding.c | 4 +-
OvmfPkg/AcpiPlatformDxe/Qemu.c | 511 ---------------
OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c | 21 +-
OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf | 5 +-
OvmfPkg/AcpiTables/AcpiTables.inf | 38 --
OvmfPkg/AcpiTables/Dsdt.asl | 692 --------------------
OvmfPkg/AcpiTables/Facp.aslc | 89 ---
OvmfPkg/AcpiTables/Facs.aslc | 78 ---
OvmfPkg/AcpiTables/Madt.aslc | 153 -----
OvmfPkg/AcpiTables/Platform.h | 68 --
OvmfPkg/AcpiTables/Ssdt.asl | 13 -
OvmfPkg/AmdSev/AmdSevX64.dsc | 9 +-
OvmfPkg/AmdSev/AmdSevX64.fdf | 12 +-
OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c | 2 +-
OvmfPkg/Bhyve/BhyveX64.dsc | 5 +-
OvmfPkg/Bhyve/BhyveX64.fdf | 1 -
OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf | 1 -
OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h | 8 +-
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.c | 10 +-
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf | 2 -
OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 28 +-
OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8 +-
OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h | 4 +-
OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c | 74 +++
OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} | 24 +-
OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} | 27 +-
OvmfPkg/OvmfPkgIa32.dsc | 10 +-
OvmfPkg/OvmfPkgIa32.fdf | 12 +-
OvmfPkg/OvmfPkgIa32X64.dsc | 10 +-
OvmfPkg/OvmfPkgIa32X64.fdf | 12 +-
OvmfPkg/OvmfPkgX64.dsc | 10 +-
OvmfPkg/OvmfPkgX64.fdf | 12 +-
OvmfPkg/OvmfXen.dsc | 10 +-
OvmfPkg/OvmfXen.fdf | 12 +-
OvmfPkg/PlatformPei/MemDetect.c | 10 +-
OvmfPkg/PlatformPei/Platform.c | 162 +++--
OvmfPkg/PlatformPei/Platform.h | 17 -
OvmfPkg/PlatformPei/PlatformPei.inf | 4 -
OvmfPkg/PlatformPei/Xen.c | 222 -------
OvmfPkg/PlatformPei/Xen.h | 39 --
OvmfPkg/README | 43 +-
OvmfPkg/SmbiosPlatformDxe/ArmXen.c | 2 +-
OvmfPkg/SmbiosPlatformDxe/Qemu.c | 41 +-
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 79 +--
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h | 37 +-
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 23 +-
OvmfPkg/SmbiosPlatformDxe/X86Xen.c | 8 +-
OvmfPkg/SmbiosPlatformDxe/Xen.c | 49 ++
OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} | 20 +-
OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} | 32 +-
OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c | 41 ++
OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h | 28 +
OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c | 43 ++
OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c | 66 +-
OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf | 45 ++
OvmfPkg/XenPlatformPei/Platform.c | 1 -
OvmfPkg/XenPlatformPei/Platform.h | 5 -
OvmfPkg/XenPlatformPei/Xen.c | 20 -
OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 1 -
65 files changed, 593 insertions(+), 2827 deletions(-)
delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c
delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
delete mode 100644 OvmfPkg/AcpiPlatformDxe/Qemu.c
delete mode 100644 OvmfPkg/AcpiTables/AcpiTables.inf
delete mode 100644 OvmfPkg/AcpiTables/Dsdt.asl
delete mode 100644 OvmfPkg/AcpiTables/Facp.aslc
delete mode 100644 OvmfPkg/AcpiTables/Facs.aslc
delete mode 100644 OvmfPkg/AcpiTables/Madt.aslc
delete mode 100644 OvmfPkg/AcpiTables/Platform.h
delete mode 100644 OvmfPkg/AcpiTables/Ssdt.asl
rename OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h (94%)
rename OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h (57%)
create mode 100644 OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c
copy OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} (51%)
rename OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} (91%)
delete mode 100644 OvmfPkg/PlatformPei/Xen.c
delete mode 100644 OvmfPkg/PlatformPei/Xen.h
create mode 100644 OvmfPkg/SmbiosPlatformDxe/Xen.c
copy OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} (56%)
copy OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} (65%)
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c
rename OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c (82%)
create mode 100644 OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf
base-commit: cfa6ffb113f2c0d922034cc77c0d6c52eea05497
--
2.19.1.3.g30247aa5d201
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75669): https://edk2.groups.io/g/devel/message/75669
Mute This Topic: https://groups.io/mt/83110232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On Wed, 26 May 2021 at 22:15, Laszlo Ersek <lersek@redhat.com> wrote:
>
> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
> Repo: https://pagure.io/lersek/edk2.git
> Branch: xen_split_bz_2122
>
> This patch set removes dynamic Xen enlightenment from the following
> platforms:
>
> OvmfPkg/OvmfPkgIa32.dsc
> OvmfPkg/OvmfPkgIa32X64.dsc
> OvmfPkg/OvmfPkgX64.dsc
>
> In Xen guests, the following platform should be used:
>
> OvmfPkg/OvmfXen.dsc
>
> Please see more details / references in the bugzilla ticket.
>
> NOOPT build savings:
>
> - Ia32: PEIFV 1536 bytes, DXEFV 130288 bytes
> - Ia32X64: PEIFV 1536 bytes, DXEFV 140912 bytes
> - X64: PEIFV 1664 bytes, DXEFV 140912 bytes
> - Xen: PEIFV 256 bytes, DXEFV 69504 bytes
>
> Functional testing:
>
> - Booted a Fedora guest on OvmfPkgIa32X64 on QEMU/KVM, compared verbose
> logs before-after. Memory allocations were satisfied at different
> addresses, as expected, plus the Xen drivers were absent. No
> differences otherwise.
>
> - Booted a RHEL guest on ArmVirtQemu on AARCH64. Memory allocations were
> satisfied at different addresses, as expected.
>
> - Xen regression-testing was not done; I'm requesting feedback.
>
> Build testing / bisectability: at every stage, the series builds with
> the following script:
>
> > #!/bin/bash
> > set -e -u -C
> >
> > build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a AARCH64
> > build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a ARM
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a AARCH64
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a ARM
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a AARCH64
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a ARM
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a AARCH64
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a ARM
> > build -b NOOPT -t GCC5 -p OvmfPkg/AmdSev/AmdSevX64.dsc -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/Bhyve/BhyveX64.dsc -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32.dsc -a IA32
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfXen.dsc -a X64
>
> The patches in the series were formatted with the following options, for
> posting:
>
> --stat=1000 --stat-graph-width=20 --find-copies-harder -U6
>
> (The option "--find-copies-harder" is not the best for presenting every
> single patch in the series, in isolation, but taken globally for the
> entire series, it is the most helpful option.)
>
> Some patches advance with really small steps, in order to cut down on a
> subsequent "meaty" patch. Personally I don't like reviewing code
> movement patches, so I did my best to (a) keep that to a minimum, and
> (b) present it as unintrusively as possible.
>
> The CC list is a bit long; the reason is that I kept touching up
> "Maintainers.txt", and the "OvmfPkg/Bhyve" and "OvmfPkg/AmdSev"
> platforms as well (whenever it made sense).
>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Anthony Perard <anthony.perard@citrix.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Brijesh Singh <brijesh.singh@amd.com>
> Cc: Erdem Aktas <erdemaktas@google.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Min Xu <min.m.xu@intel.com>
> Cc: Peter Grehan <grehan@freebsd.org>
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Tom Lendacky <thomas.lendacky@amd.com>
>
> Thanks,
> Laszlo
>
> Laszlo Ersek (43):
> OvmfPkg: remove the Xen drivers from the IA32, IA32X64, and X64
> platforms
> OvmfPkg: remove the Xen drivers from the AmdSev platform
> OvmfPkg: switch IA32, IA32X64, X64 to the fw_cfg-only ACPI platform
> driver
> OvmfPkg: switch the AmdSev platform to the fw_cfg-only ACPI platform
> driver
> OvmfPkg/README: bump minimum QEMU version to 1.7.1, machine types to
> 1.7
> OvmfPkg/AcpiPlatformDxe: fix header file warts
> OvmfPkg/AcpiPlatformDxe: sort #includes and [LibraryClasses]
> OvmfPkg/AcpiPlatformDxe/QemuLoader.h: remove QemuFwCfgLib class
> dependency
> OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard
> OvmfPkg/AcpiPlatformDxe: consolidate #includes and [LibraryClasses]
> OvmfPkg/XenAcpiPlatformDxe: create from AcpiPlatformDxe
> OvmfPkg/AcpiPlatformDxe: remove the "AcpiPlatformDxe.inf" driver
> OvmfPkg/XenAcpiPlatformDxe: remove the QEMU ACPI linker/loader client
> OvmfPkg/XenAcpiPlatformDxe: remove QEMU fw_cfg dependency
> OvmfPkg/XenAcpiPlatformDxe: remove the InstallAcpiTable() helper
> function
> OvmfPkg/XenAcpiPlatformDxe: remove OVMF's built-in ACPI tables
> OvmfPkg/Bhyve/AcpiPlatformDxe: fix file path typo in comment
> OvmfPkg/AcpiTables: remove unused module
> OvmfPkg/OvmfXen: make "PcdPciDisableBusEnumeration" Fixed-at-Build
> OvmfPkg/XenAcpiPlatformDxe: remove delayed ACPI table installation
> OvmfPkg/PlatformPei: remove Xen support
> OvmfPkg: drop PcdPciDisableBusEnumeration from the IA32, IA32X64, X64
> DSCs
> OvmfPkg: drop PcdPciDisableBusEnumeration from the AmdSev platform
> OvmfPkg/Bhyve: make "PcdPciDisableBusEnumeration" Fixed-at-Build
> OvmfPkg/OvmfXen: remove IncompatiblePciDeviceSupport DXE driver
> OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver
> OvmfPkg/IncompatiblePciDeviceSupportDxe: remove
> PcdPciDisableBusEnumeration
> OvmfPkg/PciHostBridgeLib: consolidate #includes and INF file sections
> OvmfPkg/PciHostBridgeLibScan: create from PciHostBridgeLib
> OvmfPkg/Bhyve: consume PciHostBridgeLibScan
> OvmfPkg/OvmfXen: consume PciHostBridgeLibScan
> OvmfPkg/PciHostBridgeLib: remove Bhyve and Xen support
> OvmfPkg/PciHostBridgeLibScan: remove QEMU (fw_cfg) support
> OvmfPkg/PciHostBridgeLibScan: remove PcdOvmfHostBridgePciDevId
> OvmfPkg/PciHostBridgeLibScan: clean up file names and file-top
> comments
> OvmfPkg/SmbiosPlatformDxe: clean up #includes and INF
> OvmfPkg/SmbiosPlatformDxe: return EFI_NOT_FOUND if there is no SMBIOS
> data
> OvmfPkg/SmbiosPlatformDxe: locate SMBIOS protocol in
> InstallAllStructures()
> OvmfPkg/SmbiosPlatformDxe: split GetXenSmbiosTables() decl. to new
> header
> OvmfPkg/SmbiosPlatformDxe: declare InstallAllStructures() in header
> file
> OvmfPkg/SmbiosPlatformDxe: create Xen-specific module INF file
> OvmfPkg/SmbiosPlatformDxe: split Xen entry point from QEMU entry point
> OvmfPkg: restrict XenPlatformLib to BdsDxe in the IA32, IA32X64, X64
> DSCs
>
Thanks for taking this on.
For the series,
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
> Maintainers.txt | 10 +-
> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c | 262 --------
> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 50 +-
> OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 71 --
> OvmfPkg/AcpiPlatformDxe/BootScript.c | 7 +-
> OvmfPkg/AcpiPlatformDxe/EntryPoint.c | 7 +-
> OvmfPkg/AcpiPlatformDxe/PciDecoding.c | 4 +-
> OvmfPkg/AcpiPlatformDxe/Qemu.c | 511 ---------------
> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c | 21 +-
> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf | 5 +-
> OvmfPkg/AcpiTables/AcpiTables.inf | 38 --
> OvmfPkg/AcpiTables/Dsdt.asl | 692 --------------------
> OvmfPkg/AcpiTables/Facp.aslc | 89 ---
> OvmfPkg/AcpiTables/Facs.aslc | 78 ---
> OvmfPkg/AcpiTables/Madt.aslc | 153 -----
> OvmfPkg/AcpiTables/Platform.h | 68 --
> OvmfPkg/AcpiTables/Ssdt.asl | 13 -
> OvmfPkg/AmdSev/AmdSevX64.dsc | 9 +-
> OvmfPkg/AmdSev/AmdSevX64.fdf | 12 +-
> OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c | 2 +-
> OvmfPkg/Bhyve/BhyveX64.dsc | 5 +-
> OvmfPkg/Bhyve/BhyveX64.fdf | 1 -
> OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf | 1 -
> OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h | 8 +-
> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.c | 10 +-
> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf | 2 -
> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 28 +-
> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8 +-
> OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h | 4 +-
> OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c | 74 +++
> OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} | 24 +-
> OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} | 27 +-
> OvmfPkg/OvmfPkgIa32.dsc | 10 +-
> OvmfPkg/OvmfPkgIa32.fdf | 12 +-
> OvmfPkg/OvmfPkgIa32X64.dsc | 10 +-
> OvmfPkg/OvmfPkgIa32X64.fdf | 12 +-
> OvmfPkg/OvmfPkgX64.dsc | 10 +-
> OvmfPkg/OvmfPkgX64.fdf | 12 +-
> OvmfPkg/OvmfXen.dsc | 10 +-
> OvmfPkg/OvmfXen.fdf | 12 +-
> OvmfPkg/PlatformPei/MemDetect.c | 10 +-
> OvmfPkg/PlatformPei/Platform.c | 162 +++--
> OvmfPkg/PlatformPei/Platform.h | 17 -
> OvmfPkg/PlatformPei/PlatformPei.inf | 4 -
> OvmfPkg/PlatformPei/Xen.c | 222 -------
> OvmfPkg/PlatformPei/Xen.h | 39 --
> OvmfPkg/README | 43 +-
> OvmfPkg/SmbiosPlatformDxe/ArmXen.c | 2 +-
> OvmfPkg/SmbiosPlatformDxe/Qemu.c | 41 +-
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 79 +--
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h | 37 +-
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 23 +-
> OvmfPkg/SmbiosPlatformDxe/X86Xen.c | 8 +-
> OvmfPkg/SmbiosPlatformDxe/Xen.c | 49 ++
> OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} | 20 +-
> OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} | 32 +-
> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c | 41 ++
> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h | 28 +
> OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c | 43 ++
> OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c | 66 +-
> OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf | 45 ++
> OvmfPkg/XenPlatformPei/Platform.c | 1 -
> OvmfPkg/XenPlatformPei/Platform.h | 5 -
> OvmfPkg/XenPlatformPei/Xen.c | 20 -
> OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 1 -
> 65 files changed, 593 insertions(+), 2827 deletions(-)
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/Qemu.c
> delete mode 100644 OvmfPkg/AcpiTables/AcpiTables.inf
> delete mode 100644 OvmfPkg/AcpiTables/Dsdt.asl
> delete mode 100644 OvmfPkg/AcpiTables/Facp.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Facs.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Madt.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Platform.h
> delete mode 100644 OvmfPkg/AcpiTables/Ssdt.asl
> rename OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h (94%)
> rename OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h (57%)
> create mode 100644 OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c
> copy OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} (51%)
> rename OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} (91%)
> delete mode 100644 OvmfPkg/PlatformPei/Xen.c
> delete mode 100644 OvmfPkg/PlatformPei/Xen.h
> create mode 100644 OvmfPkg/SmbiosPlatformDxe/Xen.c
> copy OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} (56%)
> copy OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} (65%)
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c
> rename OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c (82%)
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf
>
>
> base-commit: cfa6ffb113f2c0d922034cc77c0d6c52eea05497
> --
> 2.19.1.3.g30247aa5d201
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75753): https://edk2.groups.io/g/devel/message/75753
Mute This Topic: https://groups.io/mt/83110232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On 05/27/21 09:34, Ard Biesheuvel wrote: > On Wed, 26 May 2021 at 22:15, Laszlo Ersek <lersek@redhat.com> wrote: >> >> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122 >> Repo: https://pagure.io/lersek/edk2.git >> Branch: xen_split_bz_2122 >> >> This patch set removes dynamic Xen enlightenment from the following >> platforms: >> >> OvmfPkg/OvmfPkgIa32.dsc >> OvmfPkg/OvmfPkgIa32X64.dsc >> OvmfPkg/OvmfPkgX64.dsc >> >> In Xen guests, the following platform should be used: >> >> OvmfPkg/OvmfXen.dsc >> >> Please see more details / references in the bugzilla ticket. >> >> NOOPT build savings: >> >> - Ia32: PEIFV 1536 bytes, DXEFV 130288 bytes >> - Ia32X64: PEIFV 1536 bytes, DXEFV 140912 bytes >> - X64: PEIFV 1664 bytes, DXEFV 140912 bytes >> - Xen: PEIFV 256 bytes, DXEFV 69504 bytes >> >> Functional testing: >> >> - Booted a Fedora guest on OvmfPkgIa32X64 on QEMU/KVM, compared verbose >> logs before-after. Memory allocations were satisfied at different >> addresses, as expected, plus the Xen drivers were absent. No >> differences otherwise. >> >> - Booted a RHEL guest on ArmVirtQemu on AARCH64. Memory allocations were >> satisfied at different addresses, as expected. >> >> - Xen regression-testing was not done; I'm requesting feedback. >> >> Build testing / bisectability: at every stage, the series builds with >> the following script: >> >>> #!/bin/bash >>> set -e -u -C >>> >>> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a AARCH64 >>> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a ARM >>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a AARCH64 >>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a ARM >>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a AARCH64 >>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a ARM >>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a AARCH64 >>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a ARM >>> build -b NOOPT -t GCC5 -p OvmfPkg/AmdSev/AmdSevX64.dsc -a X64 >>> build -b NOOPT -t GCC5 -p OvmfPkg/Bhyve/BhyveX64.dsc -a X64 >>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32.dsc -a IA32 >>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64 >>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -a X64 >>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfXen.dsc -a X64 >> >> The patches in the series were formatted with the following options, for >> posting: >> >> --stat=1000 --stat-graph-width=20 --find-copies-harder -U6 >> >> (The option "--find-copies-harder" is not the best for presenting every >> single patch in the series, in isolation, but taken globally for the >> entire series, it is the most helpful option.) >> >> Some patches advance with really small steps, in order to cut down on a >> subsequent "meaty" patch. Personally I don't like reviewing code >> movement patches, so I did my best to (a) keep that to a minimum, and >> (b) present it as unintrusively as possible. >> >> The CC list is a bit long; the reason is that I kept touching up >> "Maintainers.txt", and the "OvmfPkg/Bhyve" and "OvmfPkg/AmdSev" >> platforms as well (whenever it made sense). > Thanks for taking this on. > > For the series, > > Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Thank you, Ard! I hope the large patch count (with the small patch bodies and the not-so-short commit messages) didn't get on your nerves! I really did make an effort to find a good balance. E.g. in the "clean up and sort #includes & INF files" patches. Thank you again! Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75787): https://edk2.groups.io/g/devel/message/75787 Mute This Topic: https://groups.io/mt/83110232/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On 5/27/21 10:55 AM, Laszlo Ersek wrote: > On 05/27/21 09:34, Ard Biesheuvel wrote: >> On Wed, 26 May 2021 at 22:15, Laszlo Ersek <lersek@redhat.com> wrote: >>> >>> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122 >>> Repo: https://pagure.io/lersek/edk2.git >>> Branch: xen_split_bz_2122 >>> >>> This patch set removes dynamic Xen enlightenment from the following >>> platforms: >>> >>> OvmfPkg/OvmfPkgIa32.dsc >>> OvmfPkg/OvmfPkgIa32X64.dsc >>> OvmfPkg/OvmfPkgX64.dsc >>> >>> In Xen guests, the following platform should be used: >>> >>> OvmfPkg/OvmfXen.dsc >>> >> For the series, >> >> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> > > Thank you, Ard! > > I hope the large patch count (with the small patch bodies and the > not-so-short commit messages) didn't get on your nerves! I really did > make an effort to find a good balance. E.g. in the "clean up and sort > #includes & INF files" patches. I certainly prefer a long series of little patches (so I can stop / resume the review) rather than a short one of big patches which burn my review cycle quicker. This one in particular made a complex refactor easy to review, thanks! Phil. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75877): https://edk2.groups.io/g/devel/message/75877 Mute This Topic: https://groups.io/mt/83110232/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On 05/31/21 17:06, Philippe Mathieu-Daudé wrote: > On 5/27/21 10:55 AM, Laszlo Ersek wrote: >> On 05/27/21 09:34, Ard Biesheuvel wrote: >>> On Wed, 26 May 2021 at 22:15, Laszlo Ersek <lersek@redhat.com> wrote: >>>> >>>> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122 >>>> Repo: https://pagure.io/lersek/edk2.git >>>> Branch: xen_split_bz_2122 >>>> >>>> This patch set removes dynamic Xen enlightenment from the following >>>> platforms: >>>> >>>> OvmfPkg/OvmfPkgIa32.dsc >>>> OvmfPkg/OvmfPkgIa32X64.dsc >>>> OvmfPkg/OvmfPkgX64.dsc >>>> >>>> In Xen guests, the following platform should be used: >>>> >>>> OvmfPkg/OvmfXen.dsc >>>> > >>> For the series, >>> >>> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> >> >> Thank you, Ard! >> >> I hope the large patch count (with the small patch bodies and the >> not-so-short commit messages) didn't get on your nerves! I really did >> make an effort to find a good balance. E.g. in the "clean up and sort >> #includes & INF files" patches. > > I certainly prefer a long series of little patches (so I can stop / > resume the review) rather than a short one of big patches which > burn my review cycle quicker. > > This one in particular made a complex refactor easy to review, > thanks! Thank you, Phil! Laszlo > > Phil. > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75891): https://edk2.groups.io/g/devel/message/75891 Mute This Topic: https://groups.io/mt/83110232/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Anthony, Julien,
(or anyone else subscribed to xen-devel -- CC'd now),
On 05/26/21 22:14, Laszlo Ersek wrote:
> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
> Repo: https://pagure.io/lersek/edk2.git
> Branch: xen_split_bz_2122
can you please build the OvmfXen platform on this branch, and check if
there are any regressions?
Thanks,
Laszlo
>
> This patch set removes dynamic Xen enlightenment from the following
> platforms:
>
> OvmfPkg/OvmfPkgIa32.dsc
> OvmfPkg/OvmfPkgIa32X64.dsc
> OvmfPkg/OvmfPkgX64.dsc
>
> In Xen guests, the following platform should be used:
>
> OvmfPkg/OvmfXen.dsc
>
> Please see more details / references in the bugzilla ticket.
>
> NOOPT build savings:
>
> - Ia32: PEIFV 1536 bytes, DXEFV 130288 bytes
> - Ia32X64: PEIFV 1536 bytes, DXEFV 140912 bytes
> - X64: PEIFV 1664 bytes, DXEFV 140912 bytes
> - Xen: PEIFV 256 bytes, DXEFV 69504 bytes
>
> Functional testing:
>
> - Booted a Fedora guest on OvmfPkgIa32X64 on QEMU/KVM, compared verbose
> logs before-after. Memory allocations were satisfied at different
> addresses, as expected, plus the Xen drivers were absent. No
> differences otherwise.
>
> - Booted a RHEL guest on ArmVirtQemu on AARCH64. Memory allocations were
> satisfied at different addresses, as expected.
>
> - Xen regression-testing was not done; I'm requesting feedback.
>
> Build testing / bisectability: at every stage, the series builds with
> the following script:
>
>> #!/bin/bash
>> set -e -u -C
>>
>> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a AARCH64
>> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a ARM
>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a AARCH64
>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a ARM
>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a AARCH64
>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a ARM
>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a AARCH64
>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a ARM
>> build -b NOOPT -t GCC5 -p OvmfPkg/AmdSev/AmdSevX64.dsc -a X64
>> build -b NOOPT -t GCC5 -p OvmfPkg/Bhyve/BhyveX64.dsc -a X64
>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32.dsc -a IA32
>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64
>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -a X64
>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfXen.dsc -a X64
>
> The patches in the series were formatted with the following options, for
> posting:
>
> --stat=1000 --stat-graph-width=20 --find-copies-harder -U6
>
> (The option "--find-copies-harder" is not the best for presenting every
> single patch in the series, in isolation, but taken globally for the
> entire series, it is the most helpful option.)
>
> Some patches advance with really small steps, in order to cut down on a
> subsequent "meaty" patch. Personally I don't like reviewing code
> movement patches, so I did my best to (a) keep that to a minimum, and
> (b) present it as unintrusively as possible.
>
> The CC list is a bit long; the reason is that I kept touching up
> "Maintainers.txt", and the "OvmfPkg/Bhyve" and "OvmfPkg/AmdSev"
> platforms as well (whenever it made sense).
>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Anthony Perard <anthony.perard@citrix.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Brijesh Singh <brijesh.singh@amd.com>
> Cc: Erdem Aktas <erdemaktas@google.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Min Xu <min.m.xu@intel.com>
> Cc: Peter Grehan <grehan@freebsd.org>
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Tom Lendacky <thomas.lendacky@amd.com>
>
> Thanks,
> Laszlo
>
> Laszlo Ersek (43):
> OvmfPkg: remove the Xen drivers from the IA32, IA32X64, and X64
> platforms
> OvmfPkg: remove the Xen drivers from the AmdSev platform
> OvmfPkg: switch IA32, IA32X64, X64 to the fw_cfg-only ACPI platform
> driver
> OvmfPkg: switch the AmdSev platform to the fw_cfg-only ACPI platform
> driver
> OvmfPkg/README: bump minimum QEMU version to 1.7.1, machine types to
> 1.7
> OvmfPkg/AcpiPlatformDxe: fix header file warts
> OvmfPkg/AcpiPlatformDxe: sort #includes and [LibraryClasses]
> OvmfPkg/AcpiPlatformDxe/QemuLoader.h: remove QemuFwCfgLib class
> dependency
> OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard
> OvmfPkg/AcpiPlatformDxe: consolidate #includes and [LibraryClasses]
> OvmfPkg/XenAcpiPlatformDxe: create from AcpiPlatformDxe
> OvmfPkg/AcpiPlatformDxe: remove the "AcpiPlatformDxe.inf" driver
> OvmfPkg/XenAcpiPlatformDxe: remove the QEMU ACPI linker/loader client
> OvmfPkg/XenAcpiPlatformDxe: remove QEMU fw_cfg dependency
> OvmfPkg/XenAcpiPlatformDxe: remove the InstallAcpiTable() helper
> function
> OvmfPkg/XenAcpiPlatformDxe: remove OVMF's built-in ACPI tables
> OvmfPkg/Bhyve/AcpiPlatformDxe: fix file path typo in comment
> OvmfPkg/AcpiTables: remove unused module
> OvmfPkg/OvmfXen: make "PcdPciDisableBusEnumeration" Fixed-at-Build
> OvmfPkg/XenAcpiPlatformDxe: remove delayed ACPI table installation
> OvmfPkg/PlatformPei: remove Xen support
> OvmfPkg: drop PcdPciDisableBusEnumeration from the IA32, IA32X64, X64
> DSCs
> OvmfPkg: drop PcdPciDisableBusEnumeration from the AmdSev platform
> OvmfPkg/Bhyve: make "PcdPciDisableBusEnumeration" Fixed-at-Build
> OvmfPkg/OvmfXen: remove IncompatiblePciDeviceSupport DXE driver
> OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver
> OvmfPkg/IncompatiblePciDeviceSupportDxe: remove
> PcdPciDisableBusEnumeration
> OvmfPkg/PciHostBridgeLib: consolidate #includes and INF file sections
> OvmfPkg/PciHostBridgeLibScan: create from PciHostBridgeLib
> OvmfPkg/Bhyve: consume PciHostBridgeLibScan
> OvmfPkg/OvmfXen: consume PciHostBridgeLibScan
> OvmfPkg/PciHostBridgeLib: remove Bhyve and Xen support
> OvmfPkg/PciHostBridgeLibScan: remove QEMU (fw_cfg) support
> OvmfPkg/PciHostBridgeLibScan: remove PcdOvmfHostBridgePciDevId
> OvmfPkg/PciHostBridgeLibScan: clean up file names and file-top
> comments
> OvmfPkg/SmbiosPlatformDxe: clean up #includes and INF
> OvmfPkg/SmbiosPlatformDxe: return EFI_NOT_FOUND if there is no SMBIOS
> data
> OvmfPkg/SmbiosPlatformDxe: locate SMBIOS protocol in
> InstallAllStructures()
> OvmfPkg/SmbiosPlatformDxe: split GetXenSmbiosTables() decl. to new
> header
> OvmfPkg/SmbiosPlatformDxe: declare InstallAllStructures() in header
> file
> OvmfPkg/SmbiosPlatformDxe: create Xen-specific module INF file
> OvmfPkg/SmbiosPlatformDxe: split Xen entry point from QEMU entry point
> OvmfPkg: restrict XenPlatformLib to BdsDxe in the IA32, IA32X64, X64
> DSCs
>
> Maintainers.txt | 10 +-
> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c | 262 --------
> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 50 +-
> OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 71 --
> OvmfPkg/AcpiPlatformDxe/BootScript.c | 7 +-
> OvmfPkg/AcpiPlatformDxe/EntryPoint.c | 7 +-
> OvmfPkg/AcpiPlatformDxe/PciDecoding.c | 4 +-
> OvmfPkg/AcpiPlatformDxe/Qemu.c | 511 ---------------
> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c | 21 +-
> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf | 5 +-
> OvmfPkg/AcpiTables/AcpiTables.inf | 38 --
> OvmfPkg/AcpiTables/Dsdt.asl | 692 --------------------
> OvmfPkg/AcpiTables/Facp.aslc | 89 ---
> OvmfPkg/AcpiTables/Facs.aslc | 78 ---
> OvmfPkg/AcpiTables/Madt.aslc | 153 -----
> OvmfPkg/AcpiTables/Platform.h | 68 --
> OvmfPkg/AcpiTables/Ssdt.asl | 13 -
> OvmfPkg/AmdSev/AmdSevX64.dsc | 9 +-
> OvmfPkg/AmdSev/AmdSevX64.fdf | 12 +-
> OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c | 2 +-
> OvmfPkg/Bhyve/BhyveX64.dsc | 5 +-
> OvmfPkg/Bhyve/BhyveX64.fdf | 1 -
> OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf | 1 -
> OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h | 8 +-
> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.c | 10 +-
> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf | 2 -
> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 28 +-
> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8 +-
> OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h | 4 +-
> OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c | 74 +++
> OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} | 24 +-
> OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} | 27 +-
> OvmfPkg/OvmfPkgIa32.dsc | 10 +-
> OvmfPkg/OvmfPkgIa32.fdf | 12 +-
> OvmfPkg/OvmfPkgIa32X64.dsc | 10 +-
> OvmfPkg/OvmfPkgIa32X64.fdf | 12 +-
> OvmfPkg/OvmfPkgX64.dsc | 10 +-
> OvmfPkg/OvmfPkgX64.fdf | 12 +-
> OvmfPkg/OvmfXen.dsc | 10 +-
> OvmfPkg/OvmfXen.fdf | 12 +-
> OvmfPkg/PlatformPei/MemDetect.c | 10 +-
> OvmfPkg/PlatformPei/Platform.c | 162 +++--
> OvmfPkg/PlatformPei/Platform.h | 17 -
> OvmfPkg/PlatformPei/PlatformPei.inf | 4 -
> OvmfPkg/PlatformPei/Xen.c | 222 -------
> OvmfPkg/PlatformPei/Xen.h | 39 --
> OvmfPkg/README | 43 +-
> OvmfPkg/SmbiosPlatformDxe/ArmXen.c | 2 +-
> OvmfPkg/SmbiosPlatformDxe/Qemu.c | 41 +-
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 79 +--
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h | 37 +-
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 23 +-
> OvmfPkg/SmbiosPlatformDxe/X86Xen.c | 8 +-
> OvmfPkg/SmbiosPlatformDxe/Xen.c | 49 ++
> OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} | 20 +-
> OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} | 32 +-
> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c | 41 ++
> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h | 28 +
> OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c | 43 ++
> OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c | 66 +-
> OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf | 45 ++
> OvmfPkg/XenPlatformPei/Platform.c | 1 -
> OvmfPkg/XenPlatformPei/Platform.h | 5 -
> OvmfPkg/XenPlatformPei/Xen.c | 20 -
> OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 1 -
> 65 files changed, 593 insertions(+), 2827 deletions(-)
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/Qemu.c
> delete mode 100644 OvmfPkg/AcpiTables/AcpiTables.inf
> delete mode 100644 OvmfPkg/AcpiTables/Dsdt.asl
> delete mode 100644 OvmfPkg/AcpiTables/Facp.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Facs.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Madt.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Platform.h
> delete mode 100644 OvmfPkg/AcpiTables/Ssdt.asl
> rename OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h (94%)
> rename OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h (57%)
> create mode 100644 OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c
> copy OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} (51%)
> rename OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} (91%)
> delete mode 100644 OvmfPkg/PlatformPei/Xen.c
> delete mode 100644 OvmfPkg/PlatformPei/Xen.h
> create mode 100644 OvmfPkg/SmbiosPlatformDxe/Xen.c
> copy OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} (56%)
> copy OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} (65%)
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c
> rename OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c (82%)
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf
>
>
> base-commit: cfa6ffb113f2c0d922034cc77c0d6c52eea05497
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75964): https://edk2.groups.io/g/devel/message/75964
Mute This Topic: https://groups.io/mt/83110232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On Wed, Jun 02, 2021 at 10:36:49AM +0200, Laszlo Ersek wrote: > Anthony, Julien, > > (or anyone else subscribed to xen-devel -- CC'd now), > > On 05/26/21 22:14, Laszlo Ersek wrote: > > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122 > > Repo: https://pagure.io/lersek/edk2.git > > Branch: xen_split_bz_2122 > > can you please build the OvmfXen platform on this branch, and check if > there are any regressions? Hi Laszlo, OvmfXen seems to be working fine with that branch applied. Thanks, -- Anthony PERARD -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76076): https://edk2.groups.io/g/devel/message/76076 Mute This Topic: https://groups.io/mt/83110232/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On 06/04/21 16:02, Anthony PERARD wrote: > On Wed, Jun 02, 2021 at 10:36:49AM +0200, Laszlo Ersek wrote: >> Anthony, Julien, >> >> (or anyone else subscribed to xen-devel -- CC'd now), >> >> On 05/26/21 22:14, Laszlo Ersek wrote: >>> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122 >>> Repo: https://pagure.io/lersek/edk2.git >>> Branch: xen_split_bz_2122 >> >> can you please build the OvmfXen platform on this branch, and check if >> there are any regressions? > > Hi Laszlo, > > OvmfXen seems to be working fine with that branch applied. Thank you very much!!! Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76078): https://edk2.groups.io/g/devel/message/76078 Mute This Topic: https://groups.io/mt/83110232/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On 06/04/21 16:02, Anthony PERARD via groups.io wrote: > On Wed, Jun 02, 2021 at 10:36:49AM +0200, Laszlo Ersek wrote: >> Anthony, Julien, >> >> (or anyone else subscribed to xen-devel -- CC'd now), >> >> On 05/26/21 22:14, Laszlo Ersek wrote: >>> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122 >>> Repo: https://pagure.io/lersek/edk2.git >>> Branch: xen_split_bz_2122 >> >> can you please build the OvmfXen platform on this branch, and check if >> there are any regressions? > > Hi Laszlo, > > OvmfXen seems to be working fine with that branch applied. Series merged as commit range 924c2b847f0b..51adb689e1db, via <https://github.com/tianocore/edk2/pull/1689>. Thanks Laszlo
On Wed, May 26, 2021 at 22:14:03 +0200, Laszlo Ersek wrote:
> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
> Repo: https://pagure.io/lersek/edk2.git
> Branch: xen_split_bz_2122
>
> This patch set removes dynamic Xen enlightenment from the following
> platforms:
>
> OvmfPkg/OvmfPkgIa32.dsc
> OvmfPkg/OvmfPkgIa32X64.dsc
> OvmfPkg/OvmfPkgX64.dsc
>
> In Xen guests, the following platform should be used:
>
> OvmfPkg/OvmfXen.dsc
>
> Please see more details / references in the bugzilla ticket.
>
> NOOPT build savings:
>
> - Ia32: PEIFV 1536 bytes, DXEFV 130288 bytes
> - Ia32X64: PEIFV 1536 bytes, DXEFV 140912 bytes
> - X64: PEIFV 1664 bytes, DXEFV 140912 bytes
> - Xen: PEIFV 256 bytes, DXEFV 69504 bytes
>
> Functional testing:
>
> - Booted a Fedora guest on OvmfPkgIa32X64 on QEMU/KVM, compared verbose
> logs before-after. Memory allocations were satisfied at different
> addresses, as expected, plus the Xen drivers were absent. No
> differences otherwise.
>
> - Booted a RHEL guest on ArmVirtQemu on AARCH64. Memory allocations were
> satisfied at different addresses, as expected.
>
> - Xen regression-testing was not done; I'm requesting feedback.
>
> Build testing / bisectability: at every stage, the series builds with
> the following script:
>
> > #!/bin/bash
> > set -e -u -C
> >
> > build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a AARCH64
> > build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a ARM
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a AARCH64
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a ARM
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a AARCH64
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a ARM
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a AARCH64
> > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a ARM
> > build -b NOOPT -t GCC5 -p OvmfPkg/AmdSev/AmdSevX64.dsc -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/Bhyve/BhyveX64.dsc -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32.dsc -a IA32
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -a X64
> > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfXen.dsc -a X64
>
> The patches in the series were formatted with the following options, for
> posting:
>
> --stat=1000 --stat-graph-width=20 --find-copies-harder -U6
>
> (The option "--find-copies-harder" is not the best for presenting every
> single patch in the series, in isolation, but taken globally for the
> entire series, it is the most helpful option.)
>
> Some patches advance with really small steps, in order to cut down on a
> subsequent "meaty" patch. Personally I don't like reviewing code
> movement patches, so I did my best to (a) keep that to a minimum, and
> (b) present it as unintrusively as possible.
>
> The CC list is a bit long; the reason is that I kept touching up
> "Maintainers.txt", and the "OvmfPkg/Bhyve" and "OvmfPkg/AmdSev"
> platforms as well (whenever it made sense).
I presume I was primarily cc:d for the Maintainers.txt bit?
For that (patches 11, 12, 21):
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Anthony Perard <anthony.perard@citrix.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Brijesh Singh <brijesh.singh@amd.com>
> Cc: Erdem Aktas <erdemaktas@google.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Min Xu <min.m.xu@intel.com>
> Cc: Peter Grehan <grehan@freebsd.org>
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Cc: Tom Lendacky <thomas.lendacky@amd.com>
>
> Thanks,
> Laszlo
>
> Laszlo Ersek (43):
> OvmfPkg: remove the Xen drivers from the IA32, IA32X64, and X64
> platforms
> OvmfPkg: remove the Xen drivers from the AmdSev platform
> OvmfPkg: switch IA32, IA32X64, X64 to the fw_cfg-only ACPI platform
> driver
> OvmfPkg: switch the AmdSev platform to the fw_cfg-only ACPI platform
> driver
> OvmfPkg/README: bump minimum QEMU version to 1.7.1, machine types to
> 1.7
> OvmfPkg/AcpiPlatformDxe: fix header file warts
> OvmfPkg/AcpiPlatformDxe: sort #includes and [LibraryClasses]
> OvmfPkg/AcpiPlatformDxe/QemuLoader.h: remove QemuFwCfgLib class
> dependency
> OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard
> OvmfPkg/AcpiPlatformDxe: consolidate #includes and [LibraryClasses]
> OvmfPkg/XenAcpiPlatformDxe: create from AcpiPlatformDxe
> OvmfPkg/AcpiPlatformDxe: remove the "AcpiPlatformDxe.inf" driver
> OvmfPkg/XenAcpiPlatformDxe: remove the QEMU ACPI linker/loader client
> OvmfPkg/XenAcpiPlatformDxe: remove QEMU fw_cfg dependency
> OvmfPkg/XenAcpiPlatformDxe: remove the InstallAcpiTable() helper
> function
> OvmfPkg/XenAcpiPlatformDxe: remove OVMF's built-in ACPI tables
> OvmfPkg/Bhyve/AcpiPlatformDxe: fix file path typo in comment
> OvmfPkg/AcpiTables: remove unused module
> OvmfPkg/OvmfXen: make "PcdPciDisableBusEnumeration" Fixed-at-Build
> OvmfPkg/XenAcpiPlatformDxe: remove delayed ACPI table installation
> OvmfPkg/PlatformPei: remove Xen support
> OvmfPkg: drop PcdPciDisableBusEnumeration from the IA32, IA32X64, X64
> DSCs
> OvmfPkg: drop PcdPciDisableBusEnumeration from the AmdSev platform
> OvmfPkg/Bhyve: make "PcdPciDisableBusEnumeration" Fixed-at-Build
> OvmfPkg/OvmfXen: remove IncompatiblePciDeviceSupport DXE driver
> OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver
> OvmfPkg/IncompatiblePciDeviceSupportDxe: remove
> PcdPciDisableBusEnumeration
> OvmfPkg/PciHostBridgeLib: consolidate #includes and INF file sections
> OvmfPkg/PciHostBridgeLibScan: create from PciHostBridgeLib
> OvmfPkg/Bhyve: consume PciHostBridgeLibScan
> OvmfPkg/OvmfXen: consume PciHostBridgeLibScan
> OvmfPkg/PciHostBridgeLib: remove Bhyve and Xen support
> OvmfPkg/PciHostBridgeLibScan: remove QEMU (fw_cfg) support
> OvmfPkg/PciHostBridgeLibScan: remove PcdOvmfHostBridgePciDevId
> OvmfPkg/PciHostBridgeLibScan: clean up file names and file-top
> comments
> OvmfPkg/SmbiosPlatformDxe: clean up #includes and INF
> OvmfPkg/SmbiosPlatformDxe: return EFI_NOT_FOUND if there is no SMBIOS
> data
> OvmfPkg/SmbiosPlatformDxe: locate SMBIOS protocol in
> InstallAllStructures()
> OvmfPkg/SmbiosPlatformDxe: split GetXenSmbiosTables() decl. to new
> header
> OvmfPkg/SmbiosPlatformDxe: declare InstallAllStructures() in header
> file
> OvmfPkg/SmbiosPlatformDxe: create Xen-specific module INF file
> OvmfPkg/SmbiosPlatformDxe: split Xen entry point from QEMU entry point
> OvmfPkg: restrict XenPlatformLib to BdsDxe in the IA32, IA32X64, X64
> DSCs
>
> Maintainers.txt | 10 +-
> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c | 262 --------
> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 50 +-
> OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 71 --
> OvmfPkg/AcpiPlatformDxe/BootScript.c | 7 +-
> OvmfPkg/AcpiPlatformDxe/EntryPoint.c | 7 +-
> OvmfPkg/AcpiPlatformDxe/PciDecoding.c | 4 +-
> OvmfPkg/AcpiPlatformDxe/Qemu.c | 511 ---------------
> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c | 21 +-
> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf | 5 +-
> OvmfPkg/AcpiTables/AcpiTables.inf | 38 --
> OvmfPkg/AcpiTables/Dsdt.asl | 692 --------------------
> OvmfPkg/AcpiTables/Facp.aslc | 89 ---
> OvmfPkg/AcpiTables/Facs.aslc | 78 ---
> OvmfPkg/AcpiTables/Madt.aslc | 153 -----
> OvmfPkg/AcpiTables/Platform.h | 68 --
> OvmfPkg/AcpiTables/Ssdt.asl | 13 -
> OvmfPkg/AmdSev/AmdSevX64.dsc | 9 +-
> OvmfPkg/AmdSev/AmdSevX64.fdf | 12 +-
> OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c | 2 +-
> OvmfPkg/Bhyve/BhyveX64.dsc | 5 +-
> OvmfPkg/Bhyve/BhyveX64.fdf | 1 -
> OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf | 1 -
> OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h | 8 +-
> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.c | 10 +-
> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf | 2 -
> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 28 +-
> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8 +-
> OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h | 4 +-
> OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c | 74 +++
> OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} | 24 +-
> OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} | 27 +-
> OvmfPkg/OvmfPkgIa32.dsc | 10 +-
> OvmfPkg/OvmfPkgIa32.fdf | 12 +-
> OvmfPkg/OvmfPkgIa32X64.dsc | 10 +-
> OvmfPkg/OvmfPkgIa32X64.fdf | 12 +-
> OvmfPkg/OvmfPkgX64.dsc | 10 +-
> OvmfPkg/OvmfPkgX64.fdf | 12 +-
> OvmfPkg/OvmfXen.dsc | 10 +-
> OvmfPkg/OvmfXen.fdf | 12 +-
> OvmfPkg/PlatformPei/MemDetect.c | 10 +-
> OvmfPkg/PlatformPei/Platform.c | 162 +++--
> OvmfPkg/PlatformPei/Platform.h | 17 -
> OvmfPkg/PlatformPei/PlatformPei.inf | 4 -
> OvmfPkg/PlatformPei/Xen.c | 222 -------
> OvmfPkg/PlatformPei/Xen.h | 39 --
> OvmfPkg/README | 43 +-
> OvmfPkg/SmbiosPlatformDxe/ArmXen.c | 2 +-
> OvmfPkg/SmbiosPlatformDxe/Qemu.c | 41 +-
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 79 +--
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h | 37 +-
> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 23 +-
> OvmfPkg/SmbiosPlatformDxe/X86Xen.c | 8 +-
> OvmfPkg/SmbiosPlatformDxe/Xen.c | 49 ++
> OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} | 20 +-
> OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} | 32 +-
> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c | 41 ++
> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h | 28 +
> OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c | 43 ++
> OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c | 66 +-
> OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf | 45 ++
> OvmfPkg/XenPlatformPei/Platform.c | 1 -
> OvmfPkg/XenPlatformPei/Platform.h | 5 -
> OvmfPkg/XenPlatformPei/Xen.c | 20 -
> OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 1 -
> 65 files changed, 593 insertions(+), 2827 deletions(-)
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
> delete mode 100644 OvmfPkg/AcpiPlatformDxe/Qemu.c
> delete mode 100644 OvmfPkg/AcpiTables/AcpiTables.inf
> delete mode 100644 OvmfPkg/AcpiTables/Dsdt.asl
> delete mode 100644 OvmfPkg/AcpiTables/Facp.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Facs.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Madt.aslc
> delete mode 100644 OvmfPkg/AcpiTables/Platform.h
> delete mode 100644 OvmfPkg/AcpiTables/Ssdt.asl
> rename OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h (94%)
> rename OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h (57%)
> create mode 100644 OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c
> copy OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} (51%)
> rename OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} (91%)
> delete mode 100644 OvmfPkg/PlatformPei/Xen.c
> delete mode 100644 OvmfPkg/PlatformPei/Xen.h
> create mode 100644 OvmfPkg/SmbiosPlatformDxe/Xen.c
> copy OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} (56%)
> copy OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} (65%)
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c
> rename OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c (82%)
> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf
>
>
> base-commit: cfa6ffb113f2c0d922034cc77c0d6c52eea05497
> --
> 2.19.1.3.g30247aa5d201
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75812): https://edk2.groups.io/g/devel/message/75812
Mute This Topic: https://groups.io/mt/83110232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On Thu, May 27, 2021 at 2:07 PM Leif Lindholm <leif@nuviainc.com> wrote:
>
> On Wed, May 26, 2021 at 22:14:03 +0200, Laszlo Ersek wrote:
> > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
> > Repo: https://pagure.io/lersek/edk2.git
> > Branch: xen_split_bz_2122
> >
> > This patch set removes dynamic Xen enlightenment from the following
> > platforms:
> >
> > OvmfPkg/OvmfPkgIa32.dsc
> > OvmfPkg/OvmfPkgIa32X64.dsc
> > OvmfPkg/OvmfPkgX64.dsc
> >
> > In Xen guests, the following platform should be used:
> >
> > OvmfPkg/OvmfXen.dsc
> >
> > Please see more details / references in the bugzilla ticket.
> >
> > NOOPT build savings:
> >
> > - Ia32: PEIFV 1536 bytes, DXEFV 130288 bytes
> > - Ia32X64: PEIFV 1536 bytes, DXEFV 140912 bytes
> > - X64: PEIFV 1664 bytes, DXEFV 140912 bytes
> > - Xen: PEIFV 256 bytes, DXEFV 69504 bytes
> >
> > Functional testing:
> >
> > - Booted a Fedora guest on OvmfPkgIa32X64 on QEMU/KVM, compared verbose
> > logs before-after. Memory allocations were satisfied at different
> > addresses, as expected, plus the Xen drivers were absent. No
> > differences otherwise.
> >
> > - Booted a RHEL guest on ArmVirtQemu on AARCH64. Memory allocations were
> > satisfied at different addresses, as expected.
> >
> > - Xen regression-testing was not done; I'm requesting feedback.
> >
> > Build testing / bisectability: at every stage, the series builds with
> > the following script:
> >
> > > #!/bin/bash
> > > set -e -u -C
> > >
> > > build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a
AARCH64
> > > build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a ARM
> > > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a
AARCH64
> > > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a ARM
> > > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a
AARCH64
> > > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a ARM
> > > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a
AARCH64
> > > build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a ARM
> > > build -b NOOPT -t GCC5 -p OvmfPkg/AmdSev/AmdSevX64.dsc -a
X64
> > > build -b NOOPT -t GCC5 -p OvmfPkg/Bhyve/BhyveX64.dsc -a
X64
> > > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32.dsc -a IA32
> > > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a
X64
> > > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -a
X64
> > > build -b NOOPT -t GCC5 -p OvmfPkg/OvmfXen.dsc -a
X64
> >
> > The patches in the series were formatted with the following options, for
> > posting:
> >
> > --stat=1000 --stat-graph-width=20 --find-copies-harder -U6
> >
> > (The option "--find-copies-harder" is not the best for presenting every
> > single patch in the series, in isolation, but taken globally for the
> > entire series, it is the most helpful option.)
> >
> > Some patches advance with really small steps, in order to cut down on a
> > subsequent "meaty" patch. Personally I don't like reviewing code
> > movement patches, so I did my best to (a) keep that to a minimum, and
> > (b) present it as unintrusively as possible.
> >
> > The CC list is a bit long; the reason is that I kept touching up
> > "Maintainers.txt", and the "OvmfPkg/Bhyve" and "OvmfPkg/AmdSev"
> > platforms as well (whenever it made sense).
>
> I presume I was primarily cc:d for the Maintainers.txt bit?
> For that (patches 11, 12, 21):
> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
Gah. Also for 32,39/43:
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
Sorry, I think that's all of them.
/
Leif
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75813): https://edk2.groups.io/g/devel/message/75813
Mute This Topic: https://groups.io/mt/83110232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On 05/27/21 15:07, Leif Lindholm wrote:
> On Wed, May 26, 2021 at 22:14:03 +0200, Laszlo Ersek wrote:
>> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
>> Repo: https://pagure.io/lersek/edk2.git
>> Branch: xen_split_bz_2122
>>
>> This patch set removes dynamic Xen enlightenment from the following
>> platforms:
>>
>> OvmfPkg/OvmfPkgIa32.dsc
>> OvmfPkg/OvmfPkgIa32X64.dsc
>> OvmfPkg/OvmfPkgX64.dsc
>>
>> In Xen guests, the following platform should be used:
>>
>> OvmfPkg/OvmfXen.dsc
>>
>> Please see more details / references in the bugzilla ticket.
>>
>> NOOPT build savings:
>>
>> - Ia32: PEIFV 1536 bytes, DXEFV 130288 bytes
>> - Ia32X64: PEIFV 1536 bytes, DXEFV 140912 bytes
>> - X64: PEIFV 1664 bytes, DXEFV 140912 bytes
>> - Xen: PEIFV 256 bytes, DXEFV 69504 bytes
>>
>> Functional testing:
>>
>> - Booted a Fedora guest on OvmfPkgIa32X64 on QEMU/KVM, compared verbose
>> logs before-after. Memory allocations were satisfied at different
>> addresses, as expected, plus the Xen drivers were absent. No
>> differences otherwise.
>>
>> - Booted a RHEL guest on ArmVirtQemu on AARCH64. Memory allocations were
>> satisfied at different addresses, as expected.
>>
>> - Xen regression-testing was not done; I'm requesting feedback.
>>
>> Build testing / bisectability: at every stage, the series builds with
>> the following script:
>>
>>> #!/bin/bash
>>> set -e -u -C
>>>
>>> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a AARCH64
>>> build -b DEBUG -t GCC5 -p ArmVirtPkg/ArmVirtKvmTool.dsc -a ARM
>>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a AARCH64
>>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -a ARM
>>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a AARCH64
>>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtQemuKernel.dsc -a ARM
>>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a AARCH64
>>> build -b NOOPT -t GCC5 -p ArmVirtPkg/ArmVirtXen.dsc -a ARM
>>> build -b NOOPT -t GCC5 -p OvmfPkg/AmdSev/AmdSevX64.dsc -a X64
>>> build -b NOOPT -t GCC5 -p OvmfPkg/Bhyve/BhyveX64.dsc -a X64
>>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32.dsc -a IA32
>>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64
>>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -a X64
>>> build -b NOOPT -t GCC5 -p OvmfPkg/OvmfXen.dsc -a X64
>>
>> The patches in the series were formatted with the following options, for
>> posting:
>>
>> --stat=1000 --stat-graph-width=20 --find-copies-harder -U6
>>
>> (The option "--find-copies-harder" is not the best for presenting every
>> single patch in the series, in isolation, but taken globally for the
>> entire series, it is the most helpful option.)
>>
>> Some patches advance with really small steps, in order to cut down on a
>> subsequent "meaty" patch. Personally I don't like reviewing code
>> movement patches, so I did my best to (a) keep that to a minimum, and
>> (b) present it as unintrusively as possible.
>>
>> The CC list is a bit long; the reason is that I kept touching up
>> "Maintainers.txt", and the "OvmfPkg/Bhyve" and "OvmfPkg/AmdSev"
>> platforms as well (whenever it made sense).
>
> I presume I was primarily cc:d for the Maintainers.txt bit?
Correct!
> For that (patches 11, 12, 21):
> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
Thanks!
Laszlo
>
>> Cc: Andrew Fish <afish@apple.com>
>> Cc: Anthony Perard <anthony.perard@citrix.com>
>> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
>> Cc: Brijesh Singh <brijesh.singh@amd.com>
>> Cc: Erdem Aktas <erdemaktas@google.com>
>> Cc: James Bottomley <jejb@linux.ibm.com>
>> Cc: Jiewen Yao <jiewen.yao@intel.com>
>> Cc: Jordan Justen <jordan.l.justen@intel.com>
>> Cc: Julien Grall <julien@xen.org>
>> Cc: Leif Lindholm <leif@nuviainc.com>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> Cc: Min Xu <min.m.xu@intel.com>
>> Cc: Peter Grehan <grehan@freebsd.org>
>> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
>> Cc: Rebecca Cran <rebecca@bsdio.com>
>> Cc: Tom Lendacky <thomas.lendacky@amd.com>
>>
>> Thanks,
>> Laszlo
>>
>> Laszlo Ersek (43):
>> OvmfPkg: remove the Xen drivers from the IA32, IA32X64, and X64
>> platforms
>> OvmfPkg: remove the Xen drivers from the AmdSev platform
>> OvmfPkg: switch IA32, IA32X64, X64 to the fw_cfg-only ACPI platform
>> driver
>> OvmfPkg: switch the AmdSev platform to the fw_cfg-only ACPI platform
>> driver
>> OvmfPkg/README: bump minimum QEMU version to 1.7.1, machine types to
>> 1.7
>> OvmfPkg/AcpiPlatformDxe: fix header file warts
>> OvmfPkg/AcpiPlatformDxe: sort #includes and [LibraryClasses]
>> OvmfPkg/AcpiPlatformDxe/QemuLoader.h: remove QemuFwCfgLib class
>> dependency
>> OvmfPkg/AcpiPlatformDxe: move "QemuLoader.h" to IndustryStandard
>> OvmfPkg/AcpiPlatformDxe: consolidate #includes and [LibraryClasses]
>> OvmfPkg/XenAcpiPlatformDxe: create from AcpiPlatformDxe
>> OvmfPkg/AcpiPlatformDxe: remove the "AcpiPlatformDxe.inf" driver
>> OvmfPkg/XenAcpiPlatformDxe: remove the QEMU ACPI linker/loader client
>> OvmfPkg/XenAcpiPlatformDxe: remove QEMU fw_cfg dependency
>> OvmfPkg/XenAcpiPlatformDxe: remove the InstallAcpiTable() helper
>> function
>> OvmfPkg/XenAcpiPlatformDxe: remove OVMF's built-in ACPI tables
>> OvmfPkg/Bhyve/AcpiPlatformDxe: fix file path typo in comment
>> OvmfPkg/AcpiTables: remove unused module
>> OvmfPkg/OvmfXen: make "PcdPciDisableBusEnumeration" Fixed-at-Build
>> OvmfPkg/XenAcpiPlatformDxe: remove delayed ACPI table installation
>> OvmfPkg/PlatformPei: remove Xen support
>> OvmfPkg: drop PcdPciDisableBusEnumeration from the IA32, IA32X64, X64
>> DSCs
>> OvmfPkg: drop PcdPciDisableBusEnumeration from the AmdSev platform
>> OvmfPkg/Bhyve: make "PcdPciDisableBusEnumeration" Fixed-at-Build
>> OvmfPkg/OvmfXen: remove IncompatiblePciDeviceSupport DXE driver
>> OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver
>> OvmfPkg/IncompatiblePciDeviceSupportDxe: remove
>> PcdPciDisableBusEnumeration
>> OvmfPkg/PciHostBridgeLib: consolidate #includes and INF file sections
>> OvmfPkg/PciHostBridgeLibScan: create from PciHostBridgeLib
>> OvmfPkg/Bhyve: consume PciHostBridgeLibScan
>> OvmfPkg/OvmfXen: consume PciHostBridgeLibScan
>> OvmfPkg/PciHostBridgeLib: remove Bhyve and Xen support
>> OvmfPkg/PciHostBridgeLibScan: remove QEMU (fw_cfg) support
>> OvmfPkg/PciHostBridgeLibScan: remove PcdOvmfHostBridgePciDevId
>> OvmfPkg/PciHostBridgeLibScan: clean up file names and file-top
>> comments
>> OvmfPkg/SmbiosPlatformDxe: clean up #includes and INF
>> OvmfPkg/SmbiosPlatformDxe: return EFI_NOT_FOUND if there is no SMBIOS
>> data
>> OvmfPkg/SmbiosPlatformDxe: locate SMBIOS protocol in
>> InstallAllStructures()
>> OvmfPkg/SmbiosPlatformDxe: split GetXenSmbiosTables() decl. to new
>> header
>> OvmfPkg/SmbiosPlatformDxe: declare InstallAllStructures() in header
>> file
>> OvmfPkg/SmbiosPlatformDxe: create Xen-specific module INF file
>> OvmfPkg/SmbiosPlatformDxe: split Xen entry point from QEMU entry point
>> OvmfPkg: restrict XenPlatformLib to BdsDxe in the IA32, IA32X64, X64
>> DSCs
>>
>> Maintainers.txt | 10 +-
>> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c | 262 --------
>> OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 50 +-
>> OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 71 --
>> OvmfPkg/AcpiPlatformDxe/BootScript.c | 7 +-
>> OvmfPkg/AcpiPlatformDxe/EntryPoint.c | 7 +-
>> OvmfPkg/AcpiPlatformDxe/PciDecoding.c | 4 +-
>> OvmfPkg/AcpiPlatformDxe/Qemu.c | 511 ---------------
>> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c | 21 +-
>> OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf | 5 +-
>> OvmfPkg/AcpiTables/AcpiTables.inf | 38 --
>> OvmfPkg/AcpiTables/Dsdt.asl | 692 --------------------
>> OvmfPkg/AcpiTables/Facp.aslc | 89 ---
>> OvmfPkg/AcpiTables/Facs.aslc | 78 ---
>> OvmfPkg/AcpiTables/Madt.aslc | 153 -----
>> OvmfPkg/AcpiTables/Platform.h | 68 --
>> OvmfPkg/AcpiTables/Ssdt.asl | 13 -
>> OvmfPkg/AmdSev/AmdSevX64.dsc | 9 +-
>> OvmfPkg/AmdSev/AmdSevX64.fdf | 12 +-
>> OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c | 2 +-
>> OvmfPkg/Bhyve/BhyveX64.dsc | 5 +-
>> OvmfPkg/Bhyve/BhyveX64.fdf | 1 -
>> OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf | 1 -
>> OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h | 8 +-
>> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.c | 10 +-
>> OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf | 2 -
>> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 28 +-
>> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8 +-
>> OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h | 4 +-
>> OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c | 74 +++
>> OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} | 24 +-
>> OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} | 27 +-
>> OvmfPkg/OvmfPkgIa32.dsc | 10 +-
>> OvmfPkg/OvmfPkgIa32.fdf | 12 +-
>> OvmfPkg/OvmfPkgIa32X64.dsc | 10 +-
>> OvmfPkg/OvmfPkgIa32X64.fdf | 12 +-
>> OvmfPkg/OvmfPkgX64.dsc | 10 +-
>> OvmfPkg/OvmfPkgX64.fdf | 12 +-
>> OvmfPkg/OvmfXen.dsc | 10 +-
>> OvmfPkg/OvmfXen.fdf | 12 +-
>> OvmfPkg/PlatformPei/MemDetect.c | 10 +-
>> OvmfPkg/PlatformPei/Platform.c | 162 +++--
>> OvmfPkg/PlatformPei/Platform.h | 17 -
>> OvmfPkg/PlatformPei/PlatformPei.inf | 4 -
>> OvmfPkg/PlatformPei/Xen.c | 222 -------
>> OvmfPkg/PlatformPei/Xen.h | 39 --
>> OvmfPkg/README | 43 +-
>> OvmfPkg/SmbiosPlatformDxe/ArmXen.c | 2 +-
>> OvmfPkg/SmbiosPlatformDxe/Qemu.c | 41 +-
>> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 79 +--
>> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h | 37 +-
>> OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 23 +-
>> OvmfPkg/SmbiosPlatformDxe/X86Xen.c | 8 +-
>> OvmfPkg/SmbiosPlatformDxe/Xen.c | 49 ++
>> OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} | 20 +-
>> OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} | 32 +-
>> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c | 41 ++
>> OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h | 28 +
>> OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c | 43 ++
>> OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c | 66 +-
>> OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf | 45 ++
>> OvmfPkg/XenPlatformPei/Platform.c | 1 -
>> OvmfPkg/XenPlatformPei/Platform.h | 5 -
>> OvmfPkg/XenPlatformPei/Xen.c | 20 -
>> OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 1 -
>> 65 files changed, 593 insertions(+), 2827 deletions(-)
>> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c
>> delete mode 100644 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
>> delete mode 100644 OvmfPkg/AcpiPlatformDxe/Qemu.c
>> delete mode 100644 OvmfPkg/AcpiTables/AcpiTables.inf
>> delete mode 100644 OvmfPkg/AcpiTables/Dsdt.asl
>> delete mode 100644 OvmfPkg/AcpiTables/Facp.aslc
>> delete mode 100644 OvmfPkg/AcpiTables/Facs.aslc
>> delete mode 100644 OvmfPkg/AcpiTables/Madt.aslc
>> delete mode 100644 OvmfPkg/AcpiTables/Platform.h
>> delete mode 100644 OvmfPkg/AcpiTables/Ssdt.asl
>> rename OvmfPkg/{AcpiPlatformDxe => Include/IndustryStandard}/QemuLoader.h (94%)
>> rename OvmfPkg/Library/{PciHostBridgeLib => PciHostBridgeLibScan}/PciHostBridge.h (57%)
>> create mode 100644 OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLib.c
>> copy OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.inf => PciHostBridgeLibScan/PciHostBridgeLibScan.inf} (51%)
>> rename OvmfPkg/Library/{PciHostBridgeLib/XenSupport.c => PciHostBridgeLibScan/ScanForRootBridges.c} (91%)
>> delete mode 100644 OvmfPkg/PlatformPei/Xen.c
>> delete mode 100644 OvmfPkg/PlatformPei/Xen.h
>> create mode 100644 OvmfPkg/SmbiosPlatformDxe/Xen.c
>> copy OvmfPkg/SmbiosPlatformDxe/{ArmXen.c => XenSmbiosPlatformDxe.h} (56%)
>> copy OvmfPkg/SmbiosPlatformDxe/{SmbiosPlatformDxe.inf => XenSmbiosPlatformDxe.inf} (65%)
>> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.c
>> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/AcpiPlatform.h
>> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/EntryPoint.c
>> rename OvmfPkg/{AcpiPlatformDxe => XenAcpiPlatformDxe}/Xen.c (82%)
>> create mode 100644 OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf
>>
>>
>> base-commit: cfa6ffb113f2c0d922034cc77c0d6c52eea05497
>> --
>> 2.19.1.3.g30247aa5d201
>>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75817): https://edk2.groups.io/g/devel/message/75817
Mute This Topic: https://groups.io/mt/83110232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.