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 <l...@nuviainc.com> Thanks! Laszlo > >> Cc: Andrew Fish <af...@apple.com> >> Cc: Anthony Perard <anthony.per...@citrix.com> >> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> >> Cc: Brijesh Singh <brijesh.si...@amd.com> >> Cc: Erdem Aktas <erdemak...@google.com> >> Cc: James Bottomley <j...@linux.ibm.com> >> Cc: Jiewen Yao <jiewen....@intel.com> >> Cc: Jordan Justen <jordan.l.jus...@intel.com> >> Cc: Julien Grall <jul...@xen.org> >> Cc: Leif Lindholm <l...@nuviainc.com> >> Cc: Michael D Kinney <michael.d.kin...@intel.com> >> Cc: Min Xu <min.m...@intel.com> >> Cc: Peter Grehan <gre...@freebsd.org> >> Cc: Philippe Mathieu-Daudé <phi...@redhat.com> >> Cc: Rebecca Cran <rebe...@bsdio.com> >> Cc: Tom Lendacky <thomas.lenda...@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/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-