]>
Commit | Line | Data |
---|---|---|
97d27604 JY |
1 | /** @file\r |
2 | Define the GUID of the EDKII PI SMM memory attribute table, which\r | |
3 | is published by PI SMM Core.\r | |
4 | \r | |
5 | Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r | |
9d510e61 | 6 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
97d27604 JY |
7 | \r |
8 | **/\r | |
9 | \r | |
10 | #ifndef _PI_SMM_MEMORY_ATTRIBUTES_TABLE_H_\r | |
11 | #define _PI_SMM_MEMORY_ATTRIBUTES_TABLE_H_\r | |
12 | \r | |
13 | #define EDKII_PI_SMM_MEMORY_ATTRIBUTES_TABLE_GUID {\\r | |
14 | 0x6b9fd3f7, 0x16df, 0x45e8, {0xbd, 0x39, 0xb9, 0x4a, 0x66, 0x54, 0x1a, 0x5d} \\r | |
15 | }\r | |
16 | \r | |
17 | //\r | |
18 | // The PI SMM memory attribute table contains the SMM memory map for SMM image.\r | |
19 | //\r | |
20 | // This table is installed to SMST as SMM configuration table.\r | |
21 | //\r | |
22 | // This table is published at gEfiSmmEndOfDxeProtocolGuid notification, because\r | |
23 | // there should be no more SMM driver loaded after that. The EfiRuntimeServicesCode\r | |
24 | // region should not be changed any more.\r | |
25 | //\r | |
26 | // This table is published, if and only if all SMM PE/COFF have aligned section\r | |
27 | // as specified in UEFI specification Section 2.3. For example, IA32/X64 alignment is 4KiB.\r | |
28 | //\r | |
29 | // If this table is published, the EfiRuntimeServicesCode contains code only\r | |
30 | // and it is EFI_MEMORY_RO; the EfiRuntimeServicesData contains data only\r | |
31 | // and it is EFI_MEMORY_XP.\r | |
32 | //\r | |
33 | typedef struct {\r | |
34 | UINT32 Version;\r | |
35 | UINT32 NumberOfEntries;\r | |
36 | UINT32 DescriptorSize;\r | |
37 | UINT32 Reserved;\r | |
38 | //EFI_MEMORY_DESCRIPTOR Entry[1];\r | |
39 | } EDKII_PI_SMM_MEMORY_ATTRIBUTES_TABLE;\r | |
40 | \r | |
41 | #define EDKII_PI_SMM_MEMORY_ATTRIBUTES_TABLE_VERSION 0x00000001\r | |
42 | \r | |
43 | extern EFI_GUID gEdkiiPiSmmMemoryAttributesTableGuid;\r | |
44 | \r | |
45 | #endif\r |