* Mon Jan 16 2023 Miroslav Rezanina <mrezanin@redhat.com> - 20221207gitfff6d81270b5-3
- edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch [bz#2158173] - edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch [bz#1983086] - Resolves: bz#2158173 ([aarch64][numa] Failed to create 2 numa nodes in some hardwares) - Resolves: bz#1983086 (Assertion failure when creating 1024 VCPU VM: [...]UefiCpuPkg/CpuMpPei/CpuBist.c(186): !EFI_ERROR (Status))
This commit is contained in:
parent
a5af0fc49b
commit
867bc965bc
@ -0,0 +1,97 @@
|
|||||||
|
From 0517c19dff1e3fd8e16a38533d39e4b9bd32f54e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Pawe=C5=82=20Po=C5=82awski?= <ppolawsk@redhat.com>
|
||||||
|
Date: Tue, 15 Nov 2022 01:02:51 +0100
|
||||||
|
Subject: [PATCH 2/2] MdePkg: Remove Itanium leftover data structure (RH only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Pawel Polawski <ppolawsk@redhat.com>
|
||||||
|
RH-MergeRequest: 22: MdePkg: Remove Itanium leftover data structure (RH only)
|
||||||
|
RH-Bugzilla: 1983086
|
||||||
|
RH-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
RH-Acked-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-Commit: [1/1] d7f46e0657016668a3c00309ed1d95aea7c55c97
|
||||||
|
|
||||||
|
Itanium support has been removed from EDK2 aroun 2019.
|
||||||
|
ITANIUM_HANDOFF_STATUS data structure looks to be
|
||||||
|
some leftover from that process.
|
||||||
|
|
||||||
|
There is also positive sidefect of this data structure removal.
|
||||||
|
Due to HOB allocation type used in PEI stage there is a limit
|
||||||
|
how much data about virtual CPU can be hold. This limit result
|
||||||
|
in only 1024 vCPU can be used by VM.
|
||||||
|
With Itanium related data structure removed more allocated space
|
||||||
|
can be used for vCPU data and with current allocation limit
|
||||||
|
will change from 1024 to around 8k vCPUs.
|
||||||
|
|
||||||
|
Signed-off-by: Paweł Poławski <ppolawsk@redhat.com>
|
||||||
|
---
|
||||||
|
MdePkg/Include/Ppi/SecPlatformInformation.h | 44 ---------------------
|
||||||
|
1 file changed, 44 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/MdePkg/Include/Ppi/SecPlatformInformation.h b/MdePkg/Include/Ppi/SecPlatformInformation.h
|
||||||
|
index 02b0711f18..fbcd205acd 100644
|
||||||
|
--- a/MdePkg/Include/Ppi/SecPlatformInformation.h
|
||||||
|
+++ b/MdePkg/Include/Ppi/SecPlatformInformation.h
|
||||||
|
@@ -84,49 +84,6 @@ typedef union {
|
||||||
|
|
||||||
|
typedef EFI_HEALTH_FLAGS X64_HANDOFF_STATUS;
|
||||||
|
typedef EFI_HEALTH_FLAGS IA32_HANDOFF_STATUS;
|
||||||
|
-///
|
||||||
|
-/// The hand-off status structure for Itanium architecture.
|
||||||
|
-///
|
||||||
|
-typedef struct {
|
||||||
|
- ///
|
||||||
|
- /// SALE_ENTRY state : 3 = Recovery_Check
|
||||||
|
- /// and 0 = RESET or Normal_Boot phase.
|
||||||
|
- ///
|
||||||
|
- UINT8 BootPhase;
|
||||||
|
- ///
|
||||||
|
- /// Firmware status on entry to SALE.
|
||||||
|
- ///
|
||||||
|
- UINT8 FWStatus;
|
||||||
|
- UINT16 Reserved1;
|
||||||
|
- UINT32 Reserved2;
|
||||||
|
- ///
|
||||||
|
- /// Geographically significant unique processor ID assigned by PAL.
|
||||||
|
- ///
|
||||||
|
- UINT16 ProcId;
|
||||||
|
- UINT16 Reserved3;
|
||||||
|
- UINT8 IdMask;
|
||||||
|
- UINT8 EidMask;
|
||||||
|
- UINT16 Reserved4;
|
||||||
|
- ///
|
||||||
|
- /// Address to make PAL calls.
|
||||||
|
- ///
|
||||||
|
- UINT64 PalCallAddress;
|
||||||
|
- ///
|
||||||
|
- /// If the entry state is RECOVERY_CHECK, this contains the PAL_RESET
|
||||||
|
- /// return address, and if entry state is RESET, this contains
|
||||||
|
- /// address for PAL_authentication call.
|
||||||
|
- ///
|
||||||
|
- UINT64 PalSpecialAddress;
|
||||||
|
- ///
|
||||||
|
- /// GR35 from PALE_EXIT state.
|
||||||
|
- ///
|
||||||
|
- UINT64 SelfTestStatus;
|
||||||
|
- ///
|
||||||
|
- /// GR37 from PALE_EXIT state.
|
||||||
|
- ///
|
||||||
|
- UINT64 SelfTestControl;
|
||||||
|
- UINT64 MemoryBufferRequired;
|
||||||
|
-} ITANIUM_HANDOFF_STATUS;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI_SEC_PLATFORM_INFORMATION_RECORD.
|
||||||
|
@@ -134,7 +91,6 @@ typedef struct {
|
||||||
|
typedef union {
|
||||||
|
IA32_HANDOFF_STATUS IA32HealthFlags;
|
||||||
|
X64_HANDOFF_STATUS x64HealthFlags;
|
||||||
|
- ITANIUM_HANDOFF_STATUS ItaniumHealthFlags;
|
||||||
|
} EFI_SEC_PLATFORM_INFORMATION_RECORD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -0,0 +1,67 @@
|
|||||||
|
From a7e155d9d0be18b9db31dd7135e9da2bc955e6b4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Wed, 11 Jan 2023 19:00:23 +0100
|
||||||
|
Subject: [PATCH 1/2] OvmfPkg/VirtNorFlashDxe: map flash memory as uncacheable
|
||||||
|
|
||||||
|
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
RH-MergeRequest: 21: OvmfPkg/VirtNorFlashDxe: map flash memory as uncacheable
|
||||||
|
RH-Bugzilla: 2158173
|
||||||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
RH-Acked-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-Commit: [1/1] 819cd72096fa9f253eef7b532122183b608c0064 (kraxel/centos-edk2)
|
||||||
|
|
||||||
|
Switching from the ArmPlatformPkg/NorFlashDxe driver to the
|
||||||
|
OvmfPkg/VirtNorFlashDxe driver had the side effect that flash address
|
||||||
|
space got registered as EFI_MEMORY_WC instead of EFI_MEMORY_UC.
|
||||||
|
|
||||||
|
That confuses the linux kernel's numa code, seems this makes kernel
|
||||||
|
consider the flash being node memory. "lsmem" changes from ...
|
||||||
|
|
||||||
|
RANGE SIZE STATE REMOVABLE BLOCK
|
||||||
|
0x0000000040000000-0x000000013fffffff 4G online yes 8-39
|
||||||
|
|
||||||
|
... to ...
|
||||||
|
|
||||||
|
RANGE SIZE STATE REMOVABLE BLOCK
|
||||||
|
0x0000000000000000-0x0000000007ffffff 128M online yes 0
|
||||||
|
0x0000000040000000-0x000000013fffffff 4G online yes 8-39
|
||||||
|
|
||||||
|
... and in the kernel log got new error lines:
|
||||||
|
|
||||||
|
NUMA: Warning: invalid memblk node 512 [mem 0x0000000004000000-0x0000000007ffffff]
|
||||||
|
NUMA: Faking a node at [mem 0x0000000004000000-0x000000013fffffff]
|
||||||
|
|
||||||
|
Changing the attributes back to EFI_MEMORY_UC fixes this.
|
||||||
|
|
||||||
|
Fixes: b92298af8218 ("ArmVirtPkg/ArmVirtQemu: migrate to OVMF's VirtNorFlashDxe")
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
|
||||||
|
(cherry picked from commit e5ec3ba409b5baa9cf429cc25fdf3c8d1b8dcef0)
|
||||||
|
---
|
||||||
|
OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c b/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c
|
||||||
|
index ff3121af2a..f9a41f6aab 100644
|
||||||
|
--- a/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c
|
||||||
|
+++ b/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c
|
||||||
|
@@ -394,14 +394,14 @@ NorFlashFvbInitialize (
|
||||||
|
EfiGcdMemoryTypeMemoryMappedIo,
|
||||||
|
Instance->DeviceBaseAddress,
|
||||||
|
RuntimeMmioRegionSize,
|
||||||
|
- EFI_MEMORY_WC | EFI_MEMORY_RUNTIME
|
||||||
|
+ EFI_MEMORY_UC | EFI_MEMORY_RUNTIME
|
||||||
|
);
|
||||||
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
Status = gDS->SetMemorySpaceAttributes (
|
||||||
|
Instance->DeviceBaseAddress,
|
||||||
|
RuntimeMmioRegionSize,
|
||||||
|
- EFI_MEMORY_WC | EFI_MEMORY_RUNTIME
|
||||||
|
+ EFI_MEMORY_UC | EFI_MEMORY_RUNTIME
|
||||||
|
);
|
||||||
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
14
edk2.spec
14
edk2.spec
@ -16,7 +16,7 @@ ExclusiveArch: x86_64 aarch64
|
|||||||
|
|
||||||
Name: edk2
|
Name: edk2
|
||||||
Version: %{GITDATE}git%{GITCOMMIT}
|
Version: %{GITDATE}git%{GITCOMMIT}
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: UEFI firmware for 64-bit virtual machines
|
Summary: UEFI firmware for 64-bit virtual machines
|
||||||
License: BSD-2-Clause-Patent and OpenSSL and MIT
|
License: BSD-2-Clause-Patent and OpenSSL and MIT
|
||||||
URL: http://www.tianocore.org
|
URL: http://www.tianocore.org
|
||||||
@ -71,6 +71,10 @@ Patch0026: 0026-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
|
|||||||
Patch0028: 0028-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch
|
Patch0028: 0028-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch
|
||||||
Patch0032: 0032-Revert-OvmfPkg-PlatformDxe-Handle-all-requests-in-Ex.patch
|
Patch0032: 0032-Revert-OvmfPkg-PlatformDxe-Handle-all-requests-in-Ex.patch
|
||||||
Patch0033: 0033-OvmfPkg-SmbiosPlatformDxe-use-PcdFirmware.patch
|
Patch0033: 0033-OvmfPkg-SmbiosPlatformDxe-use-PcdFirmware.patch
|
||||||
|
# For bz#2158173 - [aarch64][numa] Failed to create 2 numa nodes in some hardwares
|
||||||
|
Patch34: edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch
|
||||||
|
# For bz#1983086 - Assertion failure when creating 1024 VCPU VM: [...]UefiCpuPkg/CpuMpPei/CpuBist.c(186): !EFI_ERROR (Status)
|
||||||
|
Patch35: edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch
|
||||||
|
|
||||||
|
|
||||||
# python3-devel and libuuid-devel are required for building tools.
|
# python3-devel and libuuid-devel are required for building tools.
|
||||||
@ -375,6 +379,14 @@ install -m 0644 \
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 16 2023 Miroslav Rezanina <mrezanin@redhat.com> - 20221207gitfff6d81270b5-3
|
||||||
|
- edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch [bz#2158173]
|
||||||
|
- edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch [bz#1983086]
|
||||||
|
- Resolves: bz#2158173
|
||||||
|
([aarch64][numa] Failed to create 2 numa nodes in some hardwares)
|
||||||
|
- Resolves: bz#1983086
|
||||||
|
(Assertion failure when creating 1024 VCPU VM: [...]UefiCpuPkg/CpuMpPei/CpuBist.c(186): !EFI_ERROR (Status))
|
||||||
|
|
||||||
* Thu Jan 05 2023 Miroslav Rezanina <mrezanin@redhat.com> - 20221207gitfff6d81270b5-2
|
* Thu Jan 05 2023 Miroslav Rezanina <mrezanin@redhat.com> - 20221207gitfff6d81270b5-2
|
||||||
- edk2-use-rpm-build-flags-rh-only.patch [RHEL-177]
|
- edk2-use-rpm-build-flags-rh-only.patch [RHEL-177]
|
||||||
- Resolves: RHEL-177
|
- Resolves: RHEL-177
|
||||||
|
Loading…
Reference in New Issue
Block a user