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