mirror of https://github.com/acidanthera/audk.git
104 lines
3.4 KiB
C
104 lines
3.4 KiB
C
/** @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
|