[pve-devel] [PATCH edk2-firmware v2] update to edk2-stable202308

Stefan Hanreich s.hanreich at proxmox.com
Wed Aug 30 17:50:01 CEST 2023


* Removed 0001-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch
  since it has been included upstream since commit c1e85376 [1].

* Updated the patch
  Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl so it applies
  again.

* had to increase FD_SIZE to 4M for the x64 build as otherwise the
  package wouldn't build due to the size of the resulting image

[1] https://github.com/tianocore/edk2/commit/c1e853769046b322690ad336fdb98966757e7414

Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
---

Changes from v1 -> v2:
* fixed metadata in ArmVirtPkg patch

Wasn't able to build this package without setting FD_SIZE to 4M, not
sure if this is due to my failure or if the image just got bigger with
the new changes.

Due to CRLF shenanigans I have made this commit available via my repos
as well - you can find it under staff/s.hanreich/pve-edk2-firmware on
the branch 2023-08.

Still not sure if the line endings are 100% correct since I have
warnings about EOL and trailing spaces, but I think they are because
of gits CRLF handling.

 debian/changelog                              |  6 +++
 ...latformInitLib-limit-phys-bits-to-46.patch | 43 -------------------
 ...g-make-EFI_LOADER_DATA-non-executabl.patch |  6 +--
 debian/patches/series                         |  1 -
 debian/rules                                  |  3 +-
 edk2                                          |  2 +-
 6 files changed, 11 insertions(+), 50 deletions(-)
 delete mode 100644 debian/patches/0001-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch

diff --git a/debian/changelog b/debian/changelog
index 4d0ac21..dd61c6f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+pve-edk2-firmware (3.20230826-1) bookworm; urgency=medium
+
+  * update sources to upstream edk2-stable202308 tag
+
+ -- Proxmox Support Team <support at proxmox.com>  Tue, 29 Aug 2023 13:58:15 +0200
+
 pve-edk2-firmware (3.20230228-4) bookworm; urgency=medium

   * limiting the phys-bits to 46 instead of 47 to work around older guest
diff --git a/debian/patches/0001-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch b/debian/patches/0001-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch
deleted file mode 100644
index 1708f40..0000000
--- a/debian/patches/0001-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 89a12f2a42b989e7925b4a71e503209971eaa271 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel at redhat.com>
-Date: Thu, 1 Jun 2023 09:57:31 +0200
-Subject: [PATCH] OvmfPkg/PlatformInitLib: limit phys-bits to 46.
-
-Older linux kernels have problems with phys-bits larger than 46,
-ubuntu 18.04 (kernel 4.15) has been reported to be affected.
-
-Reduce phys-bits limit from 47 to 46.
-
-Reported-by: Fiona Ebner <f.ebner at proxmox.com>
-Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
----
- OvmfPkg/Library/PlatformInitLib/MemDetect.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
-index 38cece9173..4d0522ce22 100644
---- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c
-+++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
-@@ -657,16 +657,19 @@ PlatformAddressWidthFromCpuid (
-     ));
- 
-   if (Valid) {
--    if (PhysBits > 47) {
-+    if (PhysBits > 46) {
-       /*
-        * Avoid 5-level paging altogether for now, which limits
-        * PhysBits to 48.  Also avoid using address bit 48, due to sign
-        * extension we can't identity-map these addresses (and lots of
-        * places in edk2 assume we have everything identity-mapped).
-        * So the actual limit is 47.
-+       *
-+       * Also some older linux kernels apparently have problems handling
-+       * phys-bits > 46 correctly, so use that as limit.
-        */
--      DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 47 (avoid 5-level paging)\n", __func__));
--      PhysBits = 47;
-+      DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 46 (avoid 5-level paging)\n", __func__));
-+      PhysBits = 46;
-     }
- 
-     if (!Page1GSupport && (PhysBits > 40)) {
diff --git a/debian/patches/Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch b/debian/patches/Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch
index 7e1417a..d389cfd 100644
--- a/debian/patches/Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch
+++ b/debian/patches/Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch
@@ -9,12 +9,12 @@ Last-Update: 2023-03-09

 --- a/ArmVirtPkg/ArmVirt.dsc.inc
 +++ b/ArmVirtPkg/ArmVirt.dsc.inc
-@@ -361,7 +361,7 @@
+@@ -365,7 +365,7 @@
    # reserved ones, with the exception of LoaderData regions, of which OS loaders
    # (i.e., GRUB) may assume that its contents are executable.
    #
 -  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
 +  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD1
  
- [Components.common]
-   #
+   gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard|TRUE
+ 
diff --git a/debian/patches/series b/debian/patches/series
index a9ee2be..f1ec614 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,4 +2,3 @@ no-stack-protector-all-archs.diff
 brotlicompress-disable.diff
 x64-baseline-abi.patch
 Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch
-0001-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch
diff --git a/debian/rules b/debian/rules
index eb0ee89..934fe50 100755
--- a/debian/rules
+++ b/debian/rules
@@ -29,7 +29,6 @@ COMMON_FLAGS += -DPVSCSI_ENABLE=TRUE
 OVMF_COMMON_FLAGS = $(COMMON_FLAGS)
 OVMF_2M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_2MB
 OVMF_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB
-OVMF_2M_SMM_FLAGS = $(OVMF_2M_FLAGS) -DSMM_REQUIRE=TRUE
 OVMF_4M_SMM_FLAGS = $(OVMF_4M_FLAGS) -DSMM_REQUIRE=TRUE
 OVMF32_4M_FLAGS = $(OVMF_COMMON_FLAGS) -DFD_SIZE_4MB
 OVMF32_4M_SMM_FLAGS =  $(OVMF32_4M_FLAGS) -DSMM_REQUIRE=TRUE
@@ -132,7 +131,7 @@ $(OVMF_BINARIES) $(OVMF_IMAGES): debian/setup-build-stamp
 			-t $(EDK2_TOOLCHAIN) \
 			-p OvmfPkg/OvmfPkgX64.dsc \
 			$(PCD_OPTIONS) \
-			$(OVMF_2M_SMM_FLAGS) -b $(BUILD_TYPE)
+			$(OVMF_4M_SMM_FLAGS) -b $(BUILD_TYPE)
 	cp $(OVMF_BUILD_DIR)/FV/OVMF_CODE.fd \
 		$(OVMF_INSTALL_DIR)/OVMF_CODE.secboot.fd
 	rm -rf Build/OvmfX64
diff --git a/edk2 b/edk2
index f80f052..819cfc6 160000
--- a/edk2
+++ b/edk2
@@ -1 +1 @@
-Subproject commit f80f052277c88a67c55e107b550f504eeea947d3
+Subproject commit 819cfc6b42a68790a23509e4fcc58ceb70e1965e
--
2.39.2





More information about the pve-devel mailing list