Renaming files/directories
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3050 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
1917
IntelFrameworkPkg/Include/Framework/DataHubRecords.h
Normal file
1917
IntelFrameworkPkg/Include/Framework/DataHubRecords.h
Normal file
File diff suppressed because it is too large
Load Diff
104
IntelFrameworkPkg/Include/Framework/FrameworkDxeCis.h
Normal file
104
IntelFrameworkPkg/Include/Framework/FrameworkDxeCis.h
Normal file
@@ -0,0 +1,104 @@
|
||||
/** @file
|
||||
Include file that supportes Framework extension to the EFI 1.10 spec.
|
||||
|
||||
This include file must only contain things defined in the Framework
|
||||
specifications. If a code construct is defined in the Framework specification
|
||||
it must be included by this include file.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FrameworkDxeCis.h
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _FRAMEWORK_DXE_CIS_H_
|
||||
#define _FRAMEWORK_DXE_CIS_H_
|
||||
|
||||
#include <PiDxe.h>
|
||||
#include <Common/FrameworkStatusCode.h>
|
||||
#include <Protocol/StatusCode.h>
|
||||
|
||||
//
|
||||
// Function prototype for invoking a function on an Application Processor
|
||||
// Used by both the SMM infrastructure and the MP Services Protocol
|
||||
//
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_AP_PROCEDURE) (
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
|
||||
//
|
||||
// Time services
|
||||
//
|
||||
EFI_GET_TIME GetTime;
|
||||
EFI_SET_TIME SetTime;
|
||||
EFI_GET_WAKEUP_TIME GetWakeupTime;
|
||||
EFI_SET_WAKEUP_TIME SetWakeupTime;
|
||||
|
||||
//
|
||||
// Virtual memory services
|
||||
//
|
||||
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
|
||||
EFI_CONVERT_POINTER ConvertPointer;
|
||||
|
||||
//
|
||||
// Variable services
|
||||
//
|
||||
EFI_GET_VARIABLE GetVariable;
|
||||
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
|
||||
EFI_SET_VARIABLE SetVariable;
|
||||
|
||||
//
|
||||
// Misc
|
||||
//
|
||||
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
|
||||
EFI_RESET_SYSTEM ResetSystem;
|
||||
|
||||
//
|
||||
// Framework extension to EFI 1.10 runtime table
|
||||
// It was moved to a protocol to not conflict with UEFI 2.0
|
||||
//
|
||||
EFI_REPORT_STATUS_CODE ReportStatusCode;
|
||||
} FRAMEWORK_EFI_RUNTIME_SERVICES;
|
||||
|
||||
#define EFI_EVENT_RUNTIME_CONTEXT 0x20000000
|
||||
#define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400
|
||||
#define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203
|
||||
#define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
EFI_GUID TianoSpecificDevicePath;
|
||||
UINT32 Type;
|
||||
} TIANO_DEVICE_PATH;
|
||||
|
||||
#define TIANO_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE 0x01
|
||||
typedef struct {
|
||||
TIANO_DEVICE_PATH Tiano;
|
||||
EFI_GUID NameGuid;
|
||||
} FRAMEWORK_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
|
||||
|
||||
|
||||
//
|
||||
// Function prototype for invoking a function on an Application Processor
|
||||
// Used by both the SMM infrastructure and the MP Services Protocol
|
||||
//
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_AP_PROCEDURE) (
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
#endif
|
@@ -0,0 +1,31 @@
|
||||
/** @file
|
||||
This file defines the data structures that comprise the FFS file system.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FrameworkFirmwareFileSystem.h
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from Firmware File System Spec 0.9 but not in PI specs.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _FRAMEWORK_FIRMWARE_FILE_SYSTEM_H_
|
||||
#define _FRAMEWORK_FIRMWARE_FILE_SYSTEM_H_
|
||||
|
||||
#include <PiPei.h>
|
||||
|
||||
typedef UINT16 EFI_FFS_FILE_TAIL;
|
||||
|
||||
#define FFS_ATTRIB_TAIL_PRESENT 0x01
|
||||
#define FFS_ATTRIB_RECOVERY 0x02
|
||||
#define FFS_ATTRIB_HEADER_EXTENSION 0x04
|
||||
|
||||
#endif
|
@@ -0,0 +1,82 @@
|
||||
/** @file
|
||||
Defines data structure that is the volume header found at the beginning of
|
||||
all firmware volumes that are either memory mapped, or have an
|
||||
associated FirmwareVolumeBlock protocol.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FirmwareVolumeHeader.h
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from Firmware Volume Block Spec 0.9.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_FIRMWARE_VOLUME_HEADER_H__
|
||||
#define __EFI_FIRMWARE_VOLUME_HEADER_H__
|
||||
|
||||
//
|
||||
// Firmware Volume Block Attributes definition
|
||||
//
|
||||
typedef UINT32 EFI_FVB_ATTRIBUTES;
|
||||
|
||||
//
|
||||
// Firmware Volume Block Attributes bit definitions
|
||||
//
|
||||
#define EFI_FVB_READ_DISABLED_CAP 0x00000001
|
||||
#define EFI_FVB_READ_ENABLED_CAP 0x00000002
|
||||
#define EFI_FVB_READ_STATUS 0x00000004
|
||||
|
||||
#define EFI_FVB_WRITE_DISABLED_CAP 0x00000008
|
||||
#define EFI_FVB_WRITE_ENABLED_CAP 0x00000010
|
||||
#define EFI_FVB_WRITE_STATUS 0x00000020
|
||||
|
||||
#define EFI_FVB_LOCK_CAP 0x00000040
|
||||
#define EFI_FVB_LOCK_STATUS 0x00000080
|
||||
|
||||
#define EFI_FVB_STICKY_WRITE 0x00000200
|
||||
#define EFI_FVB_MEMORY_MAPPED 0x00000400
|
||||
#define EFI_FVB_ERASE_POLARITY 0x00000800
|
||||
|
||||
#define EFI_FVB_ALIGNMENT_CAP 0x00008000
|
||||
#define EFI_FVB_ALIGNMENT_2 0x00010000
|
||||
#define EFI_FVB_ALIGNMENT_4 0x00020000
|
||||
#define EFI_FVB_ALIGNMENT_8 0x00040000
|
||||
#define EFI_FVB_ALIGNMENT_16 0x00080000
|
||||
#define EFI_FVB_ALIGNMENT_32 0x00100000
|
||||
#define EFI_FVB_ALIGNMENT_64 0x00200000
|
||||
#define EFI_FVB_ALIGNMENT_128 0x00400000
|
||||
#define EFI_FVB_ALIGNMENT_256 0x00800000
|
||||
#define EFI_FVB_ALIGNMENT_512 0x01000000
|
||||
#define EFI_FVB_ALIGNMENT_1K 0x02000000
|
||||
#define EFI_FVB_ALIGNMENT_2K 0x04000000
|
||||
#define EFI_FVB_ALIGNMENT_4K 0x08000000
|
||||
#define EFI_FVB_ALIGNMENT_8K 0x10000000
|
||||
#define EFI_FVB_ALIGNMENT_16K 0x20000000
|
||||
#define EFI_FVB_ALIGNMENT_32K 0x40000000
|
||||
#define EFI_FVB_ALIGNMENT_64K 0x80000000
|
||||
|
||||
#define EFI_FVB_CAPABILITIES (EFI_FVB_READ_DISABLED_CAP | \
|
||||
EFI_FVB_READ_ENABLED_CAP | \
|
||||
EFI_FVB_WRITE_DISABLED_CAP | \
|
||||
EFI_FVB_WRITE_ENABLED_CAP | \
|
||||
EFI_FVB_LOCK_CAP \
|
||||
)
|
||||
|
||||
#define EFI_TEST_FFS_ATTRIBUTES_BIT(FvbAttributes, TestAttributes, Bit) \
|
||||
( \
|
||||
(BOOLEAN) ( \
|
||||
(FvbAttributes & EFI_FVB_ERASE_POLARITY) ? (((~TestAttributes) & Bit) == Bit) : ((TestAttributes & Bit) == Bit) \
|
||||
) \
|
||||
)
|
||||
|
||||
#define EFI_FVB_STATUS (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS)
|
||||
|
||||
#endif
|
@@ -0,0 +1,43 @@
|
||||
/** @file
|
||||
This file defines the data structures that are architecturally defined for file
|
||||
images loaded via the FirmwareVolume protocol. The Firmware Volume specification
|
||||
is the basis for these definitions.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FrameworkFimrwareVolumeImageFormat.h
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from Firmware Volume Spec 0.9.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __FRAMEWORK_FIRMWARE_VOLUME_IMAGE_FORMAT_H__
|
||||
#define __FRAMEWORK_FIRMWARE_VOLUME_IMAGE_FORMAT_H__
|
||||
|
||||
//
|
||||
// Bit values for AuthenticationStatus
|
||||
//
|
||||
#define EFI_AGGREGATE_AUTH_STATUS_PLATFORM_OVERRIDE 0x000001
|
||||
#define EFI_AGGREGATE_AUTH_STATUS_IMAGE_SIGNED 0x000002
|
||||
#define EFI_AGGREGATE_AUTH_STATUS_NOT_TESTED 0x000004
|
||||
#define EFI_AGGREGATE_AUTH_STATUS_TEST_FAILED 0x000008
|
||||
#define EFI_AGGREGATE_AUTH_STATUS_ALL 0x00000f
|
||||
|
||||
#define EFI_LOCAL_AUTH_STATUS_PLATFORM_OVERRIDE 0x010000
|
||||
#define EFI_LOCAL_AUTH_STATUS_IMAGE_SIGNED 0x020000
|
||||
#define EFI_LOCAL_AUTH_STATUS_NOT_TESTED 0x040000
|
||||
#define EFI_LOCAL_AUTH_STATUS_TEST_FAILED 0x080000
|
||||
#define EFI_LOCAL_AUTH_STATUS_ALL 0x0f0000
|
||||
|
||||
|
||||
#define EFI_FV_FILETYPE_ALL 0x00
|
||||
|
||||
#endif
|
36
IntelFrameworkPkg/Include/Framework/FrameworkHob.h
Normal file
36
IntelFrameworkPkg/Include/Framework/FrameworkHob.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/** @file
|
||||
This file defines the data structures per HOB specification v0.9.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FrameworkFirmwareFileSystem.h
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from HOB Spec 0.9 but not adopted by PI specs.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _FRAMEWORK_HOB_H_
|
||||
#define _FRAMEWORK_HOB_H_
|
||||
|
||||
#include <PiPei.h>
|
||||
|
||||
//
|
||||
// Capsule volume HOB -- identical to a firmware volume
|
||||
//
|
||||
#define EFI_HOB_TYPE_CV 0x0008
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
UINT64 Length;
|
||||
} EFI_HOB_CAPSULE_VOLUME;
|
||||
|
||||
#endif
|
431
IntelFrameworkPkg/Include/Framework/FrameworkLegacy16.h
Normal file
431
IntelFrameworkPkg/Include/Framework/FrameworkLegacy16.h
Normal file
@@ -0,0 +1,431 @@
|
||||
/** @file
|
||||
API between 16-bit Legacy BIOS and EFI
|
||||
|
||||
We need to figure out what the 16-bit code is going to use to
|
||||
represent these data structures. Is a pointer SEG:OFF or 32-bit...
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FrameworkLegacy16.h
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from Compatibility Support Module Spec Version 0.96.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _FRAMEWORK_LEGACY_16_H_
|
||||
#define _FRAMEWORK_LEGACY_16_H_
|
||||
|
||||
#include <Base.h>
|
||||
|
||||
//
|
||||
// All structures defined in this header file are packed on byte boundary
|
||||
//
|
||||
#pragma pack(1)
|
||||
|
||||
typedef UINT8 SERIAL_MODE;
|
||||
typedef UINT8 PARALLEL_MODE;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// EFI_COMPATIBILITY16_TABLE is located at a 16-byte boundary starting with the
|
||||
// signature "$EFI"
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define EFI_COMPATIBILITY16_TABLE_SIGNATURE EFI_SIGNATURE_32('$', 'E', 'F', 'I')
|
||||
|
||||
typedef struct {
|
||||
UINT32 Signature; // "$EFI"
|
||||
UINT8 TableChecksum;
|
||||
UINT8 TableLength;
|
||||
UINT8 EfiMajorRevision;
|
||||
UINT8 EfiMinorRevision;
|
||||
UINT8 TableMajorRevision;
|
||||
UINT8 TableMinorRevision;
|
||||
UINT16 Reserved;
|
||||
UINT16 Compatibility16CallSegment;
|
||||
UINT16 Compatibility16CallOffset;
|
||||
UINT16 PnPInstallationCheckSegment;
|
||||
UINT16 PnPInstallationCheckOffset;
|
||||
UINT32 EfiSystemTable; // The physical address of EFI_SYSTEM_TABLE
|
||||
UINT32 OemIdStringPointer;
|
||||
UINT32 AcpiRsdPtrPointer;
|
||||
UINT16 OemRevision;
|
||||
UINT32 E820Pointer;
|
||||
UINT32 E820Length;
|
||||
UINT32 IrqRoutingTablePointer;
|
||||
UINT32 IrqRoutingTableLength;
|
||||
UINT32 MpTablePtr;
|
||||
UINT32 MpTableLength;
|
||||
UINT16 OemIntSegment;
|
||||
UINT16 OemIntOffset;
|
||||
UINT16 Oem32Segment;
|
||||
UINT16 Oem32Offset;
|
||||
UINT16 Oem16Segment;
|
||||
UINT16 Oem16Offset;
|
||||
UINT16 TpmSegment;
|
||||
UINT16 TpmOffset;
|
||||
UINT32 IbvPointer;
|
||||
UINT32 PciExpressBase;
|
||||
UINT8 LastPciBus;
|
||||
} EFI_COMPATIBILITY16_TABLE;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Functions provided by the CSM binary
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
typedef enum {
|
||||
Legacy16InitializeYourself = 0x0000,
|
||||
Legacy16UpdateBbs = 0x0001,
|
||||
Legacy16PrepareToBoot = 0x0002,
|
||||
Legacy16Boot = 0x0003,
|
||||
Legacy16RetrieveLastBootDevice= 0x0004,
|
||||
Legacy16DispatchOprom = 0x0005,
|
||||
Legacy16GetTableAddress = 0x0006,
|
||||
Legacy16SetKeyboardLeds = 0x0007,
|
||||
Legacy16InstallPciHandler = 0x0008
|
||||
} EFI_COMPATIBILITY_FUNCTIONS;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// EFI_TO_COMPATIBILITY16_INIT_TABLE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct {
|
||||
UINT32 BiosLessThan1MB;
|
||||
UINT32 HiPmmMemory;
|
||||
UINT32 HiPmmMemorySizeInBytes;
|
||||
UINT16 ReverseThunkCallSegment;
|
||||
UINT16 ReverseThunkCallOffset;
|
||||
UINT32 NumberE820Entries;
|
||||
UINT32 OsMemoryAbove1Mb;
|
||||
UINT32 ThunkStart;
|
||||
UINT32 ThunkSizeInBytes;
|
||||
UINT32 LowPmmMemory;
|
||||
UINT32 LowPmmMemorySizeInBytes;
|
||||
} EFI_TO_COMPATIBILITY16_INIT_TABLE;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// EFI_TO_COMPATIBILITY16_BOOT_TABLE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef UINT8 SERIAL_MODE;
|
||||
typedef UINT8 PARALLEL_MODE;
|
||||
|
||||
//
|
||||
// DEVICE_PRODUCER_SERIAL & its modes
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Address;
|
||||
UINT8 Irq;
|
||||
SERIAL_MODE Mode;
|
||||
} DEVICE_PRODUCER_SERIAL;
|
||||
|
||||
#define DEVICE_SERIAL_MODE_NORMAL 0x00
|
||||
#define DEVICE_SERIAL_MODE_IRDA 0x01
|
||||
#define DEVICE_SERIAL_MODE_ASK_IR 0x02
|
||||
#define DEVICE_SERIAL_MODE_DUPLEX_HALF 0x00
|
||||
#define DEVICE_SERIAL_MODE_DUPLEX_FULL 0x10
|
||||
|
||||
//
|
||||
// DEVICE_PRODUCER_PARALLEL & its modes
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Address;
|
||||
UINT8 Irq;
|
||||
UINT8 Dma;
|
||||
PARALLEL_MODE Mode;
|
||||
} DEVICE_PRODUCER_PARALLEL;
|
||||
|
||||
#define DEVICE_PARALLEL_MODE_MODE_OUTPUT_ONLY 0x00
|
||||
#define DEVICE_PARALLEL_MODE_MODE_BIDIRECTIONAL 0x01
|
||||
#define DEVICE_PARALLEL_MODE_MODE_EPP 0x02
|
||||
#define DEVICE_PARALLEL_MODE_MODE_ECP 0x03
|
||||
|
||||
//
|
||||
// DEVICE_PRODUCER_FLOPPY
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Address;
|
||||
UINT8 Irq;
|
||||
UINT8 Dma;
|
||||
UINT8 NumberOfFloppy;
|
||||
} DEVICE_PRODUCER_FLOPPY;
|
||||
|
||||
//
|
||||
// LEGACY_DEVICE_FLAGS
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 A20Kybd : 1;
|
||||
UINT32 A20Port90 : 1;
|
||||
UINT32 Reserved : 30;
|
||||
} LEGACY_DEVICE_FLAGS;
|
||||
|
||||
//
|
||||
// DEVICE_PRODUCER_DATA_HEADER
|
||||
//
|
||||
typedef struct {
|
||||
DEVICE_PRODUCER_SERIAL Serial[4];
|
||||
DEVICE_PRODUCER_PARALLEL Parallel[3];
|
||||
DEVICE_PRODUCER_FLOPPY Floppy;
|
||||
UINT8 MousePresent;
|
||||
LEGACY_DEVICE_FLAGS Flags;
|
||||
} DEVICE_PRODUCER_DATA_HEADER;
|
||||
|
||||
//
|
||||
// ATAPI_IDENTIFY
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Raw[256];
|
||||
} ATAPI_IDENTIFY;
|
||||
|
||||
//
|
||||
// HDD_INFO & its status
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Status;
|
||||
UINT32 Bus;
|
||||
UINT32 Device;
|
||||
UINT32 Function;
|
||||
UINT16 CommandBaseAddress;
|
||||
UINT16 ControlBaseAddress;
|
||||
UINT16 BusMasterAddress;
|
||||
UINT8 HddIrq;
|
||||
ATAPI_IDENTIFY IdentifyDrive[2];
|
||||
} HDD_INFO;
|
||||
|
||||
#define HDD_PRIMARY 0x01
|
||||
#define HDD_SECONDARY 0x02
|
||||
#define HDD_MASTER_ATAPI_CDROM 0x04
|
||||
#define HDD_SLAVE_ATAPI_CDROM 0x08
|
||||
#define HDD_MASTER_IDE 0x20
|
||||
#define HDD_SLAVE_IDE 0x40
|
||||
#define HDD_MASTER_ATAPI_ZIPDISK 0x10
|
||||
#define HDD_SLAVE_ATAPI_ZIPDISK 0x80
|
||||
|
||||
//
|
||||
// BBS_STATUS_FLAGS
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 OldPosition : 4;
|
||||
UINT16 Reserved1 : 4;
|
||||
UINT16 Enabled : 1;
|
||||
UINT16 Failed : 1;
|
||||
UINT16 MediaPresent : 2;
|
||||
UINT16 Reserved2 : 4;
|
||||
} BBS_STATUS_FLAGS;
|
||||
|
||||
//
|
||||
// BBS_TABLE, device type values & boot priority values
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 BootPriority;
|
||||
UINT32 Bus;
|
||||
UINT32 Device;
|
||||
UINT32 Function;
|
||||
UINT8 Class;
|
||||
UINT8 SubClass;
|
||||
UINT16 MfgStringOffset;
|
||||
UINT16 MfgStringSegment;
|
||||
UINT16 DeviceType;
|
||||
BBS_STATUS_FLAGS StatusFlags;
|
||||
UINT16 BootHandlerOffset;
|
||||
UINT16 BootHandlerSegment;
|
||||
UINT16 DescStringOffset;
|
||||
UINT16 DescStringSegment;
|
||||
UINT32 InitPerReserved;
|
||||
UINT32 AdditionalIrq13Handler;
|
||||
UINT32 AdditionalIrq18Handler;
|
||||
UINT32 AdditionalIrq19Handler;
|
||||
UINT32 AdditionalIrq40Handler;
|
||||
UINT8 AssignedDriveNumber;
|
||||
UINT32 AdditionalIrq41Handler;
|
||||
UINT32 AdditionalIrq46Handler;
|
||||
UINT32 IBV1;
|
||||
UINT32 IBV2;
|
||||
} BBS_TABLE;
|
||||
|
||||
#define BBS_FLOPPY 0x01
|
||||
#define BBS_HARDDISK 0x02
|
||||
#define BBS_CDROM 0x03
|
||||
#define BBS_PCMCIA 0x04
|
||||
#define BBS_USB 0x05
|
||||
#define BBS_EMBED_NETWORK 0x06
|
||||
#define BBS_BEV_DEVICE 0x80
|
||||
#define BBS_UNKNOWN 0xff
|
||||
|
||||
#define BBS_DO_NOT_BOOT_FROM 0xFFFC
|
||||
#define BBS_LOWEST_PRIORITY 0xFFFD
|
||||
#define BBS_UNPRIORITIZED_ENTRY 0xFFFE
|
||||
#define BBS_IGNORE_ENTRY 0xFFFF
|
||||
|
||||
//
|
||||
// SMM_ATTRIBUTES & relating type, port and data size constants
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Type : 3;
|
||||
UINT16 PortGranularity : 3;
|
||||
UINT16 DataGranularity : 3;
|
||||
UINT16 Reserved : 7;
|
||||
} SMM_ATTRIBUTES;
|
||||
|
||||
#define STANDARD_IO 0x00
|
||||
#define STANDARD_MEMORY 0x01
|
||||
|
||||
#define PORT_SIZE_8 0x00
|
||||
#define PORT_SIZE_16 0x01
|
||||
#define PORT_SIZE_32 0x02
|
||||
#define PORT_SIZE_64 0x03
|
||||
|
||||
#define DATA_SIZE_8 0x00
|
||||
#define DATA_SIZE_16 0x01
|
||||
#define DATA_SIZE_32 0x02
|
||||
#define DATA_SIZE_64 0x03
|
||||
|
||||
//
|
||||
// SMM_FUNCTION & relating constants
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Function : 15;
|
||||
UINT16 Owner : 1;
|
||||
} SMM_FUNCTION;
|
||||
|
||||
#define INT15_D042 0x0000
|
||||
#define GET_USB_BOOT_INFO 0x0001
|
||||
#define DMI_PNP_50_57 0x0002
|
||||
|
||||
#define STANDARD_OWNER 0x0
|
||||
#define OEM_OWNER 0x1
|
||||
|
||||
//
|
||||
// SMM_ENTRY
|
||||
//
|
||||
// This structure assumes both port and data sizes are 1. SmmAttribute must be
|
||||
// properly to reflect that assumption.
|
||||
//
|
||||
typedef struct {
|
||||
SMM_ATTRIBUTES SmmAttributes;
|
||||
SMM_FUNCTION SmmFunction;
|
||||
UINT8 SmmPort;
|
||||
UINT8 SmmData;
|
||||
} SMM_ENTRY;
|
||||
|
||||
//
|
||||
// SMM_TABLE
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 NumSmmEntries;
|
||||
SMM_ENTRY SmmEntry;
|
||||
} SMM_TABLE;
|
||||
|
||||
//
|
||||
// UDC_ATTRIBUTES
|
||||
//
|
||||
typedef struct {
|
||||
UINT8 DirectoryServiceValidity : 1;
|
||||
UINT8 RabcaUsedFlag : 1;
|
||||
UINT8 ExecuteHddDiagnosticsFlag : 1;
|
||||
UINT8 Reserved : 5;
|
||||
} UDC_ATTRIBUTES;
|
||||
|
||||
//
|
||||
// UD_TABLE
|
||||
//
|
||||
typedef struct {
|
||||
UDC_ATTRIBUTES Attributes;
|
||||
UINT8 DeviceNumber;
|
||||
UINT8 BbsTableEntryNumberForParentDevice;
|
||||
UINT8 BbsTableEntryNumberForBoot;
|
||||
UINT8 BbsTableEntryNumberForHddDiag;
|
||||
UINT8 BeerData[128];
|
||||
UINT8 ServiceAreaData[64];
|
||||
} UD_TABLE;
|
||||
|
||||
//
|
||||
// EFI_TO_COMPATIBILITY16_BOOT_TABLE
|
||||
//
|
||||
#define EFI_TO_LEGACY_MAJOR_VERSION 0x02
|
||||
#define EFI_TO_LEGACY_MINOR_VERSION 0x00
|
||||
#define MAX_IDE_CONTROLLER 8
|
||||
|
||||
typedef struct {
|
||||
UINT16 MajorVersion;
|
||||
UINT16 MinorVersion;
|
||||
UINT32 AcpiTable; // 4 GB range
|
||||
UINT32 SmbiosTable; // 4 GB range
|
||||
UINT32 SmbiosTableLength;
|
||||
|
||||
//
|
||||
// Legacy SIO state
|
||||
//
|
||||
DEVICE_PRODUCER_DATA_HEADER SioData;
|
||||
|
||||
UINT16 DevicePathType;
|
||||
UINT16 PciIrqMask;
|
||||
UINT32 NumberE820Entries;
|
||||
|
||||
//
|
||||
// Controller & Drive Identify[2] per controller information
|
||||
//
|
||||
HDD_INFO HddInfo[MAX_IDE_CONTROLLER];
|
||||
|
||||
UINT32 NumberBbsEntries;
|
||||
UINT32 BbsTable;
|
||||
UINT32 SmmTable;
|
||||
UINT32 OsMemoryAbove1Mb;
|
||||
UINT32 UnconventionalDeviceTable;
|
||||
} EFI_TO_COMPATIBILITY16_BOOT_TABLE;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// EFI_DISPATCH_OPROM_TABLE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef struct {
|
||||
UINT16 PnPInstallationCheckSegment;
|
||||
UINT16 PnPInstallationCheckOffset;
|
||||
UINT16 OpromSegment;
|
||||
UINT8 PciBus;
|
||||
UINT8 PciDeviceFunction;
|
||||
UINT8 NumberBbsEntries;
|
||||
VOID *BbsTablePointer; /// @bug: variable size on 32/64-bit systems.
|
||||
} EFI_DISPATCH_OPROM_TABLE;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// EFI_LEGACY_INSTALL_PCI_HANDLER
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
typedef struct {
|
||||
UINT8 PciBus;
|
||||
UINT8 PciDeviceFun;
|
||||
UINT8 PciSegment;
|
||||
UINT8 PciClass;
|
||||
UINT8 PciSubclass;
|
||||
UINT8 PciInterface;
|
||||
|
||||
//
|
||||
// Primary section
|
||||
//
|
||||
UINT8 PrimaryIrq;
|
||||
UINT8 PrimaryReserved;
|
||||
UINT16 PrimaryControl;
|
||||
UINT16 PrimaryBase;
|
||||
UINT16 PrimaryBusMaster;
|
||||
|
||||
//
|
||||
// Secondary Section
|
||||
//
|
||||
UINT8 SecondaryIrq;
|
||||
UINT8 SecondaryReserved;
|
||||
UINT16 SecondaryControl;
|
||||
UINT16 SecondaryBase;
|
||||
UINT16 SecondaryBusMaster;
|
||||
} EFI_LEGACY_INSTALL_PCI_HANDLER;
|
||||
|
||||
//
|
||||
// Restore default pack value
|
||||
//
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
480
IntelFrameworkPkg/Include/Framework/FrameworkSmmCis.h
Normal file
480
IntelFrameworkPkg/Include/Framework/FrameworkSmmCis.h
Normal file
@@ -0,0 +1,480 @@
|
||||
/** @file
|
||||
Include file matches things in the Smm CIS spec.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FrameworkSmmCis.h
|
||||
|
||||
@par Revision Reference:
|
||||
Version 0.9.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _FRAMEWORK_SMM_CIS_H_
|
||||
#define _FRAMEWORK_SMM_CIS_H_
|
||||
|
||||
#include <Common/FrameworkDxeCis.h>
|
||||
|
||||
#define EFI_SMM_CPU_IO_GUID \
|
||||
{ \
|
||||
0x5f439a0b, 0x45d8, 0x4682, {0xa4, 0xf4, 0xf0, 0x57, 0x6b, 0x51, 0x34, 0x41 } \
|
||||
}
|
||||
|
||||
typedef struct _EFI_SMM_SYSTEM_TABLE EFI_SMM_SYSTEM_TABLE;
|
||||
typedef struct _EFI_SMM_CPU_IO_INTERFACE EFI_SMM_CPU_IO_INTERFACE;
|
||||
|
||||
|
||||
//
|
||||
// SMM Base specification constant and types
|
||||
//
|
||||
#define SMM_SMST_SIGNATURE EFI_SIGNATURE_32 ('S', 'M', 'S', 'T')
|
||||
#define EFI_SMM_SYSTEM_TABLE_REVISION (0 << 16) | (0x09)
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// EFI_SMM_IO_WIDTH
|
||||
// *******************************************************
|
||||
//
|
||||
typedef enum {
|
||||
SMM_IO_UINT8 = 0,
|
||||
SMM_IO_UINT16 = 1,
|
||||
SMM_IO_UINT32 = 2,
|
||||
SMM_IO_UINT64 = 3
|
||||
} EFI_SMM_IO_WIDTH;
|
||||
|
||||
/**
|
||||
Provides the basic memory and I/O interfaces that are used to
|
||||
abstract accesses to devices.
|
||||
|
||||
@param This The EFI_SMM_CPU_IO_INTERFACE instance.
|
||||
@param Width Signifies the width of the I/O operations.
|
||||
@param Address The base address of the I/O operations.
|
||||
@param Count The number of I/O operations to perform.
|
||||
@param Buffer For read operations, the destination buffer to store the results.
|
||||
For write operations, the source buffer from which to write data.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the device.
|
||||
@retval EFI_UNSUPPORTED The Address is not valid for this system.
|
||||
@retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_CPU_IO) (
|
||||
IN EFI_SMM_CPU_IO_INTERFACE *This,
|
||||
IN EFI_SMM_IO_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
EFI_SMM_CPU_IO Read;
|
||||
EFI_SMM_CPU_IO Write;
|
||||
} EFI_SMM_IO_ACCESS;
|
||||
|
||||
struct _EFI_SMM_CPU_IO_INTERFACE {
|
||||
EFI_SMM_IO_ACCESS Mem;
|
||||
EFI_SMM_IO_ACCESS Io;
|
||||
};
|
||||
|
||||
/**
|
||||
Allocates pool memory from SMRAM for IA-32 or runtime memory for
|
||||
the Itanium processor family.
|
||||
|
||||
@param PoolType The type of pool to allocate.The only supported type is EfiRuntimeServicesData
|
||||
@param Size The number of bytes to allocate from the pool.
|
||||
@param Buffer A pointer to a pointer to the allocated buffer if the call
|
||||
succeeds; undefined otherwise.
|
||||
|
||||
@retval EFI_SUCCESS The requested number of bytes was allocated.
|
||||
@retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.
|
||||
@retval EFI_UNSUPPORTED In runtime.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMMCORE_ALLOCATE_POOL) (
|
||||
IN EFI_MEMORY_TYPE PoolType,
|
||||
IN UINTN Size,
|
||||
OUT VOID **Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
Returns pool memory to the system.
|
||||
|
||||
@param Buffer Pointer to the buffer to free.
|
||||
|
||||
@retval EFI_SUCCESS The memory was returned to the system.
|
||||
@retval EFI_INVALID_PARAMETER Buffer was invalid.
|
||||
@retval EFI_UNSUPPORTED In runtime.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMMCORE_FREE_POOL) (
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
Allocates memory pages from the system.
|
||||
|
||||
@param Type The type of allocation to perform.
|
||||
@param MemoryType The only supported type is EfiRuntimeServicesData
|
||||
@param NumberofPages The number of contiguous 4 KB pages to allocate
|
||||
@param Memory Pointer to a physical address. On input, the way in which
|
||||
the address is used depends on the value of Type. On output, the address
|
||||
is set to the base of the page range that was allocated.
|
||||
|
||||
@retval EFI_SUCCESS The requested pages were allocated.
|
||||
@retval EFI_OUT_OF_RESOURCES The pages requested could not be allocated.
|
||||
@retval EFI_NOT_FOUND The requested pages could not be found.
|
||||
@retval EFI_INVALID_PARAMETER Type is not AllocateAnyPages or AllocateMaxAddress
|
||||
or AllocateAddress. Or MemoryType is in the range EfiMaxMemoryType..0x7FFFFFFF.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMMCORE_ALLOCATE_PAGES) (
|
||||
IN EFI_ALLOCATE_TYPE Type,
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN NumberOfPages,
|
||||
OUT EFI_PHYSICAL_ADDRESS *Memory
|
||||
);
|
||||
|
||||
/**
|
||||
Frees memory pages for the system.
|
||||
|
||||
@param Memory The base physical address of the pages to be freed
|
||||
@param NumberOfPages The number of contiguous 4 KB pages to free.
|
||||
|
||||
@retval EFI_SUCCESS The requested memory pages were freed.
|
||||
@retval EFI_INVALID_PARAMETER Memory is not a page-aligned address or NumberOfPages is invalid.
|
||||
@retval EFI_NOT_FOUND The requested memory pages were not allocated with SmmAllocatePages().
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMMCORE_FREE_PAGES) (
|
||||
IN EFI_PHYSICAL_ADDRESS Memory,
|
||||
IN UINTN NumberOfPages
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_STARTUP_THIS_AP) (
|
||||
IN EFI_AP_PROCEDURE Procedure,
|
||||
IN UINTN CpuNumber,
|
||||
IN OUT VOID *ProcArguments OPTIONAL
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
UINT8 Reserved1[248];
|
||||
UINT32 SMBASE;
|
||||
UINT32 SMMRevId;
|
||||
UINT16 IORestart;
|
||||
UINT16 AutoHALTRestart;
|
||||
UINT8 Reserved2[164];
|
||||
UINT32 ES;
|
||||
UINT32 CS;
|
||||
UINT32 SS;
|
||||
UINT32 DS;
|
||||
UINT32 FS;
|
||||
UINT32 GS;
|
||||
UINT32 LDTBase;
|
||||
UINT32 TR;
|
||||
UINT32 DR7;
|
||||
UINT32 DR6;
|
||||
UINT32 EAX;
|
||||
UINT32 ECX;
|
||||
UINT32 EDX;
|
||||
UINT32 EBX;
|
||||
UINT32 ESP;
|
||||
UINT32 EBP;
|
||||
UINT32 ESI;
|
||||
UINT32 EDI;
|
||||
UINT32 EIP;
|
||||
UINT32 EFLAGS;
|
||||
UINT32 CR3;
|
||||
UINT32 CR0;
|
||||
} EFI_SMI_CPU_SAVE_STATE;
|
||||
|
||||
typedef struct {
|
||||
UINT64 reserved;
|
||||
UINT64 r1;
|
||||
UINT64 r2;
|
||||
UINT64 r3;
|
||||
UINT64 r4;
|
||||
UINT64 r5;
|
||||
UINT64 r6;
|
||||
UINT64 r7;
|
||||
UINT64 r8;
|
||||
UINT64 r9;
|
||||
UINT64 r10;
|
||||
UINT64 r11;
|
||||
UINT64 r12;
|
||||
UINT64 r13;
|
||||
UINT64 r14;
|
||||
UINT64 r15;
|
||||
UINT64 r16;
|
||||
UINT64 r17;
|
||||
UINT64 r18;
|
||||
UINT64 r19;
|
||||
UINT64 r20;
|
||||
UINT64 r21;
|
||||
UINT64 r22;
|
||||
UINT64 r23;
|
||||
UINT64 r24;
|
||||
UINT64 r25;
|
||||
UINT64 r26;
|
||||
UINT64 r27;
|
||||
UINT64 r28;
|
||||
UINT64 r29;
|
||||
UINT64 r30;
|
||||
UINT64 r31;
|
||||
|
||||
UINT64 pr;
|
||||
|
||||
UINT64 b0;
|
||||
UINT64 b1;
|
||||
UINT64 b2;
|
||||
UINT64 b3;
|
||||
UINT64 b4;
|
||||
UINT64 b5;
|
||||
UINT64 b6;
|
||||
UINT64 b7;
|
||||
|
||||
// application registers
|
||||
UINT64 ar_rsc;
|
||||
UINT64 ar_bsp;
|
||||
UINT64 ar_bspstore;
|
||||
UINT64 ar_rnat;
|
||||
|
||||
UINT64 ar_fcr;
|
||||
|
||||
UINT64 ar_eflag;
|
||||
UINT64 ar_csd;
|
||||
UINT64 ar_ssd;
|
||||
UINT64 ar_cflg;
|
||||
UINT64 ar_fsr;
|
||||
UINT64 ar_fir;
|
||||
UINT64 ar_fdr;
|
||||
|
||||
UINT64 ar_ccv;
|
||||
|
||||
UINT64 ar_unat;
|
||||
|
||||
UINT64 ar_fpsr;
|
||||
|
||||
UINT64 ar_pfs;
|
||||
UINT64 ar_lc;
|
||||
UINT64 ar_ec;
|
||||
|
||||
// control registers
|
||||
UINT64 cr_dcr;
|
||||
UINT64 cr_itm;
|
||||
UINT64 cr_iva;
|
||||
UINT64 cr_pta;
|
||||
UINT64 cr_ipsr;
|
||||
UINT64 cr_isr;
|
||||
UINT64 cr_iip;
|
||||
UINT64 cr_ifa;
|
||||
UINT64 cr_itir;
|
||||
UINT64 cr_iipa;
|
||||
UINT64 cr_ifs;
|
||||
UINT64 cr_iim;
|
||||
UINT64 cr_iha;
|
||||
|
||||
// debug registers
|
||||
UINT64 dbr0;
|
||||
UINT64 dbr1;
|
||||
UINT64 dbr2;
|
||||
UINT64 dbr3;
|
||||
UINT64 dbr4;
|
||||
UINT64 dbr5;
|
||||
UINT64 dbr6;
|
||||
UINT64 dbr7;
|
||||
|
||||
UINT64 ibr0;
|
||||
UINT64 ibr1;
|
||||
UINT64 ibr2;
|
||||
UINT64 ibr3;
|
||||
UINT64 ibr4;
|
||||
UINT64 ibr5;
|
||||
UINT64 ibr6;
|
||||
UINT64 ibr7;
|
||||
|
||||
// virtual registers
|
||||
UINT64 int_nat; // nat bits for R1-R31
|
||||
|
||||
} EFI_PMI_SYSTEM_CONTEXT;
|
||||
|
||||
typedef union {
|
||||
EFI_SMI_CPU_SAVE_STATE Ia32SaveState;
|
||||
EFI_PMI_SYSTEM_CONTEXT ItaniumSaveState;
|
||||
} EFI_SMM_CPU_SAVE_STATE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 Fcw;
|
||||
UINT16 Fsw;
|
||||
UINT16 Ftw;
|
||||
UINT16 Opcode;
|
||||
UINT32 Eip;
|
||||
UINT16 Cs;
|
||||
UINT16 Rsvd1;
|
||||
UINT32 DataOffset;
|
||||
UINT16 Ds;
|
||||
UINT8 Rsvd2[10];
|
||||
UINT8 St0Mm0[10], Rsvd3[6];
|
||||
UINT8 St0Mm1[10], Rsvd4[6];
|
||||
UINT8 St0Mm2[10], Rsvd5[6];
|
||||
UINT8 St0Mm3[10], Rsvd6[6];
|
||||
UINT8 St0Mm4[10], Rsvd7[6];
|
||||
UINT8 St0Mm5[10], Rsvd8[6];
|
||||
UINT8 St0Mm6[10], Rsvd9[6];
|
||||
UINT8 St0Mm7[10], Rsvd10[6];
|
||||
UINT8 Rsvd11[22*16];
|
||||
} EFI_SMI_OPTIONAL_FPSAVE_STATE;
|
||||
|
||||
typedef struct {
|
||||
UINT64 f2[2];
|
||||
UINT64 f3[2];
|
||||
UINT64 f4[2];
|
||||
UINT64 f5[2];
|
||||
UINT64 f6[2];
|
||||
UINT64 f7[2];
|
||||
UINT64 f8[2];
|
||||
UINT64 f9[2];
|
||||
UINT64 f10[2];
|
||||
UINT64 f11[2];
|
||||
UINT64 f12[2];
|
||||
UINT64 f13[2];
|
||||
UINT64 f14[2];
|
||||
UINT64 f15[2];
|
||||
UINT64 f16[2];
|
||||
UINT64 f17[2];
|
||||
UINT64 f18[2];
|
||||
UINT64 f19[2];
|
||||
UINT64 f20[2];
|
||||
UINT64 f21[2];
|
||||
UINT64 f22[2];
|
||||
UINT64 f23[2];
|
||||
UINT64 f24[2];
|
||||
UINT64 f25[2];
|
||||
UINT64 f26[2];
|
||||
UINT64 f27[2];
|
||||
UINT64 f28[2];
|
||||
UINT64 f29[2];
|
||||
UINT64 f30[2];
|
||||
UINT64 f31[2];
|
||||
} EFI_PMI_OPTIONAL_FLOATING_POINT_CONTEXT;
|
||||
|
||||
typedef union {
|
||||
EFI_SMI_OPTIONAL_FPSAVE_STATE Ia32FpSave;
|
||||
EFI_PMI_OPTIONAL_FLOATING_POINT_CONTEXT ItaniumFpSave;
|
||||
} EFI_SMM_FLOATING_POINT_SAVE_STATE;
|
||||
|
||||
/**
|
||||
This function is the main entry point for an SMM handler dispatch
|
||||
or communicate-based callback.
|
||||
|
||||
@param SmmImageHandle A unique value returned by the SMM infrastructure
|
||||
in response to registration for a communicate-based callback or dispatch.
|
||||
@param CommunicationBuffer
|
||||
An optional buffer that will be populated
|
||||
by the SMM infrastructure in response to a non-SMM agent (preboot or runtime)
|
||||
invoking the EFI_SMM_BASE_PROTOCOL.Communicate() service.
|
||||
@param SourceSize If CommunicationBuffer is non-NULL, this field
|
||||
indicates the size of the data payload in this buffer.
|
||||
|
||||
@return Status Code
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_HANDLER_ENTRY_POINT) (
|
||||
IN EFI_HANDLE SmmImageHandle,
|
||||
IN OUT VOID *CommunicationBuffer OPTIONAL,
|
||||
IN OUT UINTN *SourceSize OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
The SmmInstallConfigurationTable() function is used to maintain the list
|
||||
of configuration tables that are stored in the System Management System
|
||||
Table. The list is stored as an array of (GUID, Pointer) pairs. The list
|
||||
must be allocated from pool memory with PoolType set to EfiRuntimeServicesData.
|
||||
|
||||
@param SystemTable A pointer to the SMM System Table.
|
||||
@param Guid A pointer to the GUID for the entry to add, update, or remove.
|
||||
@param Table A pointer to the buffer of the table to add.
|
||||
@param TableSize The size of the table to install.
|
||||
|
||||
@retval EFI_SUCCESS The (Guid, Table) pair was added, updated, or removed.
|
||||
@retval EFI_INVALID_PARAMETER Guid is not valid.
|
||||
@retval EFI_NOT_FOUND An attempt was made to delete a non-existent entry.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough memory available to complete the operation.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_INSTALL_CONFIGURATION_TABLE) (
|
||||
IN EFI_SMM_SYSTEM_TABLE *SystemTable,
|
||||
IN EFI_GUID *Guid,
|
||||
IN VOID *Table,
|
||||
IN UINTN TableSize
|
||||
);
|
||||
|
||||
//
|
||||
// System Management System Table (SMST)
|
||||
//
|
||||
struct _EFI_SMM_SYSTEM_TABLE {
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
|
||||
CHAR16 *SmmFirmwareVendor;
|
||||
UINT32 SmmFirmwareRevision;
|
||||
|
||||
EFI_SMM_INSTALL_CONFIGURATION_TABLE SmmInstallConfigurationTable;
|
||||
|
||||
//
|
||||
// I/O Services
|
||||
//
|
||||
EFI_GUID EfiSmmCpuIoGuid;
|
||||
EFI_SMM_CPU_IO_INTERFACE SmmIo;
|
||||
|
||||
//
|
||||
// Runtime memory service
|
||||
//
|
||||
EFI_SMMCORE_ALLOCATE_POOL SmmAllocatePool;
|
||||
EFI_SMMCORE_FREE_POOL SmmFreePool;
|
||||
EFI_SMMCORE_ALLOCATE_PAGES SmmAllocatePages;
|
||||
EFI_SMMCORE_FREE_PAGES SmmFreePages;
|
||||
|
||||
//
|
||||
// MP service
|
||||
//
|
||||
EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp;
|
||||
|
||||
//
|
||||
// CPU information records
|
||||
//
|
||||
UINTN CurrentlyExecutingCpu;
|
||||
UINTN NumberOfCpus;
|
||||
EFI_SMM_CPU_SAVE_STATE *CpuSaveState;
|
||||
EFI_SMM_FLOATING_POINT_SAVE_STATE *CpuOptionalFloatingPointState;
|
||||
|
||||
//
|
||||
// Extensibility table
|
||||
//
|
||||
UINTN NumberOfTableEntries;
|
||||
EFI_CONFIGURATION_TABLE *SmmConfigurationTable;
|
||||
};
|
||||
|
||||
#endif
|
905
IntelFrameworkPkg/Include/Framework/FrameworkStatusCode.h
Normal file
905
IntelFrameworkPkg/Include/Framework/FrameworkStatusCode.h
Normal file
@@ -0,0 +1,905 @@
|
||||
/** @file
|
||||
Status Code Definitions, according to Intel Platform Innovation Framework
|
||||
for EFI Status Codes Specification
|
||||
|
||||
The file is divided into sections for ease of use.
|
||||
|
||||
<pre>
|
||||
Section: Contents:
|
||||
1 General Status Code Definitions
|
||||
2 Class definitions
|
||||
3 Computing Unit Subclasses, Progress and Error Codes
|
||||
4 Peripheral Subclasses, Progress and Error Codes.
|
||||
5 IO Bus Subclasses, Progress and Error Codes.
|
||||
6 Software Subclasses, Progress and Error Codes.
|
||||
7 Debug Codes
|
||||
</pre>
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: StatusCode.h
|
||||
|
||||
@par Revision Reference:
|
||||
Version 0.92.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _FRAMEWORK_STATUS_CODE_H_
|
||||
#define _FRAMEWORK_STATUS_CODE_H_
|
||||
|
||||
#include <PiPei.h>
|
||||
|
||||
//
|
||||
// /////////////////////////////////////////////////////////////////////////////
|
||||
// Section 1
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//
|
||||
// Data Hub Status Code class record definition
|
||||
// This structure isn't adopted by PI, so is defined here.
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_TYPE CodeType;
|
||||
EFI_STATUS_CODE_VALUE Value;
|
||||
UINT32 Instance;
|
||||
EFI_GUID CallerId;
|
||||
EFI_STATUS_CODE_DATA Data;
|
||||
} DATA_HUB_STATUS_CODE_DATA_RECORD;
|
||||
|
||||
//
|
||||
// /////////////////////////////////////////////////////////////////////////////
|
||||
// Section 2
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Class definitions
|
||||
// Values of 4-127 are reserved for future use by this
|
||||
// specification.
|
||||
// Values in the range 127-255 are reserved for OEM use.
|
||||
//
|
||||
#define EFI_COMPUTING_UNIT 0x00000000
|
||||
#define EFI_PERIPHERAL 0x01000000
|
||||
#define EFI_IO_BUS 0x02000000
|
||||
#define EFI_SOFTWARE 0x03000000
|
||||
|
||||
//
|
||||
// General partitioning scheme for Progress and Error Codes are
|
||||
// 0x0000-0x0FFF - Shared by all sub-classes in a given class
|
||||
// 0x1000-0x7FFF - Subclass Specific
|
||||
// 0x8000-0xFFFF - OEM specific
|
||||
//
|
||||
#define EFI_SUBCLASS_SPECIFIC 0x1000
|
||||
#define EFI_OEM_SPECIFIC 0x8000
|
||||
|
||||
//
|
||||
// /////////////////////////////////////////////////////////////////////////////
|
||||
// Section 3
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Computing Unit Subclass definitions.
|
||||
// Values of 8-127 are reserved for future use by this
|
||||
// specification.
|
||||
// Values of 128-255 are reserved for OEM use.
|
||||
//
|
||||
#define EFI_COMPUTING_UNIT_UNSPECIFIED (EFI_COMPUTING_UNIT | 0x00000000)
|
||||
#define EFI_COMPUTING_UNIT_HOST_PROCESSOR (EFI_COMPUTING_UNIT | 0x00010000)
|
||||
#define EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR (EFI_COMPUTING_UNIT | 0x00020000)
|
||||
#define EFI_COMPUTING_UNIT_IO_PROCESSOR (EFI_COMPUTING_UNIT | 0x00030000)
|
||||
#define EFI_COMPUTING_UNIT_CACHE (EFI_COMPUTING_UNIT | 0x00040000)
|
||||
#define EFI_COMPUTING_UNIT_MEMORY (EFI_COMPUTING_UNIT | 0x00050000)
|
||||
#define EFI_COMPUTING_UNIT_CHIPSET (EFI_COMPUTING_UNIT | 0x00060000)
|
||||
|
||||
//
|
||||
// Computing Unit Class Progress Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_CU_PC_INIT_BEGIN 0x00000000
|
||||
#define EFI_CU_PC_INIT_END 0x00000001
|
||||
|
||||
//
|
||||
// Computing Unit Unspecified Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Computing Unit Host Processor Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_CU_HP_PC_POWER_ON_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CU_HP_PC_CACHE_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_CU_HP_PC_RAM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_CU_HP_PC_MEMORY_CONTROLLER_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_CU_HP_PC_IO_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_CU_HP_PC_BSP_SELECT (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_CU_HP_PC_BSP_RESELECT (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_CU_HP_PC_AP_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_CU_HP_PC_SMM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
|
||||
//
|
||||
// Computing Unit Firmware Processor Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Computing Unit IO Processor Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Computing Unit Cache Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_CU_CACHE_PC_PRESENCE_DETECT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CU_CACHE_PC_CONFIGURATION (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// Computing Unit Memory Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_CU_MEMORY_PC_SPD_READ (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CU_MEMORY_PC_PRESENCE_DETECT (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_CU_MEMORY_PC_TIMING (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_CU_MEMORY_PC_CONFIGURING (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_CU_MEMORY_PC_OPTIMIZING (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_CU_MEMORY_PC_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_CU_MEMORY_PC_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
|
||||
//
|
||||
// Computing Unit Chipset Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Computing Unit Class Error Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_CU_EC_NON_SPECIFIC 0x00000000
|
||||
#define EFI_CU_EC_DISABLED 0x00000001
|
||||
#define EFI_CU_EC_NOT_SUPPORTED 0x00000002
|
||||
#define EFI_CU_EC_NOT_DETECTED 0x00000003
|
||||
#define EFI_CU_EC_NOT_CONFIGURED 0x00000004
|
||||
|
||||
//
|
||||
// Computing Unit Unspecified Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Computing Unit Host Processor Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_CU_HP_EC_INVALID_TYPE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CU_HP_EC_INVALID_SPEED (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_CU_HP_EC_MISMATCH (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_CU_HP_EC_TIMER_EXPIRED (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_CU_HP_EC_SELF_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_CU_HP_EC_INTERNAL (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_CU_HP_EC_THERMAL (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_CU_HP_EC_LOW_VOLTAGE (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_CU_HP_EC_HIGH_VOLTAGE (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_CU_HP_EC_CACHE (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
#define EFI_CU_HP_EC_MICROCODE_UPDATE (EFI_SUBCLASS_SPECIFIC | 0x0000000A)
|
||||
#define EFI_CU_HP_EC_CORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x0000000B)
|
||||
#define EFI_CU_HP_EC_UNCORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x0000000C)
|
||||
#define EFI_CU_HP_EC_NO_MICROCODE_UPDATE (EFI_SUBCLASS_SPECIFIC | 0x0000000D)
|
||||
|
||||
//
|
||||
// Computing Unit Firmware Processor Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_CU_FP_EC_HARD_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CU_FP_EC_SOFT_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_CU_FP_EC_COMM_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
|
||||
//
|
||||
// Computing Unit IO Processor Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Computing Unit Cache Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_CU_CACHE_EC_INVALID_TYPE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CU_CACHE_EC_INVALID_SPEED (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_CU_CACHE_EC_INVALID_SIZE (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_CU_CACHE_EC_MISMATCH (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
|
||||
//
|
||||
// Computing Unit Memory Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_CU_MEMORY_EC_INVALID_TYPE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CU_MEMORY_EC_INVALID_SPEED (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_CU_MEMORY_EC_CORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_CU_MEMORY_EC_UNCORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_CU_MEMORY_EC_SPD_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_CU_MEMORY_EC_INVALID_SIZE (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_CU_MEMORY_EC_MISMATCH (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_CU_MEMORY_EC_S3_RESUME_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_CU_MEMORY_EC_UPDATE_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_CU_MEMORY_EC_NONE_DETECTED (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
#define EFI_CU_MEMORY_EC_NONE_USEFUL (EFI_SUBCLASS_SPECIFIC | 0x0000000A)
|
||||
|
||||
//
|
||||
// Computing Unit Chipset Subclass Error Code definitions.
|
||||
//
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Section 4
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Peripheral Subclass definitions.
|
||||
// Values of 12-127 are reserved for future use by this
|
||||
// specification.
|
||||
// Values of 128-255 are reserved for OEM use.
|
||||
//
|
||||
#define EFI_PERIPHERAL_UNSPECIFIED (EFI_PERIPHERAL | 0x00000000)
|
||||
#define EFI_PERIPHERAL_KEYBOARD (EFI_PERIPHERAL | 0x00010000)
|
||||
#define EFI_PERIPHERAL_MOUSE (EFI_PERIPHERAL | 0x00020000)
|
||||
#define EFI_PERIPHERAL_LOCAL_CONSOLE (EFI_PERIPHERAL | 0x00030000)
|
||||
#define EFI_PERIPHERAL_REMOTE_CONSOLE (EFI_PERIPHERAL | 0x00040000)
|
||||
#define EFI_PERIPHERAL_SERIAL_PORT (EFI_PERIPHERAL | 0x00050000)
|
||||
#define EFI_PERIPHERAL_PARALLEL_PORT (EFI_PERIPHERAL | 0x00060000)
|
||||
#define EFI_PERIPHERAL_FIXED_MEDIA (EFI_PERIPHERAL | 0x00070000)
|
||||
#define EFI_PERIPHERAL_REMOVABLE_MEDIA (EFI_PERIPHERAL | 0x00080000)
|
||||
#define EFI_PERIPHERAL_AUDIO_INPUT (EFI_PERIPHERAL | 0x00090000)
|
||||
#define EFI_PERIPHERAL_AUDIO_OUTPUT (EFI_PERIPHERAL | 0x000A0000)
|
||||
#define EFI_PERIPHERAL_LCD_DEVICE (EFI_PERIPHERAL | 0x000B0000)
|
||||
#define EFI_PERIPHERAL_NETWORK (EFI_PERIPHERAL | 0x000C0000)
|
||||
|
||||
//
|
||||
// Peripheral Class Progress Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_P_PC_INIT 0x00000000
|
||||
#define EFI_P_PC_RESET 0x00000001
|
||||
#define EFI_P_PC_DISABLE 0x00000002
|
||||
#define EFI_P_PC_PRESENCE_DETECT 0x00000003
|
||||
#define EFI_P_PC_ENABLE 0x00000004
|
||||
#define EFI_P_PC_RECONFIG 0x00000005
|
||||
#define EFI_P_PC_DETECTED 0x00000006
|
||||
|
||||
//
|
||||
// Peripheral Class Unspecified Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Keyboard Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_P_KEYBOARD_PC_CLEAR_BUFFER (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_P_KEYBOARD_PC_SELF_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// Peripheral Class Mouse Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_P_MOUSE_PC_SELF_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
|
||||
//
|
||||
// Peripheral Class Local Console Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Remote Console Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Serial Port Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_P_SERIAL_PORT_PC_CLEAR_BUFFER (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
|
||||
//
|
||||
// Peripheral Class Parallel Port Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Fixed Media Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Removable Media Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Audio Input Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Audio Output Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class LCD Device Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Network Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Error Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_P_EC_NON_SPECIFIC 0x00000000
|
||||
#define EFI_P_EC_DISABLED 0x00000001
|
||||
#define EFI_P_EC_NOT_SUPPORTED 0x00000002
|
||||
#define EFI_P_EC_NOT_DETECTED 0x00000003
|
||||
#define EFI_P_EC_NOT_CONFIGURED 0x00000004
|
||||
#define EFI_P_EC_INTERFACE_ERROR 0x00000005
|
||||
#define EFI_P_EC_CONTROLLER_ERROR 0x00000006
|
||||
#define EFI_P_EC_INPUT_ERROR 0x00000007
|
||||
#define EFI_P_EC_OUTPUT_ERROR 0x00000008
|
||||
#define EFI_P_EC_RESOURCE_CONFLICT 0x00000009
|
||||
|
||||
//
|
||||
// Peripheral Class Unspecified Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Keyboard Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_P_KEYBOARD_EC_LOCKED (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_P_KEYBOARD_EC_STUCK_KEY (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// Peripheral Class Mouse Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_P_MOUSE_EC_LOCKED (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
|
||||
//
|
||||
// Peripheral Class Local Console Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Remote Console Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Serial Port Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Parallel Port Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Fixed Media Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Removable Media Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Audio Input Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Audio Output Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class LCD Device Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Peripheral Class Network Subclass Error Code definitions.
|
||||
//
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Section 5
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IO Bus Subclass definitions.
|
||||
// Values of 14-127 are reserved for future use by this
|
||||
// specification.
|
||||
// Values of 128-255 are reserved for OEM use.
|
||||
//
|
||||
#define EFI_IO_BUS_UNSPECIFIED (EFI_IO_BUS | 0x00000000)
|
||||
#define EFI_IO_BUS_PCI (EFI_IO_BUS | 0x00010000)
|
||||
#define EFI_IO_BUS_USB (EFI_IO_BUS | 0x00020000)
|
||||
#define EFI_IO_BUS_IBA (EFI_IO_BUS | 0x00030000)
|
||||
#define EFI_IO_BUS_AGP (EFI_IO_BUS | 0x00040000)
|
||||
#define EFI_IO_BUS_PC_CARD (EFI_IO_BUS | 0x00050000)
|
||||
#define EFI_IO_BUS_LPC (EFI_IO_BUS | 0x00060000)
|
||||
#define EFI_IO_BUS_SCSI (EFI_IO_BUS | 0x00070000)
|
||||
#define EFI_IO_BUS_ATA_ATAPI (EFI_IO_BUS | 0x00080000)
|
||||
#define EFI_IO_BUS_FC (EFI_IO_BUS | 0x00090000)
|
||||
#define EFI_IO_BUS_IP_NETWORK (EFI_IO_BUS | 0x000A0000)
|
||||
#define EFI_IO_BUS_SMBUS (EFI_IO_BUS | 0x000B0000)
|
||||
#define EFI_IO_BUS_I2C (EFI_IO_BUS | 0x000C0000)
|
||||
|
||||
//
|
||||
// IO Bus Class Progress Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_IOB_PC_INIT 0x00000000
|
||||
#define EFI_IOB_PC_RESET 0x00000001
|
||||
#define EFI_IOB_PC_DISABLE 0x00000002
|
||||
#define EFI_IOB_PC_DETECT 0x00000003
|
||||
#define EFI_IOB_PC_ENABLE 0x00000004
|
||||
#define EFI_IOB_PC_RECONFIG 0x00000005
|
||||
#define EFI_IOB_PC_HOTPLUG 0x00000006
|
||||
|
||||
//
|
||||
// IO Bus Class Unspecified Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class PCI Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_IOB_PCI_PC_BUS_ENUM (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_IOB_PCI_PC_RES_ALLOC (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_IOB_PCI_PC_HPC_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
|
||||
//
|
||||
// IO Bus Class USB Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class IBA Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class AGP Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class PC Card Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class LPC Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class SCSI Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class ATA/ATAPI Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_IOB_ATA_BUS_SMART_ENABLE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_IOB_ATA_BUS_SMART_DISABLE (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_IOB_ATA_BUS_SMART_OVERTHRESHOLD (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_IOB_ATA_BUS_SMART_UNDERTHRESHOLD (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
|
||||
//
|
||||
// IO Bus Class FC Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class IP Network Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class SMBUS Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class I2C Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class Error Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_IOB_EC_NON_SPECIFIC 0x00000000
|
||||
#define EFI_IOB_EC_DISABLED 0x00000001
|
||||
#define EFI_IOB_EC_NOT_SUPPORTED 0x00000002
|
||||
#define EFI_IOB_EC_NOT_DETECTED 0x00000003
|
||||
#define EFI_IOB_EC_NOT_CONFIGURED 0x00000004
|
||||
#define EFI_IOB_EC_INTERFACE_ERROR 0x00000005
|
||||
#define EFI_IOB_EC_CONTROLLER_ERROR 0x00000006
|
||||
#define EFI_IOB_EC_READ_ERROR 0x00000007
|
||||
#define EFI_IOB_EC_WRITE_ERROR 0x00000008
|
||||
#define EFI_IOB_EC_RESOURCE_CONFLICT 0x00000009
|
||||
|
||||
//
|
||||
// IO Bus Class Unspecified Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class PCI Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_IOB_PCI_EC_PERR (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_IOB_PCI_EC_SERR (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// IO Bus Class USB Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class IBA Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class AGP Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class PC Card Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class LPC Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class SCSI Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class ATA/ATAPI Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_IOB_ATA_BUS_SMART_NOTSUPPORTED (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_IOB_ATA_BUS_SMART_DISABLED (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// IO Bus Class FC Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class IP Network Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class SMBUS Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// IO Bus Class I2C Subclass Error Code definitions.
|
||||
//
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Section 6
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Software Subclass definitions.
|
||||
// Values of 14-127 are reserved for future use by this
|
||||
// specification.
|
||||
// Values of 128-255 are reserved for OEM use.
|
||||
//
|
||||
#define EFI_SOFTWARE_UNSPECIFIED (EFI_SOFTWARE | 0x00000000)
|
||||
#define EFI_SOFTWARE_SEC (EFI_SOFTWARE | 0x00010000)
|
||||
#define EFI_SOFTWARE_PEI_CORE (EFI_SOFTWARE | 0x00020000)
|
||||
#define EFI_SOFTWARE_PEI_MODULE (EFI_SOFTWARE | 0x00030000)
|
||||
#define EFI_SOFTWARE_DXE_CORE (EFI_SOFTWARE | 0x00040000)
|
||||
#define EFI_SOFTWARE_DXE_BS_DRIVER (EFI_SOFTWARE | 0x00050000)
|
||||
#define EFI_SOFTWARE_DXE_RT_DRIVER (EFI_SOFTWARE | 0x00060000)
|
||||
#define EFI_SOFTWARE_SMM_DRIVER (EFI_SOFTWARE | 0x00070000)
|
||||
#define EFI_SOFTWARE_EFI_APPLICATION (EFI_SOFTWARE | 0x00080000)
|
||||
#define EFI_SOFTWARE_EFI_OS_LOADER (EFI_SOFTWARE | 0x00090000)
|
||||
#define EFI_SOFTWARE_RT (EFI_SOFTWARE | 0x000A0000)
|
||||
#define EFI_SOFTWARE_AL (EFI_SOFTWARE | 0x000B0000)
|
||||
#define EFI_SOFTWARE_EBC_EXCEPTION (EFI_SOFTWARE | 0x000C0000)
|
||||
#define EFI_SOFTWARE_IA32_EXCEPTION (EFI_SOFTWARE | 0x000D0000)
|
||||
#define EFI_SOFTWARE_IPF_EXCEPTION (EFI_SOFTWARE | 0x000E0000)
|
||||
#define EFI_SOFTWARE_PEI_SERVICE (EFI_SOFTWARE | 0x000F0000)
|
||||
#define EFI_SOFTWARE_EFI_BOOT_SERVICE (EFI_SOFTWARE | 0x00100000)
|
||||
#define EFI_SOFTWARE_EFI_RUNTIME_SERVICE (EFI_SOFTWARE | 0x00110000)
|
||||
#define EFI_SOFTWARE_EFI_DXE_SERVICE (EFI_SOFTWARE | 0x00120000)
|
||||
#define EFI_SOFTWARE_X64_EXCEPTION (EFI_SOFTWARE | 0x00130000)
|
||||
|
||||
//
|
||||
// Software Class Progress Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_SW_PC_INIT 0x00000000
|
||||
#define EFI_SW_PC_LOAD 0x00000001
|
||||
#define EFI_SW_PC_INIT_BEGIN 0x00000002
|
||||
#define EFI_SW_PC_INIT_END 0x00000003
|
||||
#define EFI_SW_PC_AUTHENTICATE_BEGIN 0x00000004
|
||||
#define EFI_SW_PC_AUTHENTICATE_END 0x00000005
|
||||
#define EFI_SW_PC_INPUT_WAIT 0x00000006
|
||||
#define EFI_SW_PC_USER_SETUP 0x00000007
|
||||
|
||||
//
|
||||
// Software Class Unspecified Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class SEC Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_SEC_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_SEC_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// Software Class PEI Core Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_PEI_CORE_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_PEI_CORE_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_PEI_CORE_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
|
||||
//
|
||||
// Software Class PEI Module Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_PEIM_PC_RECOVERY_BEGIN (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_PEIM_PC_CAPSULE_LOAD (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_PEIM_PC_CAPSULE_START (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_PEIM_PC_RECOVERY_USER (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_PEIM_PC_RECOVERY_AUTO (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
|
||||
//
|
||||
// Software Class DXE Core Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_DXE_CORE_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_DXE_CORE_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_DXE_CORE_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_DXE_CORE_PC_START_DRIVER (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
|
||||
//
|
||||
// Software Class DXE BS Driver Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_DXE_BS_PC_LEGACY_OPROM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_DXE_BS_PC_LEGACY_BOOT_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_DXE_BS_PC_EXIT_BOOT_SERVICES_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_DXE_BS_PC_VIRTUAL_ADDRESS_CHANGE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
|
||||
//
|
||||
// Software Class DXE RT Driver Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_DXE_RT_PC_S1 (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_DXE_RT_PC_S2 (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_DXE_RT_PC_S3 (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_DXE_RT_PC_S4 (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_DXE_RT_PC_S5 (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
|
||||
//
|
||||
// Software Class SMM Driver Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI Application Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI OS Loader Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI RT Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_RT_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_RT_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_RT_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
|
||||
//
|
||||
// Software Class EFI AL Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_AL_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_AL_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// Software Class EBC Exception Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class IA32 Exception Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class X64 Exception Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class IPF Exception Subclass Progress Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class PEI Services Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_PS_PC_INSTALL_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_PS_PC_REINSTALL_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_PS_PC_LOCATE_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_PS_PC_NOTIFY_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_PS_PC_GET_BOOT_MODE (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_PS_PC_SET_BOOT_MODE (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_PS_PC_GET_HOB_LIST (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_SW_PS_PC_CREATE_HOB (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_SW_PS_PC_FFS_FIND_NEXT_VOLUME (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_SW_PS_PC_FFS_FIND_NEXT_FILE (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
#define EFI_SW_PS_PC_FFS_FIND_SECTION_DATA (EFI_SUBCLASS_SPECIFIC | 0x0000000A)
|
||||
#define EFI_SW_PS_PC_INSTALL_PEI_MEMORY (EFI_SUBCLASS_SPECIFIC | 0x0000000B)
|
||||
#define EFI_SW_PS_PC_ALLOCATE_PAGES (EFI_SUBCLASS_SPECIFIC | 0x0000000C)
|
||||
#define EFI_SW_PS_PC_ALLOCATE_POOL (EFI_SUBCLASS_SPECIFIC | 0x0000000D)
|
||||
#define EFI_SW_PS_PC_COPY_MEM (EFI_SUBCLASS_SPECIFIC | 0x0000000E)
|
||||
#define EFI_SW_PS_PC_SET_MEM (EFI_SUBCLASS_SPECIFIC | 0x0000000F)
|
||||
|
||||
//
|
||||
// Software Class EFI Boot Services Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_BS_PC_RAISE_TPL (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_BS_PC_RESTORE_TPL (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_BS_PC_ALLOCATE_PAGES (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_BS_PC_FREE_PAGES (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_BS_PC_GET_MEMORY_MAP (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_BS_PC_ALLOCATE_POOL (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_BS_PC_FREE_POOL (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_SW_BS_PC_CREATE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_SW_BS_PC_SET_TIMER (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_SW_BS_PC_WAIT_FOR_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
#define EFI_SW_BS_PC_SIGNAL_EVENT (EFI_SUBCLASS_SPECIFIC | 0x0000000A)
|
||||
#define EFI_SW_BS_PC_CLOSE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x0000000B)
|
||||
#define EFI_SW_BS_PC_CHECK_EVENT (EFI_SUBCLASS_SPECIFIC | 0x0000000C)
|
||||
#define EFI_SW_BS_PC_INSTALL_PROTOCOL_INTERFACE (EFI_SUBCLASS_SPECIFIC | 0x0000000D)
|
||||
#define EFI_SW_BS_PC_REINSTALL_PROTOCOL_INTERFACE (EFI_SUBCLASS_SPECIFIC | 0x0000000E)
|
||||
#define EFI_SW_BS_PC_UNINSTALL_PROTOCOL_INTERFACE (EFI_SUBCLASS_SPECIFIC | 0x0000000F)
|
||||
#define EFI_SW_BS_PC_HANDLE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000010)
|
||||
#define EFI_SW_BS_PC_PC_HANDLE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000011)
|
||||
#define EFI_SW_BS_PC_REGISTER_PROTOCOL_NOTIFY (EFI_SUBCLASS_SPECIFIC | 0x00000012)
|
||||
#define EFI_SW_BS_PC_LOCATE_HANDLE (EFI_SUBCLASS_SPECIFIC | 0x00000013)
|
||||
#define EFI_SW_BS_PC_INSTALL_CONFIGURATION_TABLE (EFI_SUBCLASS_SPECIFIC | 0x00000014)
|
||||
#define EFI_SW_BS_PC_LOAD_IMAGE (EFI_SUBCLASS_SPECIFIC | 0x00000015)
|
||||
#define EFI_SW_BS_PC_START_IMAGE (EFI_SUBCLASS_SPECIFIC | 0x00000016)
|
||||
#define EFI_SW_BS_PC_EXIT (EFI_SUBCLASS_SPECIFIC | 0x00000017)
|
||||
#define EFI_SW_BS_PC_UNLOAD_IMAGE (EFI_SUBCLASS_SPECIFIC | 0x00000018)
|
||||
#define EFI_SW_BS_PC_EXIT_BOOT_SERVICES (EFI_SUBCLASS_SPECIFIC | 0x00000019)
|
||||
#define EFI_SW_BS_PC_GET_NEXT_MONOTONIC_COUNT (EFI_SUBCLASS_SPECIFIC | 0x0000001A)
|
||||
#define EFI_SW_BS_PC_STALL (EFI_SUBCLASS_SPECIFIC | 0x0000001B)
|
||||
#define EFI_SW_BS_PC_SET_WATCHDOG_TIMER (EFI_SUBCLASS_SPECIFIC | 0x0000001C)
|
||||
#define EFI_SW_BS_PC_CONNECT_CONTROLLER (EFI_SUBCLASS_SPECIFIC | 0x0000001D)
|
||||
#define EFI_SW_BS_PC_DISCONNECT_CONTROLLER (EFI_SUBCLASS_SPECIFIC | 0x0000001E)
|
||||
#define EFI_SW_BS_PC_OPEN_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x0000001F)
|
||||
#define EFI_SW_BS_PC_CLOSE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000020)
|
||||
#define EFI_SW_BS_PC_OPEN_PROTOCOL_INFORMATION (EFI_SUBCLASS_SPECIFIC | 0x00000021)
|
||||
#define EFI_SW_BS_PC_PROTOCOLS_PER_HANDLE (EFI_SUBCLASS_SPECIFIC | 0x00000022)
|
||||
#define EFI_SW_BS_PC_LOCATE_HANDLE_BUFFER (EFI_SUBCLASS_SPECIFIC | 0x00000023)
|
||||
#define EFI_SW_BS_PC_LOCATE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000024)
|
||||
#define EFI_SW_BS_PC_INSTALL_MULTIPLE_INTERFACES (EFI_SUBCLASS_SPECIFIC | 0x00000025)
|
||||
#define EFI_SW_BS_PC_UNINSTALL_MULTIPLE_INTERFACES (EFI_SUBCLASS_SPECIFIC | 0x00000026)
|
||||
#define EFI_SW_BS_PC_CALCULATE_CRC_32 (EFI_SUBCLASS_SPECIFIC | 0x00000027)
|
||||
#define EFI_SW_BS_PC_COPY_MEM (EFI_SUBCLASS_SPECIFIC | 0x00000028)
|
||||
#define EFI_SW_BS_PC_SET_MEM (EFI_SUBCLASS_SPECIFIC | 0x00000029)
|
||||
|
||||
//
|
||||
// Software Class EFI Runtime Services Subclass Progress Code definitions.
|
||||
//
|
||||
#define EFI_SW_RS_PC_GET_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_RS_PC_SET_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_RS_PC_GET_WAKEUP_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_RS_PC_SET_WAKEUP_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_RS_PC_SET_VIRTUAL_ADDRESS_MAP (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_RS_PC_CONVERT_POINTER (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_RS_PC_GET_VARIABLE (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_SW_RS_PC_GET_NEXT_VARIABLE_NAME (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_SW_RS_PC_SET_VARIABLE (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_SW_RS_PC_GET_NEXT_HIGH_MONOTONIC_COUNT (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
#define EFI_SW_RS_PC_RESET_SYSTEM (EFI_SUBCLASS_SPECIFIC | 0x0000000A)
|
||||
|
||||
//
|
||||
// Software Class EFI DXE Services Subclass Progress Code definitions
|
||||
//
|
||||
#define EFI_SW_DS_PC_ADD_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_DS_PC_ALLOCATE_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_DS_PC_FREE_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_DS_PC_REMOVE_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_DS_PC_GET_MEMORY_SPACE_DESCRIPTOR (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_DS_PC_SET_MEMORY_SPACE_ATTRIBUTES (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_DS_PC_GET_MEMORY_SPACE_MAP (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_SW_DS_PC_ADD_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_SW_DS_PC_ALLOCATE_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_SW_DS_PC_FREE_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
#define EFI_SW_DS_PC_REMOVE_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x0000000A)
|
||||
#define EFI_SW_DS_PC_GET_IO_SPACE_DESCRIPTOR (EFI_SUBCLASS_SPECIFIC | 0x0000000B)
|
||||
#define EFI_SW_DS_PC_GET_IO_SPACE_MAP (EFI_SUBCLASS_SPECIFIC | 0x0000000C)
|
||||
#define EFI_SW_DS_PC_DISPATCH (EFI_SUBCLASS_SPECIFIC | 0x0000000D)
|
||||
#define EFI_SW_DS_PC_SCHEDULE (EFI_SUBCLASS_SPECIFIC | 0x0000000E)
|
||||
#define EFI_SW_DS_PC_TRUST (EFI_SUBCLASS_SPECIFIC | 0x0000000F)
|
||||
#define EFI_SW_DS_PC_PROCESS_FIRMWARE_VOLUME (EFI_SUBCLASS_SPECIFIC | 0x00000010)
|
||||
|
||||
//
|
||||
// Software Class Error Code definitions.
|
||||
// These are shared by all subclasses.
|
||||
//
|
||||
#define EFI_SW_EC_NON_SPECIFIC 0x00000000
|
||||
#define EFI_SW_EC_LOAD_ERROR 0x00000001
|
||||
#define EFI_SW_EC_INVALID_PARAMETER 0x00000002
|
||||
#define EFI_SW_EC_UNSUPPORTED 0x00000003
|
||||
#define EFI_SW_EC_INVALID_BUFFER 0x00000004
|
||||
#define EFI_SW_EC_OUT_OF_RESOURCES 0x00000005
|
||||
#define EFI_SW_EC_ABORTED 0x00000006
|
||||
#define EFI_SW_EC_ILLEGAL_SOFTWARE_STATE 0x00000007
|
||||
#define EFI_SW_EC_ILLEGAL_HARDWARE_STATE 0x00000008
|
||||
#define EFI_SW_EC_START_ERROR 0x00000009
|
||||
#define EFI_SW_EC_BAD_DATE_TIME 0x0000000A
|
||||
#define EFI_SW_EC_CFG_INVALID 0x0000000B
|
||||
#define EFI_SW_EC_CFG_CLR_REQUEST 0x0000000C
|
||||
#define EFI_SW_EC_CFG_DEFAULT 0x0000000D
|
||||
#define EFI_SW_EC_PWD_INVALID 0x0000000E
|
||||
#define EFI_SW_EC_PWD_CLR_REQUEST 0x0000000F
|
||||
#define EFI_SW_EC_PWD_CLEARED 0x00000010
|
||||
#define EFI_SW_EC_EVENT_LOG_FULL 0x00000011
|
||||
|
||||
//
|
||||
// Software Class Unspecified Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class SEC Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class PEI Core Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_SW_PEI_CORE_EC_DXE_CORRUPT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
|
||||
//
|
||||
// Software Class PEI Module Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_SW_PEIM_EC_NO_RECOVERY_CAPSULE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_PEIM_EC_INVALID_CAPSULE_DESCRIPTOR (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
|
||||
//
|
||||
// Software Class DXE Core Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_SW_CSM_LEGACY_ROM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
//
|
||||
// Software Class DXE Boot Service Driver Subclass Error Code definitions.
|
||||
//
|
||||
#define EFI_SW_DXE_BS_EC_LEGACY_OPROM_NO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
|
||||
//
|
||||
// Software Class DXE Runtime Service Driver Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class SMM Driver Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI Application Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI OS Loader Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI RT Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI AL Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EBC Exception Subclass Error Code definitions.
|
||||
// These exceptions are derived from the debug protocol definitions in the EFI
|
||||
// specification.
|
||||
//
|
||||
#define EFI_SW_EC_EBC_UNDEFINED (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_UNDEFINED)
|
||||
#define EFI_SW_EC_EBC_DIVIDE_ERROR (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_DIVIDE_ERROR)
|
||||
#define EFI_SW_EC_EBC_DEBUG (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_DEBUG)
|
||||
#define EFI_SW_EC_EBC_BREAKPOINT (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_BREAKPOINT)
|
||||
#define EFI_SW_EC_EBC_OVERFLOW (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_OVERFLOW)
|
||||
#define EFI_SW_EC_EBC_INVALID_OPCODE (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_INVALID_OPCODE)
|
||||
#define EFI_SW_EC_EBC_STACK_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_STACK_FAULT)
|
||||
#define EFI_SW_EC_EBC_ALIGNMENT_CHECK (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_ALIGNMENT_CHECK)
|
||||
#define EFI_SW_EC_EBC_INSTRUCTION_ENCODING (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_INSTRUCTION_ENCODING)
|
||||
#define EFI_SW_EC_EBC_BAD_BREAK (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_BAD_BREAK)
|
||||
#define EFI_SW_EC_EBC_STEP (EFI_SUBCLASS_SPECIFIC | EXCEPT_EBC_STEP)
|
||||
|
||||
//
|
||||
// Software Class IA32 Exception Subclass Error Code definitions.
|
||||
// These exceptions are derived from the debug protocol definitions in the EFI
|
||||
// specification.
|
||||
//
|
||||
#define EFI_SW_EC_IA32_DIVIDE_ERROR (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_DIVIDE_ERROR)
|
||||
#define EFI_SW_EC_IA32_DEBUG (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_DEBUG)
|
||||
#define EFI_SW_EC_IA32_NMI (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_NMI)
|
||||
#define EFI_SW_EC_IA32_BREAKPOINT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_BREAKPOINT)
|
||||
#define EFI_SW_EC_IA32_OVERFLOW (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_OVERFLOW)
|
||||
#define EFI_SW_EC_IA32_BOUND (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_BOUND)
|
||||
#define EFI_SW_EC_IA32_INVALID_OPCODE (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_INVALID_OPCODE)
|
||||
#define EFI_SW_EC_IA32_DOUBLE_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_DOUBLE_FAULT)
|
||||
#define EFI_SW_EC_IA32_INVALID_TSS (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_INVALID_TSS)
|
||||
#define EFI_SW_EC_IA32_SEG_NOT_PRESENT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_SEG_NOT_PRESENT)
|
||||
#define EFI_SW_EC_IA32_STACK_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_STACK_FAULT)
|
||||
#define EFI_SW_EC_IA32_GP_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_GP_FAULT)
|
||||
#define EFI_SW_EC_IA32_PAGE_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_PAGE_FAULT)
|
||||
#define EFI_SW_EC_IA32_FP_ERROR (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_FP_ERROR)
|
||||
#define EFI_SW_EC_IA32_ALIGNMENT_CHECK (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_ALIGNMENT_CHECK)
|
||||
#define EFI_SW_EC_IA32_MACHINE_CHECK (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_MACHINE_CHECK)
|
||||
#define EFI_SW_EC_IA32_SIMD (EFI_SUBCLASS_SPECIFIC | EXCEPT_IA32_SIMD)
|
||||
|
||||
//
|
||||
// Software Class X64 Exception Subclass Error Code definitions.
|
||||
// These exceptions are derived from the debug protocol definitions in the EFI
|
||||
// specification.
|
||||
//
|
||||
#define EFI_SW_EC_X64_DIVIDE_ERROR (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_DIVIDE_ERROR)
|
||||
#define EFI_SW_EC_X64_DEBUG (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_DEBUG)
|
||||
#define EFI_SW_EC_X64_NMI (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_NMI)
|
||||
#define EFI_SW_EC_X64_BREAKPOINT (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_BREAKPOINT)
|
||||
#define EFI_SW_EC_X64_OVERFLOW (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_OVERFLOW)
|
||||
#define EFI_SW_EC_X64_BOUND (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_BOUND)
|
||||
#define EFI_SW_EC_X64_INVALID_OPCODE (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_INVALID_OPCODE)
|
||||
#define EFI_SW_EC_X64_DOUBLE_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_DOUBLE_FAULT)
|
||||
#define EFI_SW_EC_X64_INVALID_TSS (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_INVALID_TSS)
|
||||
#define EFI_SW_EC_X64_SEG_NOT_PRESENT (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_SEG_NOT_PRESENT)
|
||||
#define EFI_SW_EC_X64_STACK_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_STACK_FAULT)
|
||||
#define EFI_SW_EC_X64_GP_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_GP_FAULT)
|
||||
#define EFI_SW_EC_X64_PAGE_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_PAGE_FAULT)
|
||||
#define EFI_SW_EC_X64_FP_ERROR (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_FP_ERROR)
|
||||
#define EFI_SW_EC_X64_ALIGNMENT_CHECK (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_ALIGNMENT_CHECK)
|
||||
#define EFI_SW_EC_X64_MACHINE_CHECK (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_MACHINE_CHECK)
|
||||
#define EFI_SW_EC_X64_SIMD (EFI_SUBCLASS_SPECIFIC | EXCEPT_X64_SIMD)
|
||||
|
||||
//
|
||||
// Software Class IPF Exception Subclass Error Code definitions.
|
||||
// These exceptions are derived from the debug protocol definitions in the EFI
|
||||
// specification.
|
||||
//
|
||||
#define EFI_SW_EC_IPF_ALT_DTLB (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_ALT_DTLB)
|
||||
#define EFI_SW_EC_IPF_DNESTED_TLB (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_DNESTED_TLB)
|
||||
#define EFI_SW_EC_IPF_BREAKPOINT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_BREAKPOINT)
|
||||
#define EFI_SW_EC_IPF_EXTERNAL_INTERRUPT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_EXTERNAL_INTERRUPT)
|
||||
#define EFI_SW_EC_IPF_GEN_EXCEPT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_GEN_EXCEPT)
|
||||
#define EFI_SW_EC_IPF_NAT_CONSUMPTION (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_NAT_CONSUMPTION)
|
||||
#define EFI_SW_EC_IPF_DEBUG_EXCEPT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_DEBUG_EXCEPT)
|
||||
#define EFI_SW_EC_IPF_UNALIGNED_ACCESS (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_UNALIGNED_ACCESS)
|
||||
#define EFI_SW_EC_IPF_FP_FAULT (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_FP_FAULT)
|
||||
#define EFI_SW_EC_IPF_FP_TRAP (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_FP_TRAP)
|
||||
#define EFI_SW_EC_IPF_TAKEN_BRANCH (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_TAKEN_BRANCH)
|
||||
#define EFI_SW_EC_IPF_SINGLE_STEP (EFI_SUBCLASS_SPECIFIC | EXCEPT_IPF_SINGLE_STEP)
|
||||
|
||||
|
||||
//
|
||||
// Software Class PEI Service Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI Boot Service Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI Runtime Service Subclass Error Code definitions.
|
||||
//
|
||||
//
|
||||
// Software Class EFI DXE Service Subclass Error Code definitions.
|
||||
//
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Section 7
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Debug Code definitions for all classes and subclass
|
||||
// Only one debug code is defined at this point and should
|
||||
// be used for anything that gets sent to debug stream.
|
||||
//
|
||||
#define EFI_DC_UNSPECIFIED 0x0
|
||||
|
||||
#endif
|
@@ -0,0 +1,433 @@
|
||||
/** @file
|
||||
This file defines the data structures to support Status Code Data.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name: FrameworkStatusCodeDataTypeId.h
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from Framework of EFI Status Code Spec
|
||||
Version 0.92.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __FRAMEWORK_STATUS_CODE_DATA_TYPE_ID_H__
|
||||
#define __FRAMEWORK_STATUS_CODE_DATA_TYPE_ID_H__
|
||||
|
||||
#include <Common/DataHubRecords.h>
|
||||
#include <Protocol/DebugSupport.h>
|
||||
|
||||
///
|
||||
/// The size of string
|
||||
///
|
||||
#define EFI_STATUS_CODE_DATA_MAX_STRING_SIZE 150
|
||||
|
||||
///
|
||||
/// This is the max data size including all the headers which can be passed
|
||||
/// as Status Code data. This data should be multiple of 8 byte
|
||||
/// to avoid any kind of boundary issue. Also, sum of this data size (inclusive
|
||||
/// of size of EFI_STATUS_CODE_DATA should not exceed the max record size of
|
||||
/// data hub
|
||||
///
|
||||
#define EFI_STATUS_CODE_DATA_MAX_SIZE 200
|
||||
|
||||
#pragma pack(1)
|
||||
typedef enum {
|
||||
EfiStringAscii,
|
||||
EfiStringUnicode,
|
||||
EfiStringToken
|
||||
} EFI_STRING_TYPE;
|
||||
|
||||
typedef struct {
|
||||
EFI_HII_HANDLE Handle;
|
||||
STRING_REF Token;
|
||||
} EFI_STATUS_CODE_STRING_TOKEN;
|
||||
|
||||
typedef union {
|
||||
CHAR8 *Ascii;
|
||||
CHAR16 *Unicode;
|
||||
EFI_STATUS_CODE_STRING_TOKEN Hii;
|
||||
} EFI_STATUS_CODE_STRING;
|
||||
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_STRING_TYPE StringType;
|
||||
EFI_STATUS_CODE_STRING String;
|
||||
} EFI_STATUS_CODE_STRING_DATA;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
UINT32 ErrorLevel;
|
||||
//
|
||||
// 12 * sizeof (UINT64) Var Arg stack
|
||||
//
|
||||
// ascii DEBUG () Format string
|
||||
//
|
||||
} EFI_DEBUG_INFO;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
//
|
||||
// declaration for EFI_EXP_DATA. This may change
|
||||
//
|
||||
// typedef UINTN EFI_EXP_DATA;
|
||||
|
||||
///
|
||||
/// Voltage Extended Error Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_EXP_BASE10_DATA Voltage;
|
||||
EFI_EXP_BASE10_DATA Threshold;
|
||||
} EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_EXP_BASE10_DATA Voltage;
|
||||
EFI_EXP_BASE10_DATA Threshold;
|
||||
} EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Microcode Update Extended Error Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Version;
|
||||
} EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Version;
|
||||
} EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Asynchronous Timer Extended Error Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_EXP_BASE10_DATA TimerLimit;
|
||||
} EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_EXP_BASE10_DATA TimerLimit;
|
||||
} EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Host Processor Mismatch Extended Error Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Instance;
|
||||
UINT16 Attributes;
|
||||
} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Instance;
|
||||
UINT16 Attributes;
|
||||
} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA_PAYLOAD;
|
||||
|
||||
//
|
||||
// EFI_COMPUTING_UNIT_MISMATCH_ATTRIBUTES
|
||||
// All other attributes are reserved for future use and
|
||||
// must be initialized to 0.
|
||||
//
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_SPEED 0x0001
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_FSB_SPEED 0x0002
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_FAMILY 0x0004
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_MODEL 0x0008
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_STEPPING 0x0010
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_CACHE_SIZE 0x0020
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_OEM1 0x1000
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_OEM2 0x2000
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_OEM3 0x4000
|
||||
#define EFI_COMPUTING_UNIT_MISMATCH_OEM4 0x8000
|
||||
|
||||
///
|
||||
/// Thermal Extended Error Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_EXP_BASE10_DATA Temperature;
|
||||
EFI_EXP_BASE10_DATA Threshold;
|
||||
} EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_EXP_BASE10_DATA Temperature;
|
||||
EFI_EXP_BASE10_DATA Threshold;
|
||||
} EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Processor Disabled Extended Error Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Cause;
|
||||
BOOLEAN SoftwareDisabled;
|
||||
} EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Cause;
|
||||
BOOLEAN SoftwareDisabled;
|
||||
} EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA_PAYLOAD;
|
||||
|
||||
typedef enum {
|
||||
EfiInitCacheDataOnly,
|
||||
EfiInitCacheInstrOnly,
|
||||
EfiInitCacheBoth,
|
||||
EfiInitCacheUnspecified
|
||||
} EFI_INIT_CACHE_TYPE;
|
||||
|
||||
///
|
||||
/// Embedded cache init extended data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Level;
|
||||
EFI_INIT_CACHE_TYPE Type;
|
||||
} EFI_CACHE_INIT_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Level;
|
||||
EFI_INIT_CACHE_TYPE Type;
|
||||
} EFI_CACHE_INIT_DATA_PAYLOAD;
|
||||
|
||||
//
|
||||
// Memory Extended Error Data
|
||||
//
|
||||
|
||||
///
|
||||
/// Memory Error Granularity Definition
|
||||
///
|
||||
typedef UINT8 EFI_MEMORY_ERROR_GRANULARITY;
|
||||
|
||||
///
|
||||
/// Memory Error Operation Definition
|
||||
///
|
||||
typedef UINT8 EFI_MEMORY_ERROR_OPERATION;
|
||||
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_MEMORY_ERROR_GRANULARITY Granularity;
|
||||
EFI_MEMORY_ERROR_OPERATION Operation;
|
||||
UINTN Syndrome;
|
||||
EFI_PHYSICAL_ADDRESS Address;
|
||||
UINTN Resolution;
|
||||
} EFI_MEMORY_EXTENDED_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_MEMORY_ERROR_GRANULARITY Granularity;
|
||||
EFI_MEMORY_ERROR_OPERATION Operation;
|
||||
UINTN Syndrome;
|
||||
EFI_PHYSICAL_ADDRESS Address;
|
||||
UINTN Resolution;
|
||||
} EFI_MEMORY_EXTENDED_ERROR_DATA_PAYLOAD;
|
||||
|
||||
//
|
||||
// Memory Error Granularities
|
||||
//
|
||||
#define EFI_MEMORY_ERROR_OTHER 0x01
|
||||
#define EFI_MEMORY_ERROR_UNKNOWN 0x02
|
||||
#define EFI_MEMORY_ERROR_DEVICE 0x03
|
||||
#define EFI_MEMORY_ERROR_PARTITION 0x04
|
||||
|
||||
//
|
||||
// Memory Error Operations
|
||||
//
|
||||
#define EFI_MEMORY_OPERATION_OTHER 0x01
|
||||
#define EFI_MEMORY_OPERATION_UNKNOWN 0x02
|
||||
#define EFI_MEMORY_OPERATION_READ 0x03
|
||||
#define EFI_MEMORY_OPERATION_WRITE 0x04
|
||||
#define EFI_MEMORY_OPERATION_PARTIAL_WRITE 0x05
|
||||
|
||||
//
|
||||
// Define shorthands to describe Group Operations
|
||||
// Many memory init operations are essentially group
|
||||
// operations.
|
||||
|
||||
/// A shorthand to describe that the operation is performed
|
||||
/// on multiple devices within the array
|
||||
///
|
||||
#define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe
|
||||
///
|
||||
/// A shorthand to describe that the operation is performed on all devices within the array
|
||||
///
|
||||
#define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff
|
||||
///
|
||||
/// A shorthand to describe that the operation is performed on multiple arrays
|
||||
///
|
||||
#define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe
|
||||
///
|
||||
/// A shorthand to describe that the operation is performed on all the arrays
|
||||
///
|
||||
#define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff
|
||||
|
||||
//
|
||||
// DIMM number
|
||||
//
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT16 Array;
|
||||
UINT16 Device;
|
||||
} EFI_STATUS_CODE_DIMM_NUMBER;
|
||||
|
||||
typedef struct {
|
||||
UINT16 Array;
|
||||
UINT16 Device;
|
||||
} EFI_STATUS_CODE_DIMM_NUMBER_PAYLOAD;
|
||||
#pragma pack()
|
||||
|
||||
///
|
||||
/// Memory Module Mismatch Extended Error Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_STATUS_CODE_DIMM_NUMBER Instance;
|
||||
} EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DIMM_NUMBER Instance;
|
||||
} EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Memory Range Extended Data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_PHYSICAL_ADDRESS Start;
|
||||
EFI_PHYSICAL_ADDRESS Length;
|
||||
} EFI_MEMORY_RANGE_EXTENDED_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS Start;
|
||||
EFI_PHYSICAL_ADDRESS Length;
|
||||
} EFI_MEMORY_RANGE_EXTENDED_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Device handle Extended Data. Used for many
|
||||
/// errors and progress codes to point to the device.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_HANDLE Handle;
|
||||
} EFI_DEVICE_HANDLE_EXTENDED_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT8 *DevicePath;
|
||||
} EFI_DEVICE_PATH_EXTENDED_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_HANDLE ControllerHandle;
|
||||
EFI_HANDLE DriverBindingHandle;
|
||||
UINT16 DevicePathSize;
|
||||
UINT8 *RemainingDevicePath;
|
||||
} EFI_STATUS_CODE_START_EXTENDED_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_HANDLE Handle;
|
||||
} EFI_DEVICE_HANDLE_EXTENDED_DATA_PAYLOAD;
|
||||
|
||||
typedef struct {
|
||||
UINT8 *DevicePath;
|
||||
} EFI_DEVICE_PATH_EXTENDED_DATA_PAYLOAD;
|
||||
|
||||
typedef struct {
|
||||
EFI_HANDLE ControllerHandle;
|
||||
EFI_HANDLE DriverBindingHandle;
|
||||
UINT16 DevicePathSize;
|
||||
UINT8 *RemainingDevicePath;
|
||||
} EFI_STATUS_CODE_START_EXTENDED_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Resource Allocation Failure Extended Error Data
|
||||
///
|
||||
|
||||
/*
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
UINT32 Bar;
|
||||
VOID *ReqRes;
|
||||
VOID *AllocRes;
|
||||
} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA;
|
||||
*/
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Bar;
|
||||
UINT16 DevicePathSize;
|
||||
UINT16 ReqResSize;
|
||||
UINT16 AllocResSize;
|
||||
UINT8 *DevicePath;
|
||||
UINT8 *ReqRes;
|
||||
UINT8 *AllocRes;
|
||||
} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Bar;
|
||||
UINT16 DevicePathSize;
|
||||
UINT16 ReqResSize;
|
||||
UINT16 AllocResSize;
|
||||
UINT8 *DevicePath;
|
||||
UINT8 *ReqRes;
|
||||
UINT8 *AllocRes;
|
||||
} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Extended Error Data for Assert
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 LineNumber;
|
||||
UINT32 FileNameSize;
|
||||
EFI_STATUS_CODE_STRING_DATA *FileName;
|
||||
} EFI_DEBUG_ASSERT_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 LineNumber;
|
||||
UINT32 FileNameSize;
|
||||
EFI_STATUS_CODE_STRING_DATA *FileName;
|
||||
} EFI_DEBUG_ASSERT_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// System Context Data EBC/IA32/IPF
|
||||
///
|
||||
typedef union {
|
||||
EFI_SYSTEM_CONTEXT_EBC SystemContextEbc;
|
||||
EFI_SYSTEM_CONTEXT_IA32 SystemContextIa32;
|
||||
EFI_SYSTEM_CONTEXT_IPF SystemContextIpf;
|
||||
} EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT;
|
||||
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context;
|
||||
} EFI_STATUS_CODE_EXCEP_EXTENDED_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context;
|
||||
} EFI_STATUS_CODE_EXCEP_EXTENDED_DATA_PAYLOAD;
|
||||
|
||||
///
|
||||
/// Legacy Oprom extended data
|
||||
///
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_HANDLE DeviceHandle;
|
||||
EFI_PHYSICAL_ADDRESS RomImageBase;
|
||||
} EFI_LEGACY_OPROM_EXTENDED_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_HANDLE DeviceHandle;
|
||||
EFI_PHYSICAL_ADDRESS RomImageBase;
|
||||
} EFI_LEGACY_OPROM_EXTENDED_DATA_PAYLOAD;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user