xref: /freebsd/sys/contrib/edk2/Include/Guid/MemoryAttributesTable.h (revision f439973d6726c3be929c8fb3b1545b8b1744abc3)
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