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