]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Include/Guid/MemoryStatusCodeRecord.h
Committing changes to the comments, to improve code documentation.
[mirror_edk2.git] / IntelFrameworkModulePkg / Include / Guid / MemoryStatusCodeRecord.h
1 /** @file
2 GUID used to identify status code records HOB that originate from the PEI status code
3
4 Copyright (c) 2006 - 2009, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. 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 1
77 ///
78 UINT32 Instance;
79 } MEMORY_STATUSCODE_RECORD;
80
81 extern EFI_GUID gMemoryStatusCodeRecordGuid;
82
83 #endif