]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Include / Guid / MemoryStatusCodeRecord.h
CommitLineData
10c5d87e 1/** @file\r
d1102dba
LG
2 GUID used to identify status code records HOB that originate from the PEI status code.\r
3\r
4Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
848e1472 5(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
9d510e61 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
10c5d87e 7\r
8**/\r
9\r
10#ifndef __MEMORY_STATUS_CODE_RECORD_H__\r
11#define __MEMORY_STATUS_CODE_RECORD_H__\r
12\r
13///\r
d1102dba
LG
14/// Global ID used to identify GUIDed HOBs that start with a structure of type\r
15/// MEMORY_STATUSCODE_PACKET_HEADER, followed by an array of structures of type\r
16/// MEMORY_STATUSCODE_RECORD. These GUIDed HOBs record all the information\r
10c5d87e 17/// passed into the ReportStatusCode() service of PEI Services Table.\r
18///\r
19/// <pre>\r
20/// Memory status code records packet structure :\r
21/// +---------------+----------+----------+-----+----------+-----+----------+\r
22/// | Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m |\r
23/// +---------------+----------+----------+-----+----------+-----+----------+\r
24/// ^ ^ ^\r
25/// +--------- RecordIndex -----------+ |\r
26/// +---------------- MaxRecordsNumber----------------------+\r
27/// </pre>\r
28///\r
29#define MEMORY_STATUS_CODE_RECORD_GUID \\r
30 { \\r
31 0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \\r
32 }\r
33\r
34///\r
d1102dba 35/// A header structure that is followed by an array of records that contain the\r
10c5d87e 36/// parameters passed into the ReportStatusCode() service in the PEI Services Table.\r
37///\r
38typedef struct {\r
39 ///\r
64a80549 40 /// Index of the packet.\r
10c5d87e 41 ///\r
1436aea4 42 UINT16 PacketIndex;\r
10c5d87e 43 ///\r
64a80549 44 /// The number of active records in the packet.\r
10c5d87e 45 ///\r
1436aea4 46 UINT16 RecordIndex;\r
10c5d87e 47 ///\r
64a80549 48 /// The maximum number of records that the packet can store.\r
10c5d87e 49 ///\r
1436aea4 50 UINT32 MaxRecordsNumber;\r
10c5d87e 51} MEMORY_STATUSCODE_PACKET_HEADER;\r
52\r
848e1472 53///\r
d1102dba 54/// A header structure that is followed by an array of records that contain the\r
848e1472
CS
55/// parameters passed into the ReportStatusCode() service in the DXE Services Table.\r
56///\r
57typedef struct {\r
58 ///\r
59 /// The index pointing to the last recored being stored.\r
60 ///\r
1436aea4 61 UINT32 RecordIndex;\r
848e1472
CS
62 ///\r
63 /// The number of records being stored.\r
64 ///\r
1436aea4 65 UINT32 NumberOfRecords;\r
848e1472
CS
66 ///\r
67 /// The maximum number of records that can be stored.\r
68 ///\r
1436aea4 69 UINT32 MaxRecordsNumber;\r
848e1472
CS
70} RUNTIME_MEMORY_STATUSCODE_HEADER;\r
71\r
10c5d87e 72///\r
d1102dba 73/// A structure that contains the parameters passed into the ReportStatusCode()\r
10c5d87e 74/// service in the PEI Services Table.\r
75///\r
76typedef struct {\r
77 ///\r
78 /// Status Code type to be reported.\r
79 ///\r
1436aea4 80 EFI_STATUS_CODE_TYPE CodeType;\r
10c5d87e 81\r
82 ///\r
83 /// An operation, plus value information about the class and subclass, used to\r
84 /// classify the hardware and software entity.\r
85 ///\r
1436aea4 86 EFI_STATUS_CODE_VALUE Value;\r
10c5d87e 87\r
88 ///\r
89 /// The enumeration of a hardware or software entity within\r
64a80549 90 /// the system. Valid instance numbers start with the number 1.\r
10c5d87e 91 ///\r
1436aea4 92 UINT32 Instance;\r
10c5d87e 93} MEMORY_STATUSCODE_RECORD;\r
94\r
1436aea4 95extern EFI_GUID gMemoryStatusCodeRecordGuid;\r
10c5d87e 96\r
97#endif\r