1 /** @file 2 GUIDs used for UEFI Memory Attributes Table in the UEFI 2.6 specification. 3 4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> 5 SPDX-License-Identifier: BSD-2-Clause-Patent 6 7 **/ 8 9 #ifndef __UEFI_MEMORY_ATTRIBUTES_TABLE_H__ 10 #define __UEFI_MEMORY_ATTRIBUTES_TABLE_H__ 11 12 #define EFI_MEMORY_ATTRIBUTES_TABLE_GUID {\ 13 0xdcfa911d, 0x26eb, 0x469f, {0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20} \ 14 } 15 16 typedef struct { 17 UINT32 Version; 18 UINT32 NumberOfEntries; 19 UINT32 DescriptorSize; 20 UINT32 Flags; 21 // EFI_MEMORY_DESCRIPTOR Entry[1]; 22 } EFI_MEMORY_ATTRIBUTES_TABLE; 23 24 #define EFI_MEMORY_ATTRIBUTES_TABLE_VERSION 0x00000002 25 26 #define EFI_MEMORY_ATTRIBUTES_FLAGS_RT_FORWARD_CONTROL_FLOW_GUARD 0x1 27 // BIT0 implies that Runtime code includes the forward control flow guard 28 // instruction, such as X86 CET-IBT or ARM BTI. 29 30 extern EFI_GUID gEfiMemoryAttributesTableGuid; 31 32 #endif 33