mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-07 22:04:27 +02:00
Introduce a driver that 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. Default is enabled, which can also be overridden at build time by changing `gEmbeddedTokenSpaceGuid.PcdMemoryAttributeEnabledDefault`. 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 Signed-off-by: Mario Bălănică <mariobalanica02@gmail.com>
23 lines
581 B
C
23 lines
581 B
C
/** @file
|
|
|
|
Copyright (c) 2023-2024, Mario Bălănică <mariobalanica02@gmail.com>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef MEMORY_ATTRIBUTE_MANAGER_DXE_H_
|
|
#define MEMORY_ATTRIBUTE_MANAGER_DXE_H_
|
|
|
|
#include <Guid/MemoryAttributeManagerFormSet.h>
|
|
|
|
#define PROTOCOL_ENABLED_DEFAULT FixedPcdGetBool(PcdMemoryAttributeEnabledDefault)
|
|
|
|
#define MEMORY_ATTRIBUTE_MANAGER_DATA_VAR_NAME L"MemoryAttributeManagerData"
|
|
|
|
typedef struct {
|
|
BOOLEAN Enabled;
|
|
} MEMORY_ATTRIBUTE_MANAGER_VARSTORE_DATA;
|
|
|
|
#endif // __MEMORY_ATTRIBUTE_MANAGER_DXE_H__
|