## @file # EFI Memory Attribute Protocol state manager # # This driver allows users to disable the EFI Memory Attribute protocol # through an HII setup option, in order to work around a broken version # of rhboot's shim used in some distros (e.g. CentOS Stream 9) which # incorrectly invokes the protocol and results in a Synchronous Exception. # # It is only applicable to ARM64 and there isn't any other technical # reason for disabling this security feature. # # See: # - https://github.com/microsoft/mu_silicon_arm_tiano/issues/124 # - https://edk2.groups.io/g/devel/topic/99631663 # - https://github.com/tianocore/edk2/pull/5840 # # Copyright (c) 2023-2024, Mario Bălănică # # SPDX-License-Identifier: BSD-2-Clause-Patent # ## [Defines] INF_VERSION = 0x0001001B BASE_NAME = MemoryAttributeManagerDxe FILE_GUID = 5319346b-66ad-433a-9a91-f7fc286bc9a1 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 ENTRY_POINT = MemoryAttributeManagerInitialize [Sources] MemoryAttributeManagerDxe.c MemoryAttributeManagerDxe.h MemoryAttributeManagerDxeHii.uni MemoryAttributeManagerDxeHii.vfr [Packages] EmbeddedPkg/EmbeddedPkg.dec MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec [LibraryClasses] DebugLib DevicePathLib HiiLib UefiBootServicesTableLib UefiRuntimeServicesTableLib UefiDriverEntryPoint [Guids] gMemoryAttributeManagerFormSetGuid [Protocols] gEfiMemoryAttributeProtocolGuid [Pcd] gEmbeddedTokenSpaceGuid.PcdMemoryAttributeEnabledDefault [Depex] gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiMemoryAttributeProtocolGuid