]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h
MdeModulePkg/S3SmmInitDone.h: Fix copyright coding style error.
[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
CS
5(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
6This program and the accompanying materials are licensed and made available under\r
7the terms and conditions of the BSD License that accompanies this distribution.\r
64a80549 8The full text of the license may be found at\r
848e1472 9http://opensource.org/licenses/bsd-license.php.\r
64a80549 10\r
848e1472
CS
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
10c5d87e 13\r
14**/\r
15\r
16#ifndef __MEMORY_STATUS_CODE_RECORD_H__\r
17#define __MEMORY_STATUS_CODE_RECORD_H__\r
18\r
19///\r
d1102dba
LG
20/// Global ID used to identify GUIDed HOBs that start with a structure of type\r
21/// MEMORY_STATUSCODE_PACKET_HEADER, followed by an array of structures of type\r
22/// MEMORY_STATUSCODE_RECORD. These GUIDed HOBs record all the information\r
10c5d87e 23/// passed into the ReportStatusCode() service of PEI Services Table.\r
24///\r
25/// <pre>\r
26/// Memory status code records packet structure :\r
27/// +---------------+----------+----------+-----+----------+-----+----------+\r
28/// | Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m |\r
29/// +---------------+----------+----------+-----+----------+-----+----------+\r
30/// ^ ^ ^\r
31/// +--------- RecordIndex -----------+ |\r
32/// +---------------- MaxRecordsNumber----------------------+\r
33/// </pre>\r
34///\r
35#define MEMORY_STATUS_CODE_RECORD_GUID \\r
36 { \\r
37 0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \\r
38 }\r
39\r
40///\r
d1102dba 41/// A header structure that is followed by an array of records that contain the\r
10c5d87e 42/// parameters passed into the ReportStatusCode() service in the PEI Services Table.\r
43///\r
44typedef struct {\r
45 ///\r
64a80549 46 /// Index of the packet.\r
10c5d87e 47 ///\r
48 UINT16 PacketIndex;\r
49 ///\r
64a80549 50 /// The number of active records in the packet.\r
10c5d87e 51 ///\r
52 UINT16 RecordIndex;\r
53 ///\r
64a80549 54 /// The maximum number of records that the packet can store.\r
10c5d87e 55 ///\r
56 UINT32 MaxRecordsNumber;\r
57} MEMORY_STATUSCODE_PACKET_HEADER;\r
58\r
848e1472 59///\r
d1102dba 60/// A header structure that is followed by an array of records that contain the\r
848e1472
CS
61/// parameters passed into the ReportStatusCode() service in the DXE Services Table.\r
62///\r
63typedef struct {\r
64 ///\r
65 /// The index pointing to the last recored being stored.\r
66 ///\r
67 UINT32 RecordIndex;\r
68 ///\r
69 /// The number of records being stored.\r
70 ///\r
71 UINT32 NumberOfRecords;\r
72 ///\r
73 /// The maximum number of records that can be stored.\r
74 ///\r
75 UINT32 MaxRecordsNumber;\r
76} RUNTIME_MEMORY_STATUSCODE_HEADER;\r
77\r
10c5d87e 78///\r
d1102dba 79/// A structure that contains the parameters passed into the ReportStatusCode()\r
10c5d87e 80/// service in the PEI Services Table.\r
81///\r
82typedef struct {\r
83 ///\r
84 /// Status Code type to be reported.\r
85 ///\r
86 EFI_STATUS_CODE_TYPE CodeType;\r
87\r
88 ///\r
89 /// An operation, plus value information about the class and subclass, used to\r
90 /// classify the hardware and software entity.\r
91 ///\r
92 EFI_STATUS_CODE_VALUE Value;\r
93\r
94 ///\r
95 /// The enumeration of a hardware or software entity within\r
64a80549 96 /// the system. Valid instance numbers start with the number 1.\r
10c5d87e 97 ///\r
98 UINT32 Instance;\r
99} MEMORY_STATUSCODE_RECORD;\r
100\r
101extern EFI_GUID gMemoryStatusCodeRecordGuid;\r
102\r
103#endif\r