mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-28 12:25:19 +01:00
98 lines
3.0 KiB
C
98 lines
3.0 KiB
C
|
/** @file
|
||
|
GUID used to identify status code records HOB that originate from the PEI status code.
|
||
|
|
||
|
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||
|
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
|
||
|
**/
|
||
|
|
||
|
#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
|