1 /** @file 2 GUID used to identify status code records HOB that originate from the PEI status code. 3 4 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials are licensed and made available under 6 the terms and conditions of the BSD License that accompanies this distribution. 7 The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef __MEMORY_STATUS_CODE_RECORD_H__ 16 #define __MEMORY_STATUS_CODE_RECORD_H__ 17 18 /// 19 /// Global ID used to identify GUIDed HOBs that start with a structure of type 20 /// MEMORY_STATUSCODE_PACKET_HEADER, followed by an array of structures of type 21 /// MEMORY_STATUSCODE_RECORD. These GUIDed HOBs record all the information 22 /// passed into the ReportStatusCode() service of PEI Services Table. 23 /// 24 /// <pre> 25 /// Memory status code records packet structure : 26 /// +---------------+----------+----------+-----+----------+-----+----------+ 27 /// | Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m | 28 /// +---------------+----------+----------+-----+----------+-----+----------+ 29 /// ^ ^ ^ 30 /// +--------- RecordIndex -----------+ | 31 /// +---------------- MaxRecordsNumber----------------------+ 32 /// </pre> 33 /// 34 #define MEMORY_STATUS_CODE_RECORD_GUID \ 35 { \ 36 0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \ 37 } 38 39 /// 40 /// A header structure that is followed by an array of records that contain the 41 /// parameters passed into the ReportStatusCode() service in the PEI Services Table. 42 /// 43 typedef struct { 44 /// 45 /// Index of the packet. 46 /// 47 UINT16 PacketIndex; 48 /// 49 /// The number of active records in the packet. 50 /// 51 UINT16 RecordIndex; 52 /// 53 /// The maximum number of records that the packet can store. 54 /// 55 UINT32 MaxRecordsNumber; 56 } MEMORY_STATUSCODE_PACKET_HEADER; 57 58 /// 59 /// A structure that contains the parameters passed into the ReportStatusCode() 60 /// service in the PEI Services Table. 61 /// 62 typedef struct { 63 /// 64 /// Status Code type to be reported. 65 /// 66 EFI_STATUS_CODE_TYPE CodeType; 67 68 /// 69 /// An operation, plus value information about the class and subclass, used to 70 /// classify the hardware and software entity. 71 /// 72 EFI_STATUS_CODE_VALUE Value; 73 74 /// 75 /// The enumeration of a hardware or software entity within 76 /// the system. Valid instance numbers start with the number 1. 77 /// 78 UINT32 Instance; 79 } MEMORY_STATUSCODE_RECORD; 80 81 extern EFI_GUID gMemoryStatusCodeRecordGuid; 82 83 #endif 84