Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ovmf for openSUSE:Factory checked in at 2026-02-26 18:36:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ovmf (Old) and /work/SRC/openSUSE:Factory/.ovmf.new.29461 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ovmf" Thu Feb 26 18:36:28 2026 rev:128 rq:1335137 version:202602 Changes: -------- --- /work/SRC/openSUSE:Factory/ovmf/ovmf.changes 2026-02-12 17:24:57.049140386 +0100 +++ /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes 2026-02-26 18:36:53.616215452 +0100 @@ -1,0 +2,433 @@ +Tue Feb 24 06:04:52 UTC 2026 - Richard Lyu <[email protected]> + +- Update to edk2-stable202602 + - Patches (git log --oneline --date-order edk2-stable202511..edk2-stable202602): + b7a715f7c03c MdeModulePkg: Add Unmap Callback + 0e8dc1693d4e MdeModulePkg: Code/Comment cleanup + 3457388b7cec MdeModulePkg: Use EFI_PAGES_TO_SIZE macro in ArmFfaSecRxTxMap + ea8447eec78c MdeModulePkg: Remove global usage from ArmFfaSecRxTxMap + 7416ebda09de MdeModulePkg: Remove global usage in ArmFfaCommon + 16d9ba7275d4 MdeModulePkg: Add helper to check if FF-A is supported + 7baa358e2cdd ArmPlatformPkg/PL011UartLib : Fix incorrect control bit validation + 12f785f10621 Revert "BaseTools: Add support for out-of-tree builds" + e1c56cf5d54f Revert "BaseTools/Source/C/Makefile: Update OBJECTS using OS specific SEP" + 756d5fb0aba8 EmbeddedPkg/PrePiMemoryAllocationLib: Update memory hob page alignment + ade5fdb8e3cb Maintainers.txt: Highlight maintainer opportunities + 95a1f4fc4d16 UefiPayloadPkg: Update wiki links + 7ac719710c06 SignedCapsulePkg: Update wiki links + d60aab664a16 PrmPkg: Update wiki links + 863d89f31f00 OvmfPkg: Update wiki links + eb1e2f5434bd BaseTools: Update wiki links + 743a5e91dc61 ArmVirtPkg: Update wiki links + 26caa77a1294 .pytool: Update wiki links + ae73ab7c7dcf .github: Update wiki links + feefaba102b8 Global: Update wiki links in workspace root files + be6ff0f289f4 MdeModulePkg/HiiDatabaseDxe: Fix parser issue in GetNameElement() + f0542ae07d5e BaseTools/Source/C/Makefile: Update OBJECTS using OS specific SEP + e092122653c0 ArmPlatformPkg/PL011UartLib : Fix SetControl() SCT conformance + cf513a57cc6c UefiCpuPkg: Update exception vector for LoongArch64 + 6d4b80aab3ac ArmPkg/Library: update xferlist version to 2 + 96572d4d72be ShellPkg: SMBIOS type 20 Extended Starting/Ending Address print type error + de6f1e885c02 Maintainers.txt: Add Kun Qin as maintainer for StandaloneMmPkg + 25462a6ab249 MdeModulePkg: MmVariablePei: Populate correct v3 header + 11d04a2975e4 StandaloneMmPkg: StandaloneMmIplPei: MM Communicate v3 header check fix + f0eade598462 StandaloneMmPkg: StandaloneMmCore: Log MM Entry/Exit Protocol at Verbose + ffa6fc362aaf StandaloneMmPkg: StandaloneMmCore: Don't Print Entry/Exit Logs + 3a46febf9b82 Maintainers.txt: Add Doug Flick as maintainer for CryptoPkg + 3fe1d56cc98e BaseTools: Add support for out-of-tree builds + f39883ea115f BaseTools: Refactor shell BinWrappers/PosixLike wrappers + 4cfa0c4911a2 BaseTools: Remove unused rules and dependencies + 388a817120f3 BaseTools/Tests: Generate interim files in temp directory + 522b18190a26 BaseTools/Tests: Fix clean target + f5f4e9b76462 MdeModulePkg/SetupBrowserDxe: Check Form parameter in RuleIdToExpression() + 5a414b5ef7de MdeModulePkg/revertSetupBrowserDxe: Fix code issue in ParseOpCodes() + e0f8dc155fa5 ArmPkg: Replace non-ASCII characters with ASCII + 83271a185ad8 EmbeddedPkg: Replace non-ASCII characters with ASCII + 23d5ddfe2d48 MdePkg: Replace non-ASCII characters with ASCII + 64ad6f20d883 MdeModulePkg: BdsDxe: Introduce infinite boot retries + ff69be351986 MdeModulePkg/CapsuleOnDiskLoadPei: fix gcc 16 warning + e01df5228113 MdeModulePkg/VarCheckHiiLib: fix gcc 16 warning + 8992abde26b2 MdeModulePkg/DisplayEngineDxe: fix gcc 16 warning + 21441cdf2996 MdeModulePkg/SmbiosMeasurementDxe: fix gcc 16 warning + 0f451f6e1ff9 MdeModulePkg/CustomizedDisplayLib: fix gcc 16 warning + 9af06ef3cbb0 BaseTools/EfiRom: fix compiler warning + 359730619129 BaseTools/StringFuncs: fix gcc 16 warning + 50a00eb5d43c ArmPlatformPkg: Extend SpellCheck dictionary + f9cd283aa110 OvmfPkg/Microvm: add memory debug log support + d04e5c6c5284 OvmfPkg/AmdSev: add memory debug log support + 27143a8233f2 OvmfPkg: use MemDebugLogPeiCoreLib for PEIMs + 5ededcd630b4 ArmVirtPkg: use MemDebugLogPeiCoreLib for PEIMs + 37857f41c675 OvmfPkg/MemDebugLogPeiCoreLib: enable for PEIMs + 7916a6ccb732 OvmfPkg/MemDebugLogPeiLib: drop duplicate MemDebugLogWrite function + 370b689176cc OvmfPkg: Remove Hash2DxeCrypto if NETWORK_ENABLE=FALSE + 184058881431 EmulatorPkg/PlatformCI: Set WIN_MINGW32_BUILD + fe436902cc60 EmulatorPkg: Remove Hash2DxeCrypto if NETWORK_ENABLE=FALSE + c2915d24a183 BaseTools: Prevent Subsection PCDs from polluting global expressions + 1a261da766ef MdeModulePkg/UsbMassStorageDxe: Add retry mechanism to UsbMassReadBlocks + f6489621b8ae MdeModulePkg: PciBusDxe: Degrade MEM64 to PMEM64 when bridge lacks MEM64 + 300dada916aa MdeModulePkg/Core: Make PPI services spec complaint + 539c53375e84 ShellPkg/AcpiView: Adds FPDT Parser + ccbee92b65a3 .azurepipelines/templates: Split out unit test jobs + ea011c812fc5 BaseTools/Plugin/WindowsVsToolChain: Add WindowsSDKLibVersion + 0b867b65a2c1 BaseTools/Plugin/WindowsVsToolChain: CLANGPDB add IA32 DLLs to Path + 947bb30b1f0a .pytool/Plugin/HostUnitTestCompilerPlugin: Allow non VS20xx IA32 + 8ca4de0982eb .pytool/Plugin/CompilerPlugin: Skip TARGET not supported by DSC + d6bcf9d22c9d .pytool/Plugin/CompilerPlugin: Allow NOOPT builds + d419725b2320 MdeModulePkg/Core/Dxe/Mem: Fix GetMemoryMap() Alignment Issues + 6834d4399174 MdeModulePkg/Core/Dxe/Mem: Align initial memory map entries + 377cdf06921b StandaloneMmPkg/Core/Page.c: Correct gMemoryMap typo + a2aaab4553ac MdeModulePkg/Core/PiSmmCore/Page.c: Correct gMemoryMap typo + 97a81fd05c47 RedfishPkg/RedfishPlatformConfigDxe: reduce false alarm + 61c7b61fd7be RedfishPkg/RedfishPlatformConfigDxe: add missing HII handles + 0ba3897fb3d1 OvmfPkg: Move post-merge pipelines runs to a daily build + f16447702c48 EmulatorPkg: Move post-merge pipelines runs to a daily build + 8d3d9d2f0ea6 ArmVirtPkg: Move post-merge pipelines runs to a daily build + 842720ed0943 .azurepipelines: Move post-merge to a daily build + b7d0b8331fd5 UefiPayloadPkg: UniversalPayloadBuild.py -l add support for various bases + 3d8fb11bc222 UefiPayloadPkg: MkFitImage.py removes extra spaces + c204f5402ea5 DynamicTablesPkg: Adds API to create method with Notify support + f840501d1f86 OvmfPkg: Fix property typos in OvmfPkg + d3dee93960cc MdePkg: Fix property typos in MdePkg + 491262f43106 MdeModulePkg/Library: Fix property typos + 1b70ffe81954 EmulatorPkg: Fix build failure with gcc when TLS is enabled + 229fbfde14a3 SignedCapsulePkg/Universal/RecoveryModuleLoadPei: 4KB alignment + 94a50ef550b9 UefiCpuPkg: Fix VS2022 NOOPT IA32 build issues + 811f56c9386b UefiCpuPkg/Library/CpuPageTableLib/UnitTest: Fix pointer compare + 6458470010c8 MdeModulePkg/LoadFileOnFv2: Fix typo in Buffer parameter description + 01cdc859e5ac MdePkg/LoadFile2: Fix typo in Buffer parameter description + b55b3ae351b2 EmbeddedPkg/AndroidBootImgLib: Fix typo in Buffer parameter description + 4890db2abc93 NetworkPkg/UefiPxeBcDxe: Fix typo in Buffer parameter description + 8c3e181b79c6 MdeModulePkg/PciBusDxe: Fix typo in Buffer parameter description + 8ba64a9a9417 UefiPayloadPkg: Fix build failure with CLANGPDB + 070d88a592f7 BaseTools/Conf: CLANGDWARF remove -mno-sse -mno-mmx + 038c22c62404 EmbeddedPkg/Library/VirtualRealTimeClockLib: Fix type mismatch + f5cde4091914 EmbeddedPkg/GdbStub/X64: Use X64 system context + 23329a90a071 EmbeddedPkg/Universal/MmcDxe: Fix VS2022 NOOPT IA32/X64 issues + bdff71b21284 EmulatorPkg: Fix build issue when REDFISH_ENABLE is TRUE + 60bfa52f6520 RedfishPkg/RedfishPlatformConfig: Fix CLANGPDB build failure + 6f536c022638 UefiPayloadPkg: Add PCD to control PCI DMA memory above 4GB + 22122aed0d43 UefiPayloadPkg: Remove fixed serial port settings for AARCH64 + 27e4a5510aaa MdeModulePkg/Universal/RegularExpressionDxe: Fix VS2022 NOOPT IA32 __allmul + 715a8dc06756 SecurityPkg/Library/SecureBootVariableLib/UnitTest: Cmocka use issues + 43e0552a7462 SecurityPkg: Fix VS2022 NOOPT IA32 use of intrinsics + b734b82ad8b8 RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish: Uninit var + c666d125b09c IntelFsp2Pkg/PatchFv.py: Support pseudo symbol for image base + 0302aa5bca97 UnitTestFrameworkPkg: WIN_MINGW32_BUILD generate .exe + d53d0fd5c051 UefiPayloadPkg: Fix build failure with GCC + 9ff5bf99f484 MdePkg/Library/BaseFdtLib: Fix VS2022 NOOPT IA32 issues + f9076a3a2bae UefiPayloadPkg: Simplify UefiPayloadEntry for X64 + fca7dd03c940 UefiPayloadPkg: Simplify UefiPayloadEntry for Ia32 + 74c508abe8dd MdePkg/BaseFdtLib: Add more wrappers + dddb45306aff EmulatorPkg: Align DEFINE statements with UnitTestFrameworkPkg + d78a2b52f3dd EmulatorPkg: use double hyphens for CLANGDWARF llvm-rc + 1d5dc2d47e55 BaseTools: use double hyphens for CLANGPDB llvm-rc + 96049a1cbcf3 StandaloneMmPkg/StandaloneMmIplPei: Optimize CreateMmPlatformHob calls + ca0076b9455d OvmfPkg/OvmfXen: Fix XenHypercallSchedOp call in BaseResetShutdownXen + ff9bd64b9d59 OvmfPkg/OvmfXen: Add missing Xen's sched.h include + 79eab6ffff07 StandaloneMmPkg: Avoid updating attributes on 0 length sections + 564b8e182569 MdeModulePkg/AcpiTableDxe:Created EfiACPIReclaimMemory for ACPIHOB RSDP + f82d1fa48eea MdePkg/FvLib: Need section alignment for FindFfsSectionInSections + 454e1fc40fe6 SecurityPkg: Fix Tcg2SubmitCommand in most cases + f2c63dca1bc5 UefiCpuPkg/BaseRiscV64CpuTimerLib: Add constructor to initialize mTimeBase + b1707d99ae05 DynamicTablesPkg: add SSDT DMC620 PMU table generator + 0d6e438a6f97 ArmPkg/Library: separate request parsing from DelegatedEventLoop() + f808bc1e60df ArmPkg/Library: introduce FmpDeviceLib using Firmware update ABI + d152cda4aff8 ArmPkg: add firmware update feature related GUID + 3c3cc89e7a77 ArmPkg/Include/IndustryStandard: introduce firmware update feature headers + 1c836a89b8ff ArmPkg/StandaloneMmCpu: rename gGuidedEventContext to mGuidedEventContext + cc883371e743 ArmPkg/StandaloneMmCpu: pass ARM_MM_HANDLER_CONTEXT to MmHandler + 2ee24e6c4e76 ArmPkg/Library: add ArmMmHandlerContext for MM handler context management + f63875271d71 ArmPkg/Library/StandaloneMmEntryPoint: introduce IsSecureMmCommBufferAddr() + 6b03a92dff73 MdePkg/IndustryStandard/ArmFfaSvc.h: add partition type helper + 361cd6b3bd1b BaseTools: tools_def: Add support for CLANGPDB with AARCH64 + 3900ca9d7bed UefiPayloadPkg: Support CLANGPDB AARCH64 + 7075ab567bc1 UefiCpuPkg: Add CLANGPDB AARCH64 Support + d098c6542716 StandaloneMmPkg: Correct Build Options for CLANGPDB + 198c9bf50697 EmbeddedPkg: PrePiMemoryAllocationLib: Add AllocateCopyPool + 2c4f469a96d9 EmbeddedPkg: PrePiHobLib: Add Library/Protocol Dependencies + 3f677aa69ec0 CryptoPkg: Add AARCH64-PE Target to OpenSSL Gen + 1f33246fe92f CryptoPkg: Add CLANGPDB AArch64 Support + 2eed2bf8f007 ArmVirtPkg: Add CLANGPDB Support + 237ba0204c21 ArmPkg: Add Required Library Classes for ArmTransferListLib + ed99c195b347 ArmVirtPkg: PrePi: Support PE Targets + 5d9e6e2ad1d2 ArmPlatformPkg: PeilessSec: Support PE Targets + de4593ca00be ArmPkg: ArmStandaloneMmCoreEntryPoint: Add CLANGPDB Support + a7eac73b9750 ArmPkg: ArmPsciMpServices: Support PE Targets + 969879cb28d1 MdePkg, ArmPkg, ArmPlatformPkg: Create VECTOR_TABLE Macro + 047819264109 ArmPkg: ArmExceptionLib: Drop ExceptionHandlersEnd + a9faf07bc089 MdePkg: Add PE Target Support to AArch64 + 5eeac91bc4fd MdePkg: AArch64Mmu.h: Fix define shifts + 4743d8d99256 MdeModulePkg: StatusCodeHandler Stmm remove assert + 3e5942ea5b02 OvmfPkg: Fix dependency issue when StandaloneMm enabled + 8ba02634ecaa OvmfPkg/VirtioRngDxe: protect VirtioRngGetRNG against timer callbacks + b220ba807e74 MdeModulePkg: Fix overflow in PciAllocateBusNumber + 0ab766c6b6ef MdeModulePkg: Add unit tests for DxeReportStatusCodeLib + 3fe8cad23ced MdeModulePkg: RuntimeDxeReportStatusCodeLib: Do not query protocol + ce61d5f327d5 MdeModulePkg: DxeReportStatusCodeLib: Do not query protocol + 1588d5b9f011 MdePkg: Enable BaseRngLib for LoongArch64 + 6696ff97b5bf MdePkg: Add LoongArch64 instance in BaseRngLib + f25d437f265f DynamicTablesPkg: fix typo SmbiosSmcLib + a9d076d7d04e BaseTools/PatchCheck.py: Disallow commit subject lines that end with period + 800a46db98e6 RedfishPkg: Add LOONGARCH64 as supported architecture + 96ad9bd397ca SecurityPkg/Tcg2Config: use ArmFfaGetPartitionInfo() in Tcg2ConfigFfaPeim + b80000847abb SecurityPkg/Library: use ArmFfaGetPartitionInfo() in Tpm2ServiceFfaLib + 8955d8db3286 ArmPkg/Driver: use ArmFfaGetPartitionInfo() in Mmcommunication + c16f1cc6843b MdePkg,MdeModulePkg/ArmFfaLib: introduce ArmFfaGetPartitionInfo() + 898ae481d94e MdeModulePkg/ArmFfaLib: support ArmFfaLib wihtout Rx/Tx buffer + eea64c7fcd7f MdePkg, MdeModulePkg/ArmFfaLib: add funcs to get partition info via regs + ec43dcc0857a MdePkg: Fix incorrect mask in PostCode + a3c1ea0d0ce0 MdeModulePkg: Optimize the process while cleaning dynamic string + 4e92a6a9d473 MdeModulePkg: Fix issue that French package is unexpectedly cleaned + 7ccc418c23be ArmPkg: MmCommunicationDxe: Handle when the region is already reported + 6310b11b4150 ArmPlatformPkg: MemoryInitPeiLib: Read PCDs into local variable + 99f93277405d UnitTestFrameworkPkg: Add VS2026 Support + adccced058d9 BaseTools: Drop AArch64 definitions, Linker aligning and EBC info + 52d54e0b440f BaseTools: Add VS2026 support. + 19fc4b7f50bc NetworkPkg: Add VS2026 toolchain support + deeeaa76c077 EmulatorPkg: Use HOST_APPLICATION and add MINGW CLANG + b294da34ad84 EmulatorPkg: Increase FD and FvRecovery size to ~12MB + f99a7af7c61c EmulatorPkg/Unix: Load symbols when modules are loaded + 1a4c4fb5a76f ArmPkg, UefiCpuPkg: Fix boot failure on FEAT_LPA-only systems without LPA2 + d97d93bba8a8 UnitTestFrameworkPkg: Add MINGW CLANG Support + 923a951e8a77 BaseTools/Plugin/HostBasedUnitTestRunner: Add missing quotes for Windows + 0f59a2a287de BaseTools/WindowsVsToolChain: Add CLANG support + 4febebe9c2e8 .pytool: Add uncrustify disable/enable inline strings + 706a3f989e0c CryptoPkg: Use Openssl NASM for Windows host-based unit tests + 27020f33a1b2 UnitTestFrameworkPkg: Add Windows host-based unit test define + ccfc888f06d8 BaseTools/Conf: Add target to CLANGDWARF for IA32/X64 + 85d3fc596bcc BaseTools/Conf: Use common rule for Hii-Binary-Package + 20233f156c2e BaseTools/Conf: Align CLANGDWARF with GCC .efi rules + b874f927dcb1 BaseTools/Conf: Update CLANG NASM flags for IA32/X64 + f26760f5e203 BaseTools/Source/C/Makefiles: Detect cycle in pids + a0002ddc5342 BaseTools/build: Add defines for Windows build environments + 185e42460200 CryptoPkg/Library/IntrinsicLib: IA32 CLANGPDB missing functions + 135e06911fc6 EmulatorPkg/Win/Host: Remove workarounds for older VS20xx/SDKs + 892a99aa02f6 EmulatorPkg/Win/Host: Fix CLANG windows include issues + cd68b0087399 EmulatorPkg/Win/Host: Fix GetProcessAffinityMask() param types + a5a9df01f56d EmulatorPkg/Win/Host: Fix Receive() parameter type + 771137625b19 EmulatorPkg/Win/Host: Fix main() return type and error paths + 8dca04c5ffdf EmulatorPkg/Win/Host: Fix WinNtOpenVolume() uninitialized variable + 0890baeaa329 EmulatorPkg/Win/Host: Fix WinNtBlockIoError() parameter type + a02ebcfed88d EmulatorPkg/Unix/Host: Fix gPpiList multiply defined + 1aaa37e00a71 EmulatorPkg/Unix/Host: Fix symbol loading with clang + 30af21720355 EmulatorPkg/Sec: Port SwitchRam to NASM + e622a4221ada UnitTestFrameworkPkg: Fix StackCheckLib class mapping + 81c954497494 CryptoPkg/Library/OpensslLib: Add -UWIN32 to GCC Family + 66346d5edeac MdeModulePkg: Fix FreePages not existent memory + fe9447553858 NetworkPkg: Add RngLib mapping for LOONGARCH64 + 85e2fef2a8df BaseTools: Add CLANG support to Edk2ToolsBuild.py + 8d0afac1d225 BaseTools/GenFw: Ignore R_*_NONE relocations on all architectures + ddd7855a7a7d BaseTools,UefiPayloadPkg: Replace deprecated R_AARCH64_NONE value + 7ca8b1b4c7b5 MdeModulePkg/UfsPassThruDxe:Fix Ufs DM Command issue + 1e1edf4d6cd4 MdePkg/Library/BaseLib: Use PcdControlFlowEnforcementPropertyMask as fixed + e6fa2e32689b UnitTestFrameworkPkg/Include/Library: Remove _MSC_VER workaround + 8592546f66fb BaseTools/Conf: Remove -U _MSC_VER from CLANGPDB + 17cb2f90b62b MdeModulePkg/BrotliCustomDecompressLib: Undefine _MSC_VER for GCC + 16669a196157 CryptoPkg/Library/MbedTlsLib: Undefined _MSC_VER for GCC Family + 55be609c09f8 CryptoPkg/Library/OpensslLib: Undefined _MSC_VER for GCC Family + 79fdd2b82af9 BaseTools: GNUMakefiles must use CMD.EXE in Windows + 9fa1a35e56e0 MdeModulePkg/Universal/DebugServicePei: Correct function and entry point + 8635ea07be42 SecurityPkg/Library/SecureBootVariableLib/UnitTest: Fix CLANG + d29ff296fb7a UnitTestFrameworkPkg/UnitTestDebugAssertLibHost: Fix clang error + 8c8aea0e0aa7 UnitTestFrameworkPkg/UnitTestLib: Fix printf() error from clang + d57edbe06095 ArmVirtPkg: Fix incorrect filename in README + ec1ae4e55edd .azurepipelines: Fix incorrect filename in comment + 5eec446ba685 DynamicTablesPkg: Fix spelling issues + 40849b8c4324 ShellPkg/TftpDynamicCommand: Update BASE_NAME to follow code style + 1e3ea7672817 UefiCpuPkg/CpuExceptionHandlerLib: Add LOONGARCH_IOCSR_MBUF3 RereadCount + 9e1a3bb474c9 BaseTools/Plugin/HostBasedUnitTestRunner: Merge clang coverage files + 7c9fd884be4e BaseTools: Fix multiple security vulnerabilities (Defense in Depth) + 4cf6f2f32d3b PrmPkg: Update SpellCheck Extended words + 542d2f2ed4e0 PrmPkg/Library/DxePrmContextBufferLib/UnitTest: Fix CLANG error + 1e3e575ee2fa SourceLevelDebugPkg: Update SpellCheck Extended words + 9013d867ae33 UnitTestFrameworkPkg: Fix spelling issues + f9326a4fece7 MdeModulePkg: Fix regressions from 11687, 11689. + 786de8636a28 MdeModulePkg/PciBusDxe: Fix boot hang introduced by ff3c1ad + be9136d40def RedfishPkg: Fix CLANGPDB _fltused build error + 88dbd249dac4 UefiPayloadPkg: Remove unused variable to fix build error + 66ea00be1bf3 UefiPayloadPkg: Setup temporary GDT for x64 UniversalPayload + 84e7054790d1 ArmVirtPkg: Increase firmware size + 14aa197f71cc DynamicTablesPkg/AmlLib: Remove invalid ASSERT for IRQ macro generation + d2cbaefc0822 OvmfPkg/X86QemuLoadImageLib: flip default for EnableLegacyLoader to false + ba8296810c6c SecurityPkg: Fix Tcg2SubmitCommand in TPM field upgrade scenario + 02c88f25f362 DynamicTablesPkg: Fix used uninitialized warning from CLANG toolchains + 4c8ba6aed869 OvmfPkg/QemuFwCfgLib: do not log cache lookups + 5ac93b22274b ArmPlatformPkg/PL011SerialPortLib: Add hardware flow control support + 7772a2a3471b SecurityPkg: Correct misspelled variable name + e4f99a85545f OvmfPkg/PlatformInitLib: reserve igvm parameter area + ff3c1adf20ff MdeModulePkg: Load the native Option ROM image if the native one exists + c20483b928d9 Global: Make additional upgrades from GCC5 to GCC + b38fea51eb65 Global: Update CI from GCC5 to GCC + 3e7107c7da65 MdePkg/BaseLib AARCH64: Drop special Unaligned.c version + 2ba7e5be6cc6 MdePkg/BaseLib: Avoid undefined behavior in Unaligned() accessors + 741ef9cec35f MdePkg/UefiLib: Use CompareMem() to compare ISO639 language codes + 471c15b396a3 OvmfPkg/VirtioSerialDxe: set EFI_SERIAL_INPUT_BUFFER_EMPTY + 8b11d8b1cc49 OvmfPkg/VirtioSerialDxe: factor out VirtioSerialIoWriteFlush + 62d8723eace0 OvmfPkg/VirtioSerialDxe: explitly clear return value in GetControl + 409194be0342 OvmfPkg/VirtioSerialDxe: drop Get/SetControl logging + ffcea707082f BaseTools: Update nasm to 2.16.01 + 3f94056b30b1 .pytool/SpellCheck: Fix silent cspell run error + faa0ebc83974 MdeModulePkg: Fix regressions from 11686, 11687, 11688, 11689. + 4ff51f3780f9 OvmfPkg/MemDebugLogLib: use AcquireSpinLockOrFail + 0917ddad2529 OvmfPkg/EmuVariableFvbRuntimeDxe: avoid accessing varstore header with cmp + a9309b6589e0 StandaloneMmPkg: Remove FvLib from StandaloneMmPkg + 3bc03ff552c8 ShellPkg/AcpiView: Fix unused variable warnings in RimtParser + 2b47c81fe6f7 ShellPkg/For: Remove redundant null/empty checks on ArgSetWalker + ee0084a071b9 ShellPkg/Mv: Harden and optimize trailing-slash trimming + a058a2856dec BaseTools: Cap AutoGen thread count to avoid file descriptor exhaustion + 7aaf742d2dc3 BaseTools: Handle file descriptor exhaustion during parallel build + 53cca9ed9995 BaseTools/VfrCompile: Minor code cleanup + f79cfc8eafa5 BaseTools/VfrCompile: Fix null pointer deref when dumping internal types + 5701cf673d39 BaseTools/VfrCompile: Fix bit field access logic + 618868512e7a BaseTools/VfrCompile: Prevent uninitialized memory access + 12751d48e215 BaseTools/VfrCompile: Fix EFI_GUID unaligned access + 939ebe48e6d6 BaseTools/VfrCompile: Fix memory issues + 95c4d1e17224 BaseTools: Update OFFSET_OF macro for use with UBSan + e17e5ddd14da OvmfPkg: Drop mixed IA32/X64 builds from platform CI + 4b213ff6d121 Readme: Remove OVMF IA32X64 builds from dashboard + bd4bb10d8070 MdeModulePkg: Remove ambiguous negation of narrower type + eb4c151bc6a6 CryptoPkg: Suppress VS2022 warning #4319 when building OpenSSL + 8b3b2a64886f DynamicTablesPkg: Add RISC-V terms to spell check ignore list + d6748c514b1f DynamicTablesPkg/FdtHwInfoParserLib/Serial: RISC-V: Convert to GSI + 524e4c8a0586 DynamicTablesPkg/FdtHwInfoParserLib/Pci: Convert IRQ to GSI for RISC-V + 0411b05771e5 DynamicTablesPkg/FdtHwInfoParserLib: Detect IRQ type based on IntcCells + b6c60927c45f DynamicTablesPkg/FdtHwInfoParserLib: Add RISC-V FDT parsers + 3a026170a48d DynamicTablesPkg/RISC-V: Add AcpiSsdtPlicAplicLib library + d612fd272f26 DynamicTablesPkg/Acpi: Add RHCT generator for RISC-V + 319114e477d7 DynamicTablesPkg/Acpi: Add MADT generator for RISC-V ++++ 136 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/ovmf/ovmf.changes ++++ and /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes --- /work/SRC/openSUSE:Factory/ovmf/uefi-shell.changes 2026-02-12 17:24:57.085141914 +0100 +++ /work/SRC/openSUSE:Factory/.ovmf.new.29461/uefi-shell.changes 2026-02-26 18:36:54.320244591 +0100 @@ -1,0 +2,5 @@ +Tue Feb 24 06:04:52 UTC 2026 - Richard Lyu <[email protected]> + +- Update to edk2-stable202602 + +------------------------------------------------------------------- Old: ---- edk2-edk2-stable202511.tar.gz ovmf-nasm3.patch New: ---- edk2-edk2-stable202602.tar.gz ovmf-Revert-ArmPkg-UefiCpuPkg-Fix-boot-failure-on-FEAT_LP.patch ovmf-Revert-ArmPkg-UefiCpuPkg-fix-boot-failure-with-LPA2.patch ovmf-Revert-UefiCpuPkg-ArmMmuLib-Add-support-for-LPA2.patch ----------(Old B)---------- Old:/work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes- - ovmf-Revert-UefiCpuPkg-ArmMmuLib-Add-support-for-LPA2.patch /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes:- Remove ovmf-nasm3.patch as a matching fix has been merged upstream /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes- 9ccf8751a74f UefiCpuPkg/CpuExceptionHandlerLib: fix push instructions ----------(Old E)---------- ----------(New B)---------- New:/work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes-- Add the following revert patches to disable LPA2 support (bsc#1258870) /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes: - ovmf-Revert-ArmPkg-UefiCpuPkg-Fix-boot-failure-on-FEAT_LP.patch /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes- - ovmf-Revert-ArmPkg-UefiCpuPkg-fix-boot-failure-with-LPA2.patch New:/work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes- - ovmf-Revert-ArmPkg-UefiCpuPkg-Fix-boot-failure-on-FEAT_LP.patch /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes: - ovmf-Revert-ArmPkg-UefiCpuPkg-fix-boot-failure-with-LPA2.patch /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes- - ovmf-Revert-UefiCpuPkg-ArmMmuLib-Add-support-for-LPA2.patch New:/work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes- - ovmf-Revert-ArmPkg-UefiCpuPkg-fix-boot-failure-with-LPA2.patch /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes: - ovmf-Revert-UefiCpuPkg-ArmMmuLib-Add-support-for-LPA2.patch /work/SRC/openSUSE:Factory/.ovmf.new.29461/ovmf.changes-- Remove ovmf-nasm3.patch as a matching fix has been merged upstream ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ovmf.spec ++++++ --- /var/tmp/diff_new_pack.hZFUI3/_old 2026-02-26 18:36:56.716343763 +0100 +++ /var/tmp/diff_new_pack.hZFUI3/_new 2026-02-26 18:36:56.716343763 +0100 @@ -27,7 +27,7 @@ %endif Name: ovmf -Version: 202511 +Version: 202602 Release: 0 Summary: Open Virtual Machine Firmware License: BSD-2-Clause-Patent @@ -79,8 +79,10 @@ Patch13: %{name}-UefiCpuPkg-Disable-EFI-memory-attributes-protocol.patch # Bug 1244218 - ovmf: non-deterministic .bin files (about unreproducible) Patch14: %{name}-OvmfPkg-ArmVirtPkg-Keep-JSON-stack-cookie-files.patch -# Bug 1257495 - nasm > 3 is stricter -Patch15: %{name}-nasm3.patch +# Bug 1258870 - ovmf: LPA2 support causing boot failure on AArch64 +Patch15: %{name}-Revert-ArmPkg-UefiCpuPkg-Fix-boot-failure-on-FEAT_LP.patch +Patch16: %{name}-Revert-ArmPkg-UefiCpuPkg-fix-boot-failure-with-LPA2.patch +Patch17: %{name}-Revert-UefiCpuPkg-ArmMmuLib-Add-support-for-LPA2.patch BuildRequires: bc BuildRequires: cross-arm-binutils BuildRequires: cross-arm-gcc%{gcc_version} ++++++ uefi-shell.spec ++++++ --- /var/tmp/diff_new_pack.hZFUI3/_old 2026-02-26 18:36:56.756345418 +0100 +++ /var/tmp/diff_new_pack.hZFUI3/_new 2026-02-26 18:36:56.760345585 +0100 @@ -26,7 +26,7 @@ %endif Name: uefi-shell -Version: 202511 +Version: 202602 Release: 0 Summary: UEFI Shell built from EDK II project License: BSD-2-Clause-Patent ++++++ edk2-edk2-stable202511.tar.gz -> edk2-edk2-stable202602.tar.gz ++++++ /work/SRC/openSUSE:Factory/ovmf/edk2-edk2-stable202511.tar.gz /work/SRC/openSUSE:Factory/.ovmf.new.29461/edk2-edk2-stable202602.tar.gz differ: char 12, line 1 ++++++ ovmf-Revert-ArmPkg-UefiCpuPkg-Fix-boot-failure-on-FEAT_LP.patch ++++++ >From b753d7c22fff9e4fb17b1a3fd89d221cd1818150 Mon Sep 17 00:00:00 2001 From: Richard Lyu <[email protected]> Date: Wed, 25 Feb 2026 21:44:52 +0800 Subject: [PATCH] Revert "ArmPkg, UefiCpuPkg: Fix boot failure on FEAT_LPA-only systems without LPA2" This reverts commit 1a4c4fb5a76fb15a5a50706685dc4ba36f1c2260. --- UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c b/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c index 2353adf50736..d111e8c7cd37 100644 --- a/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c +++ b/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c @@ -94,7 +94,6 @@ ArmMemoryAttributeToPageAttribute ( // T0SZ can be below MIN_T0SZ when LPA2 is in use, meaning the page table starts at level -1 #define MIN_T0SZ 16 #define BITS_PER_LEVEL 9 -#define MAX_VA_BITS_48 48 #define MAX_VA_BITS 52 STATIC @@ -659,13 +658,8 @@ ArmConfigureMmu ( // into account the architectural limitations that result from UEFI's // use of 4 KB pages. // - if (ArmHas52BitTgran4 ()) { - MaxAddressBits = MIN (ArmGetPhysicalAddressBits (), MAX_VA_BITS); - } else { - MaxAddressBits = MIN (ArmGetPhysicalAddressBits (), MAX_VA_BITS_48); - } - - MaxAddress = LShiftU64 (1ULL, MaxAddressBits) - 1; + MaxAddressBits = MIN (ArmGetPhysicalAddressBits (), MAX_VA_BITS); + MaxAddress = LShiftU64 (1ULL, MaxAddressBits) - 1; T0SZ = 64 - MaxAddressBits; RootTableEntryCount = GetRootTableEntryCount (T0SZ); -- 2.51.0 ++++++ ovmf-Revert-ArmPkg-UefiCpuPkg-fix-boot-failure-with-LPA2.patch ++++++ >From b02d80e292838f9f4814e9f6968189560aaf20c2 Mon Sep 17 00:00:00 2001 From: Richard Lyu <[email protected]> Date: Wed, 25 Feb 2026 21:33:12 +0800 Subject: [PATCH] Revert "ArmPkg/UefiCpuPkg: fix boot failure with LPA2" This reverts commit c624a06aa3a9931e7d1ce1a8f51646438b74e4d2. --- ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c | 9 ++++----- .../Library/ArmMmuLib/AArch64/ArmMmuLibCore.c | 15 +++++---------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c b/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c index 057278fde46f..e2a48cccaae2 100644 --- a/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c +++ b/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c @@ -48,8 +48,7 @@ GetRootTranslationTableInfo ( OUT UINTN *RootTableEntryCount ) { - *RootTableLevel = (T0SZ < MIN_T0SZ) ? -1 : (INTN)(T0SZ - MIN_T0SZ) / BITS_PER_LEVEL; - ASSERT (*RootTableLevel >= 0 || ArmLpa2Enabled ()); + *RootTableLevel = (INTN)(T0SZ - MIN_T0SZ) / BITS_PER_LEVEL; *RootTableEntryCount = TT_ENTRY_COUNT >> (INTN)(T0SZ - MIN_T0SZ) % BITS_PER_LEVEL; } @@ -242,7 +241,7 @@ GetNextEntryAttribute ( // Increase the level number and scan the sub-level table GetNextEntryAttribute ( - (UINT64 *)GetOutputAddress (Entry, ArmLpa2Enabled ()), + (UINT64 *)GetOutputAddress (Entry, ArmGetTCR () & TCR_DS), TT_ENTRY_COUNT, TableLevel + 1, (BaseAddress + (Index * TT_ADDRESS_AT_LEVEL (TableLevel))), @@ -330,7 +329,7 @@ SyncCacheConfig ( GetRootTranslationTableInfo (T0SZ, &TableLevel, &TableCount); // First Attribute of the Page Tables - PageAttribute = GetFirstPageAttribute (FirstLevelTableAddress, TableLevel, ArmLpa2Enabled ()); + PageAttribute = GetFirstPageAttribute (FirstLevelTableAddress, TableLevel, ArmGetTCR () & TCR_DS); // We scan from the start of the memory map (ie: at the address 0x0) BaseAddressGcdRegion = 0x0; @@ -459,7 +458,7 @@ GetMemoryRegionRec ( EntryType = *BlockEntry & TT_TYPE_MASK; if ((TableLevel < 3) && (EntryType == TT_TYPE_TABLE_ENTRY)) { - NextTranslationTable = (UINT64 *)GetOutputAddress (*BlockEntry, ArmLpa2Enabled ()); + NextTranslationTable = (UINT64 *)GetOutputAddress (*BlockEntry, ArmGetTCR () & TCR_DS); // The entry is a page table, so we go to the next level Status = GetMemoryRegionRec ( diff --git a/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c b/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c index 2353adf50736..4c83cd264462 100644 --- a/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c +++ b/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c @@ -143,12 +143,7 @@ GetRootTableLevel ( IN UINTN T0SZ ) { - INTN RootTableLevel; - - RootTableLevel = (T0SZ < MIN_T0SZ) ? -1 : (INTN)(T0SZ - MIN_T0SZ) / BITS_PER_LEVEL; - ASSERT (RootTableLevel >= 0 || ArmLpa2Enabled ()); - - return RootTableLevel; + return (INTN)(T0SZ - MIN_T0SZ) / BITS_PER_LEVEL; } STATIC @@ -312,7 +307,7 @@ UpdateRegionMappingRecursive ( // the MMU in order to update page table entries safely, so prefer page // mappings in that particular case. // - if ((Level <= 0) || (((RegionStart | BlockEnd) & BlockMask) != 0) || + if ((Level == 0) || (((RegionStart | BlockEnd) & BlockMask) != 0) || ((Level < 3) && (((UINT64)PageTable & ~BlockMask) == RegionStart)) || IsTableEntry (*Entry, Level)) { @@ -622,7 +617,7 @@ ArmSetMemoryAttributes ( PageAttributeMask, ArmGetTTBR0BaseAddress (), TRUE, - ArmLpa2Enabled () + ArmGetTCR () & TCR_DS ); } @@ -691,7 +686,7 @@ ArmConfigureMmu ( } else if (MaxAddress < SIZE_256TB) { TCR |= TCR_PS_256TB; } else if ((MaxAddress < SIZE_4PB) && ArmHas52BitTgran4 ()) { - TCR |= TCR_PS_4PB | TCR_DS_NVHE; + TCR |= TCR_PS_4PB | TCR_DS; } else { DEBUG (( DEBUG_ERROR, @@ -775,7 +770,7 @@ ArmConfigureMmu ( ZeroMem (TranslationTable, RootTableEntryCount * sizeof (UINT64)); while (MemoryTable->Length != 0) { - Status = FillTranslationTable (TranslationTable, MemoryTable, ArmLpa2Enabled ()); + Status = FillTranslationTable (TranslationTable, MemoryTable, TCR & TCR_DS); if (EFI_ERROR (Status)) { goto FreeTranslationTable; } -- 2.51.0 ++++++ ovmf-Revert-UefiCpuPkg-ArmMmuLib-Add-support-for-LPA2.patch ++++++ >From 0dfd6f84bfdf07dcadf45a4f5acf111b24fcf425 Mon Sep 17 00:00:00 2001 From: Richard Lyu <[email protected]> Date: Wed, 25 Feb 2026 19:00:49 +0800 Subject: [PATCH] Revert "UefiCpuPkg/ArmMmuLib: Add support for LPA2" This reverts commit 90771630bfe123de8e4bacc96f98ffe4d8308153. --- .../Library/ArmMmuLib/AArch64/ArmMmuLibCore.c | 117 ++++-------------- 1 file changed, 27 insertions(+), 90 deletions(-) diff --git a/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c b/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c index 568972902701..45b7c8134165 100644 --- a/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c +++ b/UefiCpuPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c @@ -1,7 +1,7 @@ /** @file * File managing the MMU for ARMv8 architecture * -* Copyright (c) 2011-2025, ARM Limited. All rights reserved. +* Copyright (c) 2011-2020, ARM Limited. All rights reserved. * Copyright (c) 2016, Linaro Limited. All rights reserved. * Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> * @@ -91,41 +91,9 @@ ArmMemoryAttributeToPageAttribute ( } } -// T0SZ can be below MIN_T0SZ when LPA2 is in use, meaning the page table starts at level -1 #define MIN_T0SZ 16 #define BITS_PER_LEVEL 9 -#define MAX_VA_BITS 52 - -STATIC -VOID -SetOutputAddress ( - IN UINTN *Entry, - IN UINTN Address, - IN BOOLEAN Lpa2Enabled - ) -{ - if (Lpa2Enabled) { - *Entry &= ~(TT_ADDRESS_MASK_BLOCK_ENTRY_LPA2 | TT_UPPER_ADDRESS_MASK); - *Entry |= ((UINTN)Address & TT_ADDRESS_MASK_BLOCK_ENTRY_LPA2) | (((UINTN)Address >> 50) << 8); - } else { - *Entry &= ~TT_ADDRESS_MASK_BLOCK_ENTRY; - *Entry |= (Address & TT_ADDRESS_MASK_BLOCK_ENTRY); - } -} - -STATIC -UINT64 -GetOutputAddress ( - IN UINT64 Entry, - IN BOOLEAN Lpa2Enabled - ) -{ - if (Lpa2Enabled) { - return (Entry & TT_ADDRESS_MASK_BLOCK_ENTRY_LPA2) | ((Entry & TT_UPPER_ADDRESS_MASK) << (50 - 8)); - } else { - return Entry & TT_ADDRESS_MASK_BLOCK_ENTRY; - } -} +#define MAX_VA_BITS 48 STATIC UINTN @@ -137,12 +105,12 @@ GetRootTableEntryCount ( } STATIC -INTN +UINTN GetRootTableLevel ( IN UINTN T0SZ ) { - return (INTN)(T0SZ - MIN_T0SZ) / BITS_PER_LEVEL; + return (T0SZ - MIN_T0SZ) / BITS_PER_LEVEL; } STATIC @@ -191,9 +159,8 @@ ReplaceTableEntry ( STATIC VOID FreePageTablesRecursive ( - IN UINT64 *TranslationTable, - IN UINTN Level, - IN BOOLEAN Lpa2Enabled + IN UINT64 *TranslationTable, + IN UINTN Level ) { UINTN Index; @@ -204,12 +171,9 @@ FreePageTablesRecursive ( for (Index = 0; Index < TT_ENTRY_COUNT; Index++) { if ((TranslationTable[Index] & TT_TYPE_MASK) == TT_TYPE_TABLE_ENTRY) { FreePageTablesRecursive ( - (VOID *)GetOutputAddress ( - TranslationTable[Index], - Lpa2Enabled - ), - Level + 1, - Lpa2Enabled + (VOID *)(UINTN)(TranslationTable[Index] & + TT_ADDRESS_MASK_BLOCK_ENTRY), + Level + 1 ); } } @@ -258,10 +222,8 @@ UpdateRegionMappingRecursive ( IN UINT64 AttributeSetMask, IN UINT64 AttributeClearMask, IN UINT64 *PageTable, - IN INTN Level, - IN BOOLEAN IsRootTable, - IN BOOLEAN TableIsLive, - IN BOOLEAN Lpa2Enabled + IN UINTN Level, + IN BOOLEAN TableIsLive ) { UINTN BlockShift; @@ -354,9 +316,7 @@ UpdateRegionMappingRecursive ( 0, TranslationTable, Level + 1, - FALSE, - FALSE, - Lpa2Enabled + FALSE ); if (EFI_ERROR (Status)) { // @@ -371,7 +331,7 @@ UpdateRegionMappingRecursive ( NextTableIsLive = FALSE; } else { - TranslationTable = (VOID *)GetOutputAddress (*Entry, Lpa2Enabled); + TranslationTable = (VOID *)(UINTN)(*Entry & TT_ADDRESS_MASK_BLOCK_ENTRY); NextTableIsLive = TableIsLive; } @@ -385,9 +345,7 @@ UpdateRegionMappingRecursive ( AttributeClearMask, TranslationTable, Level + 1, - FALSE, - NextTableIsLive, - Lpa2Enabled + NextTableIsLive ); if (EFI_ERROR (Status)) { if (!IsTableEntry (*Entry, Level)) { @@ -398,16 +356,14 @@ UpdateRegionMappingRecursive ( // possible for existing table entries, since we cannot revert the // modifications we made to the subhierarchy it represents.) // - FreePageTablesRecursive (TranslationTable, Level + 1, Lpa2Enabled); + FreePageTablesRecursive (TranslationTable, Level + 1); } return Status; } if (!IsTableEntry (*Entry, Level)) { - EntryValue = TT_TYPE_TABLE_ENTRY; - SetOutputAddress (&EntryValue, (UINTN)TranslationTable, Lpa2Enabled); - + EntryValue = (UINTN)TranslationTable | TT_TYPE_TABLE_ENTRY; ReplaceTableEntry ( Entry, EntryValue, @@ -417,9 +373,8 @@ UpdateRegionMappingRecursive ( ); } } else { - EntryValue = (*Entry & AttributeClearMask) | AttributeSetMask; - // Below clears shareability bits when LPA2 is in use - SetOutputAddress (&EntryValue, RegionStart, Lpa2Enabled); + EntryValue = (*Entry & AttributeClearMask) | AttributeSetMask; + EntryValue |= RegionStart; EntryValue |= (Level == 3) ? TT_TYPE_BLOCK_ENTRY_LEVEL3 : TT_TYPE_BLOCK_ENTRY; @@ -438,8 +393,7 @@ UpdateRegionMapping ( IN UINT64 AttributeSetMask, IN UINT64 AttributeClearMask, IN UINT64 *RootTable, - IN BOOLEAN TableIsLive, - IN BOOLEAN Lpa2Enabled + IN BOOLEAN TableIsLive ) { UINTN T0SZ; @@ -464,9 +418,7 @@ UpdateRegionMapping ( AttributeClearMask, RootTable, GetRootTableLevel (T0SZ), - TRUE, - TableIsLive, - Lpa2Enabled + TableIsLive ); } @@ -474,8 +426,7 @@ STATIC EFI_STATUS FillTranslationTable ( IN UINT64 *RootTable, - IN ARM_MEMORY_REGION_DESCRIPTOR *MemoryRegion, - IN BOOLEAN Lpa2Enabled + IN ARM_MEMORY_REGION_DESCRIPTOR *MemoryRegion ) { return UpdateRegionMapping ( @@ -484,8 +435,7 @@ FillTranslationTable ( ArmMemoryAttributeToPageAttribute (MemoryRegion->Attributes) | TT_AF, 0, RootTable, - FALSE, - Lpa2Enabled + FALSE ); } @@ -615,8 +565,7 @@ ArmSetMemoryAttributes ( PageAttributes, PageAttributeMask, ArmGetTTBR0BaseAddress (), - TRUE, - ArmGetTCR () & TCR_DS + TRUE ); } @@ -679,15 +628,13 @@ ArmConfigureMmu ( TCR |= TCR_PS_16TB; } else if (MaxAddress < SIZE_256TB) { TCR |= TCR_PS_256TB; - } else if ((MaxAddress < SIZE_4PB) && ArmHas52BitTgran4 ()) { - TCR |= TCR_PS_4PB | TCR_DS; } else { DEBUG (( DEBUG_ERROR, "ArmConfigureMmu: The MaxAddress 0x%lX is not supported by this MMU configuration.\n", MaxAddress )); - ASSERT (0); // Bigger than 48/52-bit memory space are not supported + ASSERT (0); // Bigger than 48-bit memory space are not supported return EFI_UNSUPPORTED; } } else { @@ -707,15 +654,13 @@ ArmConfigureMmu ( TCR |= TCR_IPS_16TB; } else if (MaxAddress < SIZE_256TB) { TCR |= TCR_IPS_256TB; - } else if ((MaxAddress < SIZE_4PB) && ArmHas52BitTgran4 ()) { - TCR |= TCR_IPS_4PB | TCR_DS; } else { DEBUG (( DEBUG_ERROR, "ArmConfigureMmu: The MaxAddress 0x%lX is not supported by this MMU configuration.\n", MaxAddress )); - ASSERT (0); // Bigger than 48/52-bit memory space are not supported + ASSERT (0); // Bigger than 48-bit memory space are not supported return EFI_UNSUPPORTED; } } @@ -764,7 +709,7 @@ ArmConfigureMmu ( ZeroMem (TranslationTable, RootTableEntryCount * sizeof (UINT64)); while (MemoryTable->Length != 0) { - Status = FillTranslationTable (TranslationTable, MemoryTable, TCR & TCR_DS); + Status = FillTranslationTable (TranslationTable, MemoryTable); if (EFI_ERROR (Status)) { goto FreeTranslationTable; } @@ -785,15 +730,7 @@ ArmConfigureMmu ( MAIR_ATTR (TT_ATTR_INDX_MEMORY_WRITE_BACK, MAIR_ATTR_NORMAL_MEMORY_WRITE_BACK) ); - if ((TCR & TCR_IPS_MASK) == TCR_IPS_4PB) { - ArmSetTTBR0 ( - (VOID *) - (((UINTN)TranslationTable & 0xffffffffffc0) | - (((UINTN)TranslationTable >> 48) << 2)) - ); - } else { - ArmSetTTBR0 (TranslationTable); - } + ArmSetTTBR0 (TranslationTable); if (!ArmMmuEnabled ()) { ArmDisableAlignmentCheck (); -- 2.51.0
