* Re: [edk2-devel] [PATCH 00/43] OvmfPkg: remove Xen support from OvmfPkg*.dsc, in favor of OvmfXen.dsc
2021-05-26 20:14 Laszlo Ersek
@ 2021-06-02 8:36 ` Laszlo Ersek
2021-06-04 14:02 ` Anthony PERARD
0 siblings, 1 reply; 5+ messages in thread
From: Laszlo Ersek @ 2021-06-02 8:36 UTC (permalink / raw)
To: Anthony Perard, Julien Grall
Cc: devel, Ard Biesheuvel, Philippe Mathieu-Daudé, xen-devel
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
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH 00/43] OvmfPkg: remove Xen support from OvmfPkg*.dsc, in favor of OvmfXen.dsc
2021-06-02 8:36 ` [edk2-devel] " Laszlo Ersek
@ 2021-06-04 14:02 ` Anthony PERARD
2021-06-04 14:19 ` Laszlo Ersek
2021-06-04 16:05 ` Laszlo Ersek
0 siblings, 2 replies; 5+ messages in thread
From: Anthony PERARD @ 2021-06-04 14:02 UTC (permalink / raw)
To: devel, lersek
Cc: Julien Grall, Ard Biesheuvel, Philippe Mathieu-Daudé,
xen-devel
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH 00/43] OvmfPkg: remove Xen support from OvmfPkg*.dsc, in favor of OvmfXen.dsc
2021-06-04 14:02 ` Anthony PERARD
@ 2021-06-04 14:19 ` Laszlo Ersek
2021-06-04 16:05 ` Laszlo Ersek
1 sibling, 0 replies; 5+ messages in thread
From: Laszlo Ersek @ 2021-06-04 14:19 UTC (permalink / raw)
To: Anthony PERARD, devel
Cc: Julien Grall, Ard Biesheuvel, Philippe Mathieu-Daudé,
xen-devel
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH 00/43] OvmfPkg: remove Xen support from OvmfPkg*.dsc, in favor of OvmfXen.dsc
2021-06-04 14:02 ` Anthony PERARD
2021-06-04 14:19 ` Laszlo Ersek
@ 2021-06-04 16:05 ` Laszlo Ersek
1 sibling, 0 replies; 5+ messages in thread
From: Laszlo Ersek @ 2021-06-04 16:05 UTC (permalink / raw)
To: devel, anthony.perard
Cc: Julien Grall, Ard Biesheuvel, Philippe Mathieu-Daudé,
xen-devel
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH 00/43] OvmfPkg: remove Xen support from OvmfPkg*.dsc, in favor of OvmfXen.dsc
@ 2022-05-12 16:06 Laszlo Ersek
0 siblings, 0 replies; 5+ messages in thread
From: Laszlo Ersek @ 2022-05-12 16:06 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/html, Size: 963 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-05-12 16:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-12 16:06 [edk2-devel] [PATCH 00/43] OvmfPkg: remove Xen support from OvmfPkg*.dsc, in favor of OvmfXen.dsc Laszlo Ersek
-- strict thread matches above, loose matches on Subject: below --
2021-05-26 20:14 Laszlo Ersek
2021-06-02 8:36 ` [edk2-devel] " Laszlo Ersek
2021-06-04 14:02 ` Anthony PERARD
2021-06-04 14:19 ` Laszlo Ersek
2021-06-04 16:05 ` Laszlo Ersek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox