| /** @file | |
| GUID used to identify status code records HOB that originate from the PEI status code. | |
| Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> | |
| (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> | |
| This program and the accompanying materials are licensed and made available under | |
| the terms and conditions of the BSD License that accompanies this distribution. | |
| The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php. | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| #ifndef __MEMORY_STATUS_CODE_RECORD_H__ | |
| #define __MEMORY_STATUS_CODE_RECORD_H__ | |
| /// | |
| /// Global ID used to identify GUIDed HOBs that start with a structure of type | |
| /// MEMORY_STATUSCODE_PACKET_HEADER, followed by an array of structures of type | |
| /// MEMORY_STATUSCODE_RECORD. These GUIDed HOBs record all the information | |
| /// passed into the ReportStatusCode() service of PEI Services Table. | |
| /// | |
| /// <pre> | |
| /// Memory status code records packet structure : | |
| /// +---------------+----------+----------+-----+----------+-----+----------+ | |
| /// | Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m | | |
| /// +---------------+----------+----------+-----+----------+-----+----------+ | |
| /// ^ ^ ^ | |
| /// +--------- RecordIndex -----------+ | | |
| /// +---------------- MaxRecordsNumber----------------------+ | |
| /// </pre> | |
| /// | |
| #define MEMORY_STATUS_CODE_RECORD_GUID \ | |
| { \ | |
| 0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \ | |
| } | |
| /// | |
| /// A header structure that is followed by an array of records that contain the | |
| /// parameters passed into the ReportStatusCode() service in the PEI Services Table. | |
| /// | |
| typedef struct { | |
| /// | |
| /// Index of the packet. | |
| /// | |
| UINT16 PacketIndex; | |
| /// | |
| /// The number of active records in the packet. | |
| /// | |
| UINT16 RecordIndex; | |
| /// | |
| /// The maximum number of records that the packet can store. | |
| /// | |
| UINT32 MaxRecordsNumber; | |
| } MEMORY_STATUSCODE_PACKET_HEADER; | |
| /// | |
| /// A header structure that is followed by an array of records that contain the | |
| /// parameters passed into the ReportStatusCode() service in the DXE Services Table. | |
| /// | |
| typedef struct { | |
| /// | |
| /// The index pointing to the last recored being stored. | |
| /// | |
| UINT32 RecordIndex; | |
| /// | |
| /// The number of records being stored. | |
| /// | |
| UINT32 NumberOfRecords; | |
| /// | |
| /// The maximum number of records that can be stored. | |
| /// | |
| UINT32 MaxRecordsNumber; | |
| } RUNTIME_MEMORY_STATUSCODE_HEADER; | |
| /// | |
| /// A structure that contains the parameters passed into the ReportStatusCode() | |
| /// service in the PEI Services Table. | |
| /// | |
| typedef struct { | |
| /// | |
| /// Status Code type to be reported. | |
| /// | |
| EFI_STATUS_CODE_TYPE CodeType; | |
| /// | |
| /// An operation, plus value information about the class and subclass, used to | |
| /// classify the hardware and software entity. | |
| /// | |
| EFI_STATUS_CODE_VALUE Value; | |
| /// | |
| /// The enumeration of a hardware or software entity within | |
| /// the system. Valid instance numbers start with the number 1. | |
| /// | |
| UINT32 Instance; | |
| } MEMORY_STATUSCODE_RECORD; | |
| extern EFI_GUID gMemoryStatusCodeRecordGuid; | |
| #endif |