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

Reply via email to