2 GUID used to identify status code records HOB that originate from the PEI status code.
4 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
5 (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
6 This program and the accompanying materials are licensed and made available under
7 the terms and conditions of the BSD License that accompanies this distribution.
8 The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef __MEMORY_STATUS_CODE_RECORD_H__
17 #define __MEMORY_STATUS_CODE_RECORD_H__
20 /// Global ID used to identify GUIDed HOBs that start with a structure of type
21 /// MEMORY_STATUSCODE_PACKET_HEADER, followed by an array of structures of type
22 /// MEMORY_STATUSCODE_RECORD. These GUIDed HOBs record all the information
23 /// passed into the ReportStatusCode() service of PEI Services Table.
26 /// Memory status code records packet structure :
27 /// +---------------+----------+----------+-----+----------+-----+----------+
28 /// | Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m |
29 /// +---------------+----------+----------+-----+----------+-----+----------+
31 /// +--------- RecordIndex -----------+ |
32 /// +---------------- MaxRecordsNumber----------------------+
35 #define MEMORY_STATUS_CODE_RECORD_GUID \
37 0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \
41 /// A header structure that is followed by an array of records that contain the
42 /// parameters passed into the ReportStatusCode() service in the PEI Services Table.
46 /// Index of the packet.
50 /// The number of active records in the packet.
54 /// The maximum number of records that the packet can store.
56 UINT32 MaxRecordsNumber
;
57 } MEMORY_STATUSCODE_PACKET_HEADER
;
60 /// A header structure that is followed by an array of records that contain the
61 /// parameters passed into the ReportStatusCode() service in the DXE Services Table.
65 /// The index pointing to the last recored being stored.
69 /// The number of records being stored.
71 UINT32 NumberOfRecords
;
73 /// The maximum number of records that can be stored.
75 UINT32 MaxRecordsNumber
;
76 } RUNTIME_MEMORY_STATUSCODE_HEADER
;
79 /// A structure that contains the parameters passed into the ReportStatusCode()
80 /// service in the PEI Services Table.
84 /// Status Code type to be reported.
86 EFI_STATUS_CODE_TYPE CodeType
;
89 /// An operation, plus value information about the class and subclass, used to
90 /// classify the hardware and software entity.
92 EFI_STATUS_CODE_VALUE Value
;
95 /// The enumeration of a hardware or software entity within
96 /// the system. Valid instance numbers start with the number 1.
99 } MEMORY_STATUSCODE_RECORD
;
101 extern EFI_GUID gMemoryStatusCodeRecordGuid
;