Add in the 1st version of ECP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2832 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
AcpiTableStorage.c
|
||||
|
||||
Abstract:
|
||||
|
||||
The filename of the Acpi table storage file.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (AcpiTableStorage)
|
||||
|
||||
EFI_GUID gEfiAcpiTableStorageGuid = EFI_ACPI_TABLE_STORAGE_GUID;
|
||||
|
||||
EFI_GUID_STRING (&gEfiAcpiTableStorageGuid, "ACPI Table Storage File Name",
|
||||
"Tiano ACPI 2.0 Table Storage file name GUID");
|
@@ -0,0 +1,32 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
AcpiTableStorage.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID for the ACPI Table Storage filename.
|
||||
|
||||
This GUID is defined in the Tiano ACPI Table Storage EPS.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _ACPI_TABLE_STORAGE_H_
|
||||
#define _ACPI_TABLE_STORAGE_H_
|
||||
|
||||
#define EFI_ACPI_TABLE_STORAGE_GUID \
|
||||
{ 0x7e374e25, 0x8e01, 0x4fee, 0x87, 0xf2, 0x39, 0xc, 0x23, 0xc6, 0x6, 0xcd }
|
||||
|
||||
extern EFI_GUID gEfiAcpiTableStorageGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Apriori.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used as an FV filename for A Priori file. The A Priori file contains a
|
||||
list of FV filenames that the DXE dispatcher will schedule reguardless of
|
||||
the dependency grammer.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (Apriori)
|
||||
|
||||
EFI_GUID gAprioriGuid = EFI_APRIORI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gAprioriGuid, "Apriori File Name", "Apriori File containing FV GUIDs");
|
@@ -0,0 +1,34 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Apriori.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used as an FV filename for A Priori file. The A Priori file contains a
|
||||
list of FV filenames that the DXE dispatcher will schedule reguardless of
|
||||
the dependency grammer.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _APRIORI_GUID_H_
|
||||
#define _APRIORI_GUID_H_
|
||||
|
||||
#define EFI_APRIORI_GUID \
|
||||
{ \
|
||||
0xfc510ee7, 0xffdc, 0x11d4, 0xbd, 0x41, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 \
|
||||
}
|
||||
|
||||
extern EFI_GUID gAprioriGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,51 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DataHubRecords.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This file defines GUIDs and associated data structures for records
|
||||
posted to the Data Hub.
|
||||
The producers of these records use these definitions to construct
|
||||
records.
|
||||
The consumers of these records use these definitions to retrieve,
|
||||
filter and parse records.
|
||||
|
||||
For more information please look at DataHub.doc
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (DataHubRecords)
|
||||
|
||||
EFI_GUID gProcessorProducerGuid = EFI_PROCESSOR_PRODUCER_GUID;
|
||||
|
||||
EFI_GUID gProcessorSubClassName = EFI_PROCESSOR_SUBCLASS_GUID;
|
||||
|
||||
EFI_GUID gCacheSubClassName = EFI_CACHE_SUBCLASS_GUID;
|
||||
|
||||
EFI_GUID gMiscProducerGuid = EFI_MISC_PRODUCER_GUID;
|
||||
EFI_GUID gMiscSubClassName = EFI_MISC_SUBCLASS_GUID;
|
||||
EFI_GUID gEfiMiscSubClassGuid = EFI_MISC_SUBCLASS_GUID;
|
||||
|
||||
|
||||
EFI_GUID gMemoryProducerGuid = EFI_MEMORY_PRODUCER_GUID;
|
||||
|
||||
EFI_GUID gEfiMemorySubClassGuid = EFI_MEMORY_SUBCLASS_GUID;
|
||||
|
||||
|
||||
|
||||
/* eof - DataHubRecords.c */
|
@@ -0,0 +1,109 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DataHubRecords.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This file defines GUIDs and associated data structures for records
|
||||
posted to the Data Hub.
|
||||
The producers of these records use these definitions to construct
|
||||
records.
|
||||
The consumers of these records use these definitions to retrieve,
|
||||
filter and parse records.
|
||||
|
||||
For more information please look at DataHub.doc
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DATAHUB_RECORDS_H_
|
||||
#define _DATAHUB_RECORDS_H_
|
||||
|
||||
|
||||
#include "EfiInternalFormRepresentation.h"
|
||||
#include "DataHubSubClass.h"
|
||||
#include "DataHubSubClassProcessor.h"
|
||||
#include "DataHubSubClassCache.h"
|
||||
#include "DataHubSubClassMemory.h"
|
||||
#include "DataHubSubClassMisc.h"
|
||||
|
||||
/*++
|
||||
BEGIN: Processor records definitions
|
||||
--*/
|
||||
|
||||
extern EFI_GUID gProcessorProducerGuid;
|
||||
|
||||
#define EFI_PROCESSOR_PRODUCER_GUID \
|
||||
{ 0x1bf06aea, 0x5bec, 0x4a8d, 0x95, 0x76, 0x74, 0x9b, 0x09, 0x56, 0x2d, 0x30 }
|
||||
|
||||
|
||||
extern EFI_GUID gProcessorSubClassName;
|
||||
|
||||
|
||||
extern EFI_GUID gCacheSubClassName;
|
||||
|
||||
|
||||
extern EFI_GUID gMiscSubClassName;
|
||||
|
||||
/*++
|
||||
END: Processor records definitions
|
||||
--*/
|
||||
|
||||
|
||||
|
||||
/*++
|
||||
BEGIN: Memory records definitions
|
||||
--*/
|
||||
|
||||
extern EFI_GUID gMemoryProducerGuid;
|
||||
|
||||
#define EFI_MEMORY_PRODUCER_GUID \
|
||||
{ 0x1d7add6e, 0xb2da, 0x4b0b, 0xb2, 0x9f, 0x49, 0xcb, 0x42, 0xf4, 0x63, 0x56 }
|
||||
|
||||
//
|
||||
// ... need memory sub classes here...
|
||||
//
|
||||
extern EFI_GUID gEfiMemorySubClassGuid;
|
||||
|
||||
|
||||
|
||||
/*++
|
||||
END: Memory records definitions
|
||||
--*/
|
||||
|
||||
|
||||
/*++
|
||||
BEGIN: Misc records definitions
|
||||
--*/
|
||||
|
||||
extern EFI_GUID gMiscProducerGuid;
|
||||
|
||||
#define EFI_MISC_PRODUCER_GUID \
|
||||
{ 0x62512c92, 0x63c4, 0x4d80, 0x82, 0xb1, 0xc1, 0xa4, 0xdc, 0x44, 0x80, 0xe5 }
|
||||
|
||||
|
||||
|
||||
//
|
||||
// ... need misc sub classes here...
|
||||
//
|
||||
extern EFI_GUID gEfiMiscSubClassGuid;
|
||||
|
||||
|
||||
|
||||
|
||||
/*++
|
||||
END: Misc records definitions
|
||||
--*/
|
||||
|
||||
|
||||
#endif
|
@@ -0,0 +1,73 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DataHubSubClass.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Definitions for data hub data records that contains a sub class header
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DATA_HUB_SUBCLASS_H_
|
||||
#define _DATA_HUB_SUBCLASS_H_
|
||||
|
||||
//
|
||||
// Sub Class Header type1
|
||||
//
|
||||
|
||||
#define EFI_SUBCLASS_INSTANCE_RESERVED 0
|
||||
#define EFI_SUBCLASS_INSTANCE_NON_APPLICABLE 0xFFFF //16 bit
|
||||
|
||||
typedef struct {
|
||||
UINT32 Version;
|
||||
UINT32 HeaderSize;
|
||||
UINT16 Instance;
|
||||
UINT16 SubInstance;
|
||||
UINT32 RecordType;
|
||||
} EFI_SUBCLASS_TYPE1_HEADER;
|
||||
|
||||
//
|
||||
// EXP data
|
||||
//
|
||||
|
||||
typedef struct {
|
||||
INT16 Value;
|
||||
INT16 Exponent;
|
||||
} EFI_EXP_BASE10_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT16 Value;
|
||||
UINT16 Exponent;
|
||||
} EFI_EXP_BASE2_DATA;
|
||||
|
||||
//
|
||||
// Inter link data that references another data record
|
||||
//
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID ProducerName;
|
||||
UINT16 Instance;
|
||||
UINT16 SubInstance;
|
||||
} EFI_INTER_LINK_DATA;
|
||||
|
||||
|
||||
//
|
||||
// String Token Definition
|
||||
//
|
||||
#define EFI_STRING_TOKEN UINT16
|
||||
|
||||
|
||||
#endif
|
@@ -0,0 +1,151 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DataHubSubClassCache.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Definitions for Cache sub class data records
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DATAHUB_SUBCLASS_CACHE_H_
|
||||
#define _DATAHUB_SUBCLASS_CACHE_H_
|
||||
|
||||
#define EFI_CACHE_SUBCLASS_VERSION 0x00010000
|
||||
|
||||
#define EFI_CACHE_SUBCLASS_GUID \
|
||||
{ 0x7f0013a7, 0xdc79, 0x4b22, 0x80, 0x99, 0x11, 0xf7, 0x5f, 0xdc, 0x82, 0x9d }
|
||||
|
||||
typedef EFI_EXP_BASE2_DATA EFI_CACHE_SIZE_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE2_DATA EFI_MAXIMUM_CACHE_SIZE_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA EFI_CACHE_SPEED_DATA;
|
||||
|
||||
typedef STRING_REF EFI_CACHE_SOCKET_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Other :1;
|
||||
UINT32 Unknown :1;
|
||||
UINT32 NonBurst :1;
|
||||
UINT32 Burst :1;
|
||||
UINT32 PipelineBurst :1;
|
||||
UINT32 Asynchronous :1;
|
||||
UINT32 Synchronous :1;
|
||||
UINT32 Reserved :25;
|
||||
} EFI_CACHE_SRAM_TYPE_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiCacheErrorOther = 1,
|
||||
EfiCacheErrorUnknown = 2,
|
||||
EfiCacheErrorNone = 3,
|
||||
EfiCacheErrorParity = 4,
|
||||
EfiCacheErrorSingleBit = 5,
|
||||
EfiCacheErrorMultiBit = 6
|
||||
} EFI_CACHE_ERROR_TYPE_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiCacheTypeOther = 1,
|
||||
EfiCacheTypeUnknown = 2,
|
||||
EfiCacheTypeInstruction = 3,
|
||||
EfiCacheTypeData = 4,
|
||||
EfiCacheTypeUnified = 5
|
||||
} EFI_CACHE_TYPE_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiCacheAssociativityOther = 1,
|
||||
EfiCacheAssociativityUnknown = 2,
|
||||
EfiCacheAssociativityDirectMapped = 3,
|
||||
EfiCacheAssociativity2Way = 4,
|
||||
EfiCacheAssociativity4Way = 5,
|
||||
EfiCacheAssociativityFully = 6,
|
||||
EfiCacheAssociativity8Way = 7,
|
||||
EfiCacheAssociativity16Way = 8
|
||||
} EFI_CACHE_ASSOCIATIVITY_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Level :3;
|
||||
UINT32 Socketed :1;
|
||||
UINT32 Reserved2 :1;
|
||||
UINT32 Location :2;
|
||||
UINT32 Enable :1;
|
||||
UINT32 OperationalMode :2;
|
||||
UINT32 Reserved1 :22;
|
||||
} EFI_CACHE_CONFIGURATION_DATA;
|
||||
|
||||
#define EFI_CACHE_L1 1
|
||||
#define EFI_CACHE_L2 2
|
||||
#define EFI_CACHE_L3 3
|
||||
#define EFI_CACHE_L4 4
|
||||
#define EFI_CACHE_LMAX EFI_CACHE_L4
|
||||
|
||||
#define EFI_CACHE_SOCKETED 1
|
||||
#define EFI_CACHE_NOT_SOCKETED 0
|
||||
|
||||
typedef enum {
|
||||
EfiCacheInternal = 0,
|
||||
EfiCacheExternal = 1,
|
||||
EfiCacheReserved = 2,
|
||||
EfiCacheUnknown = 3
|
||||
} EFI_CACHE_LOCATION;
|
||||
|
||||
#define EFI_CACHE_ENABLED 1
|
||||
#define EFI_CACHE_DISABLED 0
|
||||
|
||||
typedef enum {
|
||||
EfiCacheWriteThrough = 0,
|
||||
EfiCacheWriteBack = 1,
|
||||
EfiCacheDynamicMode = 2,
|
||||
EfiCacheUnknownMode = 3
|
||||
} EFI_CACHE_OPERATIONAL_MODE;
|
||||
|
||||
|
||||
|
||||
typedef enum {
|
||||
CacheSizeRecordType = 1,
|
||||
MaximumSizeCacheRecordType = 2,
|
||||
CacheSpeedRecordType = 3,
|
||||
CacheSocketRecordType = 4,
|
||||
CacheSramTypeRecordType = 5,
|
||||
CacheInstalledSramTypeRecordType = 6,
|
||||
CacheErrorTypeRecordType = 7,
|
||||
CacheTypeRecordType = 8,
|
||||
CacheAssociativityRecordType = 9,
|
||||
CacheConfigRecordType = 10
|
||||
} EFI_CACHE_VARIABLE_RECORD_TYPE;
|
||||
|
||||
|
||||
typedef union {
|
||||
EFI_CACHE_SIZE_DATA CacheSize;
|
||||
EFI_MAXIMUM_CACHE_SIZE_DATA MaximumCacheSize;
|
||||
EFI_CACHE_SPEED_DATA CacheSpeed;
|
||||
EFI_CACHE_SOCKET_DATA CacheSocket;
|
||||
EFI_CACHE_SRAM_TYPE_DATA CacheSramType;
|
||||
EFI_CACHE_SRAM_TYPE_DATA CacheInstalledSramType;
|
||||
EFI_CACHE_ERROR_TYPE_DATA CacheErrorType;
|
||||
EFI_CACHE_TYPE_DATA CacheType;
|
||||
EFI_CACHE_ASSOCIATIVITY_DATA CacheAssociativity;
|
||||
EFI_CACHE_CONFIGURATION_DATA CacheConfig;
|
||||
EFI_CACHE_ASSOCIATION_DATA CacheAssociation;
|
||||
} EFI_CACHE_VARIABLE_RECORD;
|
||||
|
||||
typedef struct {
|
||||
EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader;
|
||||
EFI_CACHE_VARIABLE_RECORD VariableRecord;
|
||||
} EFI_CACHE_DATA_RECORD;
|
||||
|
||||
|
||||
#endif
|
@@ -0,0 +1,408 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
DataHubSubClassMemory.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Definitions for memory sub class data records
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DATAHUB_SUBCLASS_MEMORY_H_
|
||||
#define _DATAHUB_SUBCLASS_MEMORY_H_
|
||||
|
||||
#include EFI_GUID_DEFINITION (DataHubRecords)
|
||||
|
||||
|
||||
#define EFI_MEMORY_SUBCLASS_GUID \
|
||||
{0x4E8F4EBB, 0x64B9, 0x4e05, 0x9B, 0x18, 0x4C, 0xFE, 0x49, 0x23, 0x50, 0x97}
|
||||
|
||||
#define EFI_MEMORY_SUBCLASS_VERSION 0x0100
|
||||
|
||||
|
||||
#define EFI_MEMORY_SIZE_RECORD_NUMBER 0x00000001
|
||||
|
||||
typedef enum _EFI_MEMORY_REGION_TYPE {
|
||||
EfiMemoryRegionMemory = 0x01,
|
||||
EfiMemoryRegionReserved = 0x02,
|
||||
EfiMemoryRegionAcpi = 0x03,
|
||||
EfiMemoryRegionNvs = 0x04
|
||||
} EFI_MEMORY_REGION_TYPE;
|
||||
|
||||
typedef struct {
|
||||
UINT32 ProcessorNumber;
|
||||
UINT16 StartBusNumber;
|
||||
UINT16 EndBusNumber;
|
||||
EFI_MEMORY_REGION_TYPE MemoryRegionType;
|
||||
EFI_EXP_BASE2_DATA MemorySize;
|
||||
EFI_PHYSICAL_ADDRESS MemoryStartAddress;
|
||||
} EFI_MEMORY_SIZE_DATA;
|
||||
|
||||
|
||||
#define EFI_MEMORY_ARRAY_LOCATION_RECORD_NUMBER 0x00000002
|
||||
|
||||
typedef enum _EFI_MEMORY_ARRAY_LOCATION {
|
||||
EfiMemoryArrayLocationOther = 0x01,
|
||||
EfiMemoryArrayLocationUnknown = 0x02,
|
||||
EfiMemoryArrayLocationSystemBoard = 0x03,
|
||||
EfiMemoryArrayLocationIsaAddonCard = 0x04,
|
||||
EfiMemoryArrayLocationEisaAddonCard = 0x05,
|
||||
EfiMemoryArrayLocationPciAddonCard = 0x06,
|
||||
EfiMemoryArrayLocationMcaAddonCard = 0x07,
|
||||
EfiMemoryArrayLocationPcmciaAddonCard = 0x08,
|
||||
EfiMemoryArrayLocationProprietaryAddonCard = 0x09,
|
||||
EfiMemoryArrayLocationNuBus = 0x0A,
|
||||
EfiMemoryArrayLocationPc98C20AddonCard = 0xA0,
|
||||
EfiMemoryArrayLocationPc98C24AddonCard = 0xA1,
|
||||
EfiMemoryArrayLocationPc98EAddonCard = 0xA2,
|
||||
EfiMemoryArrayLocationPc98LocalBusAddonCard = 0xA3
|
||||
} EFI_MEMORY_ARRAY_LOCATION;
|
||||
|
||||
typedef enum _EFI_MEMORY_ARRAY_USE {
|
||||
EfiMemoryArrayUseOther = 0x01,
|
||||
EfiMemoryArrayUseUnknown = 0x02,
|
||||
EfiMemoryArrayUseSystemMemory = 0x03,
|
||||
EfiMemoryArrayUseVideoMemory = 0x04,
|
||||
EfiMemoryArrayUseFlashMemory = 0x05,
|
||||
EfiMemoryArrayUseNonVolatileRam = 0x06,
|
||||
EfiMemoryArrayUseCacheMemory = 0x07,
|
||||
} EFI_MEMORY_ARRAY_USE;
|
||||
|
||||
typedef enum _EFI_MEMORY_ERROR_CORRECTION {
|
||||
EfiMemoryErrorCorrectionOther = 0x01,
|
||||
EfiMemoryErrorCorrectionUnknown = 0x02,
|
||||
EfiMemoryErrorCorrectionNone = 0x03,
|
||||
EfiMemoryErrorCorrectionParity = 0x04,
|
||||
EfiMemoryErrorCorrectionSingleBitEcc = 0x05,
|
||||
EfiMemoryErrorCorrectionMultiBitEcc = 0x06,
|
||||
EfiMemoryErrorCorrectionCrc = 0x07,
|
||||
} EFI_MEMORY_ERROR_CORRECTION;
|
||||
|
||||
typedef struct {
|
||||
EFI_MEMORY_ARRAY_LOCATION MemoryArrayLocation;
|
||||
EFI_MEMORY_ARRAY_USE MemoryArrayUse;
|
||||
EFI_MEMORY_ERROR_CORRECTION MemoryErrorCorrection;
|
||||
UINT32 MaximumMemoryCapacity;
|
||||
UINT16 NumberMemoryDevices;
|
||||
} EFI_MEMORY_ARRAY_LOCATION_DATA;
|
||||
|
||||
|
||||
#define EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER 0x00000003
|
||||
|
||||
typedef enum _EFI_MEMORY_FORM_FACTOR {
|
||||
EfiMemoryFormFactorOther = 0x01,
|
||||
EfiMemoryFormFactorUnknown = 0x02,
|
||||
EfiMemoryFormFactorSimm = 0x03,
|
||||
EfiMemoryFormFactorSip = 0x04,
|
||||
EfiMemoryFormFactorChip = 0x05,
|
||||
EfiMemoryFormFactorDip = 0x06,
|
||||
EfiMemoryFormFactorZip = 0x07,
|
||||
EfiMemoryFormFactorProprietaryCard = 0x08,
|
||||
EfiMemoryFormFactorDimm = 0x09,
|
||||
EfiMemoryFormFactorTsop = 0x0A,
|
||||
EfiMemoryFormFactorRowOfChips = 0x0B,
|
||||
EfiMemoryFormFactorRimm = 0x0C,
|
||||
EfiMemoryFormFactorSodimm = 0x0D,
|
||||
EfiMemoryFormFactorSrimm = 0x0E,
|
||||
EfiMemoryFormFactorFbDimm = 0x0F
|
||||
} EFI_MEMORY_FORM_FACTOR;
|
||||
|
||||
typedef enum _EFI_MEMORY_ARRAY_TYPE {
|
||||
EfiMemoryTypeOther = 0x01,
|
||||
EfiMemoryTypeUnknown = 0x02,
|
||||
EfiMemoryTypeDram = 0x03,
|
||||
EfiMemoryTypeEdram = 0x04,
|
||||
EfiMemoryTypeVram = 0x05,
|
||||
EfiMemoryTypeSram = 0x06,
|
||||
EfiMemoryTypeRam = 0x07,
|
||||
EfiMemoryTypeRom = 0x08,
|
||||
EfiMemoryTypeFlash = 0x09,
|
||||
EfiMemoryTypeEeprom = 0x0A,
|
||||
EfiMemoryTypeFeprom = 0x0B,
|
||||
EfiMemoryTypeEprom = 0x0C,
|
||||
EfiMemoryTypeCdram = 0x0D,
|
||||
EfiMemoryType3Dram = 0x0E,
|
||||
EfiMemoryTypeSdram = 0x0F,
|
||||
EfiMemoryTypeSgram = 0x10,
|
||||
EfiMemoryTypeRdram = 0x11,
|
||||
EfiMemoryTypeDdr = 0x12,
|
||||
EfiMemoryTypeDdr2 = 0x13,
|
||||
EfiMemoryTypeDdr2FbDimm = 0x14
|
||||
} EFI_MEMORY_ARRAY_TYPE;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Reserved :1;
|
||||
UINT32 Other :1;
|
||||
UINT32 Unknown :1;
|
||||
UINT32 FastPaged :1;
|
||||
UINT32 StaticColumn :1;
|
||||
UINT32 PseudoStatic :1;
|
||||
UINT32 Rambus :1;
|
||||
UINT32 Synchronous :1;
|
||||
UINT32 Cmos :1;
|
||||
UINT32 Edo :1;
|
||||
UINT32 WindowDram :1;
|
||||
UINT32 CacheDram :1;
|
||||
UINT32 Nonvolatile :1;
|
||||
UINT32 Reserved1 :19;
|
||||
} EFI_MEMORY_TYPE_DETAIL;
|
||||
|
||||
typedef enum {
|
||||
EfiMemoryStateEnabled =0,
|
||||
EfiMemoryStateUnknown,
|
||||
EfiMemoryStateUnsupported,
|
||||
EfiMemoryStateError,
|
||||
EfiMemoryStateAbsent,
|
||||
EfiMemoryStateDisabled,
|
||||
EfiMemoryStatePartial
|
||||
} EFI_MEMORY_STATE;
|
||||
|
||||
typedef struct {
|
||||
EFI_STRING_TOKEN MemoryDeviceLocator;
|
||||
EFI_STRING_TOKEN MemoryBankLocator;
|
||||
EFI_STRING_TOKEN MemoryManufacturer;
|
||||
EFI_STRING_TOKEN MemorySerialNumber;
|
||||
EFI_STRING_TOKEN MemoryAssetTag;
|
||||
EFI_STRING_TOKEN MemoryPartNumber;
|
||||
EFI_INTER_LINK_DATA MemoryArrayLink;
|
||||
EFI_INTER_LINK_DATA MemorySubArrayLink;
|
||||
UINT16 MemoryTotalWidth;
|
||||
UINT16 MemoryDataWidth;
|
||||
UINT64 MemoryDeviceSize;
|
||||
EFI_MEMORY_FORM_FACTOR MemoryFormFactor;
|
||||
UINT8 MemoryDeviceSet;
|
||||
EFI_MEMORY_ARRAY_TYPE MemoryType;
|
||||
EFI_MEMORY_TYPE_DETAIL MemoryTypeDetail;
|
||||
UINT16 MemorySpeed;
|
||||
EFI_MEMORY_STATE MemoryState;
|
||||
} EFI_MEMORY_ARRAY_LINK;
|
||||
|
||||
|
||||
#define EFI_MEMORY_ARRAY_START_ADDRESS_RECORD_NUMBER 0x00000004
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS MemoryArrayStartAddress;
|
||||
EFI_PHYSICAL_ADDRESS MemoryArrayEndAddress;
|
||||
EFI_INTER_LINK_DATA PhysicalMemoryArrayLink;
|
||||
UINT16 MemoryArrayPartitionWidth;
|
||||
} EFI_MEMORY_ARRAY_START_ADDRESS;
|
||||
|
||||
|
||||
#define EFI_MEMORY_DEVICE_START_ADDRESS_RECORD_NUMBER 0x00000005
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS MemoryDeviceStartAddress;
|
||||
EFI_PHYSICAL_ADDRESS MemoryDeviceEndAddress;
|
||||
EFI_INTER_LINK_DATA PhysicalMemoryDeviceLink;
|
||||
EFI_INTER_LINK_DATA PhysicalMemoryArrayLink;
|
||||
UINT8 MemoryDevicePartitionRowPosition;
|
||||
UINT8 MemoryDeviceInterleavePosition;
|
||||
UINT8 MemoryDeviceInterleaveDataDepth;
|
||||
} EFI_MEMORY_DEVICE_START_ADDRESS;
|
||||
|
||||
|
||||
//
|
||||
// Memory. Channel Device Type - SMBIOS Type 37
|
||||
//
|
||||
|
||||
#define EFI_MEMORY_CHANNEL_TYPE_RECORD_NUMBER 0x00000006
|
||||
|
||||
typedef enum _EFI_MEMORY_CHANNEL_TYPE {
|
||||
EfiMemoryChannelTypeOther = 1,
|
||||
EfiMemoryChannelTypeUnknown = 2,
|
||||
EfiMemoryChannelTypeRambus = 3,
|
||||
EfiMemoryChannelTypeSyncLink = 4
|
||||
} EFI_MEMORY_CHANNEL_TYPE;
|
||||
|
||||
typedef struct {
|
||||
EFI_MEMORY_CHANNEL_TYPE MemoryChannelType;
|
||||
UINT8 MemoryChannelMaximumLoad;
|
||||
UINT8 MemoryChannelDeviceCount;
|
||||
} EFI_MEMORY_CHANNEL_TYPE_DATA;
|
||||
|
||||
#define EFI_MEMORY_CHANNEL_DEVICE_RECORD_NUMBER 0x00000007
|
||||
|
||||
typedef struct {
|
||||
UINT8 DeviceId;
|
||||
EFI_INTER_LINK_DATA DeviceLink;
|
||||
UINT8 MemoryChannelDeviceLoad;
|
||||
} EFI_MEMORY_CHANNEL_DEVICE_DATA;
|
||||
|
||||
//
|
||||
// Memory. Controller Information - SMBIOS Type 5
|
||||
//
|
||||
#define EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER 0x00000008
|
||||
|
||||
typedef enum {
|
||||
EfiErrorDetectingMethodOther = 1,
|
||||
EfiErrorDetectingMethodUnknown = 2,
|
||||
EfiErrorDetectingMethodNone = 3,
|
||||
EfiErrorDetectingMethodParity = 4,
|
||||
EfiErrorDetectingMethod32Ecc = 5,
|
||||
EfiErrorDetectingMethod64Ecc = 6,
|
||||
EfiErrorDetectingMethod128Ecc = 7,
|
||||
EfiErrorDetectingMethodCrc = 8
|
||||
} EFI_MEMORY_ERROR_DETECT_METHOD_TYPE;
|
||||
|
||||
typedef struct {
|
||||
UINT8 Other :1;
|
||||
UINT8 Unknown :1;
|
||||
UINT8 None :1;
|
||||
UINT8 SingleBitErrorCorrect :1;
|
||||
UINT8 DoubleBitErrorCorrect :1;
|
||||
UINT8 ErrorScrubbing :1;
|
||||
UINT8 Reserved :2;
|
||||
} EFI_MEMORY_ERROR_CORRECT_CAPABILITY;
|
||||
|
||||
typedef enum {
|
||||
EfiMemoryInterleaveOther = 1,
|
||||
EfiMemoryInterleaveUnknown = 2,
|
||||
EfiMemoryInterleaveOneWay = 3,
|
||||
EfiMemoryInterleaveTwoWay = 4,
|
||||
EfiMemoryInterleaveFourWay = 5,
|
||||
EfiMemoryInterleaveEightWay = 6,
|
||||
EfiMemoryInterleaveSixteenWay = 7
|
||||
} EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 Other :1;
|
||||
UINT16 Unknown :1;
|
||||
UINT16 SeventyNs :1;
|
||||
UINT16 SixtyNs :1;
|
||||
UINT16 FiftyNs :1;
|
||||
UINT16 Reserved :11;
|
||||
} EFI_MEMORY_SPEED_TYPE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 Other :1;
|
||||
UINT16 Unknown :1;
|
||||
UINT16 Standard :1;
|
||||
UINT16 FastPageMode :1;
|
||||
UINT16 EDO :1;
|
||||
UINT16 Parity :1;
|
||||
UINT16 ECC :1;
|
||||
UINT16 SIMM :1;
|
||||
UINT16 DIMM :1;
|
||||
UINT16 BurstEdo :1;
|
||||
UINT16 SDRAM :1;
|
||||
UINT16 Reserved :5;
|
||||
} EFI_MEMORY_SUPPORTED_TYPE;
|
||||
|
||||
typedef struct {
|
||||
UINT8 Five :1;
|
||||
UINT8 There :1;
|
||||
UINT8 Two :1;
|
||||
UINT8 Reserved :5;
|
||||
} EFI_MEMORY_MODULE_VOLTAGE_TYPE;
|
||||
|
||||
typedef struct {
|
||||
EFI_MEMORY_ERROR_DETECT_METHOD_TYPE ErrorDetectingMethod;
|
||||
EFI_MEMORY_ERROR_CORRECT_CAPABILITY ErrorCorrectingCapability;
|
||||
EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE MemorySupportedInterleave;
|
||||
EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE MemoryCurrentInterleave;
|
||||
UINT8 MaxMemoryModuleSize;
|
||||
EFI_MEMORY_SPEED_TYPE MemorySpeedType;
|
||||
EFI_MEMORY_SUPPORTED_TYPE MemorySupportedType;
|
||||
EFI_MEMORY_MODULE_VOLTAGE_TYPE MemoryModuleVoltage;
|
||||
UINT8 NumberofMemorySlot;
|
||||
EFI_MEMORY_ERROR_CORRECT_CAPABILITY EnabledCorrectingCapability;
|
||||
UINT16 *MemoryModuleConfigHandles;
|
||||
} EFI_MEMORY_CONTROLLER_INFORMATION;
|
||||
|
||||
//
|
||||
// Memory. Error Information - SMBIOS Type 18
|
||||
//
|
||||
#define EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER 0x00000009
|
||||
|
||||
typedef enum {
|
||||
EfiMemoryErrorOther = 1,
|
||||
EfiMemoryErrorUnknown = 2,
|
||||
EfiMemoryErrorOk = 3,
|
||||
EfiMemoryErrorBadRead = 4,
|
||||
EfiMemoryErrorParity = 5,
|
||||
EfiMemoryErrorSigleBit = 6,
|
||||
EfiMemoryErrorDoubleBit = 7,
|
||||
EfiMemoryErrorMultiBit = 8,
|
||||
EfiMemoryErrorNibble = 9,
|
||||
EfiMemoryErrorChecksum = 10,
|
||||
EfiMemoryErrorCrc = 11,
|
||||
EfiMemoryErrorCorrectSingleBit = 12,
|
||||
EfiMemoryErrorCorrected = 13,
|
||||
EfiMemoryErrorUnCorrectable = 14
|
||||
} EFI_MEMORY_ERROR_TYPE;
|
||||
|
||||
typedef enum {
|
||||
EfiMemoryGranularityOther = 1,
|
||||
EfiMemoryGranularityOtherUnknown = 2,
|
||||
EfiMemoryGranularityDeviceLevel = 3,
|
||||
EfiMemoryGranularityMemPartitionLevel = 4
|
||||
} EFI_MEMORY_ERROR_GRANULARITY_TYPE;
|
||||
|
||||
typedef enum {
|
||||
EfiMemoryErrorOperationOther = 1,
|
||||
EfiMemoryErrorOperationUnknown = 2,
|
||||
EfiMemoryErrorOperationRead = 3,
|
||||
EfiMemoryErrorOperationWrite = 4,
|
||||
EfiMemoryErrorOperationPartialWrite = 5
|
||||
} EFI_MEMORY_ERROR_OPERATION_TYPE;
|
||||
|
||||
typedef struct {
|
||||
EFI_MEMORY_ERROR_TYPE MemoryErrorType;
|
||||
EFI_MEMORY_ERROR_GRANULARITY_TYPE MemoryErrorGranularity;
|
||||
EFI_MEMORY_ERROR_OPERATION_TYPE MemoryErrorOperation;
|
||||
UINT32 VendorSyndrome;
|
||||
UINT32 MemoryArrayErrorAddress;
|
||||
UINT32 DeviceErrorAddress;
|
||||
UINT32 DeviceErrorResolution;
|
||||
} EFI_MEMORY_32BIT_ERROR_INFORMATION;
|
||||
|
||||
//
|
||||
// Memory. Error Information - SMBIOS Type 33
|
||||
//
|
||||
#define EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER 0x0000000A
|
||||
|
||||
typedef struct {
|
||||
EFI_MEMORY_ERROR_TYPE MemoryErrorType;
|
||||
EFI_MEMORY_ERROR_GRANULARITY_TYPE MemoryErrorGranularity;
|
||||
EFI_MEMORY_ERROR_OPERATION_TYPE MemoryErrorOperation;
|
||||
UINT32 VendorSyndrome;
|
||||
UINT64 MemoryArrayErrorAddress;
|
||||
UINT64 DeviceErrorAddress;
|
||||
UINT32 DeviceErrorResolution;
|
||||
} EFI_MEMORY_64BIT_ERROR_INFORMATION;
|
||||
|
||||
|
||||
typedef union _EFI_MEMORY_SUBCLASS_RECORDS {
|
||||
EFI_MEMORY_SIZE_DATA SizeData;
|
||||
EFI_MEMORY_ARRAY_LOCATION_DATA ArrayLocationData;
|
||||
EFI_MEMORY_ARRAY_LINK ArrayLink;
|
||||
EFI_MEMORY_ARRAY_START_ADDRESS ArrayStartAddress;
|
||||
EFI_MEMORY_DEVICE_START_ADDRESS DeviceStartAddress;
|
||||
EFI_MEMORY_CHANNEL_TYPE_DATA ChannelTypeData;
|
||||
EFI_MEMORY_CHANNEL_DEVICE_DATA ChannelDeviceData;
|
||||
EFI_MEMORY_CONTROLLER_INFORMATION MemoryControllerInfo;
|
||||
EFI_MEMORY_32BIT_ERROR_INFORMATION Memory32bitErrorInfo;
|
||||
EFI_MEMORY_64BIT_ERROR_INFORMATION Memory64bitErrorInfo;
|
||||
} EFI_MEMORY_SUBCLASS_RECORDS;
|
||||
|
||||
typedef struct {
|
||||
EFI_SUBCLASS_TYPE1_HEADER Header;
|
||||
EFI_MEMORY_SUBCLASS_RECORDS Record;
|
||||
} EFI_MEMORY_SUBCLASS_DRIVER_DATA;
|
||||
|
||||
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,360 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
DataHubSubClassProcessor.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Definitions for processor sub class data records
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DATAHUB_SUBCLASS_PROCESSOR_H_
|
||||
#define _DATAHUB_SUBCLASS_PROCESSOR_H_
|
||||
|
||||
#define EFI_PROCESSOR_SUBCLASS_VERSION 0x00010000
|
||||
|
||||
#define EFI_PROCESSOR_SUBCLASS_GUID \
|
||||
{ 0x26fdeb7e, 0xb8af, 0x4ccf, 0xaa, 0x97, 0x02, 0x63, 0x3c, 0xe4, 0x8c, 0xa7 }
|
||||
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_CORE_FREQUENCY_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA *EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA *EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_FSB_FREQUENCY_DATA;
|
||||
|
||||
typedef STRING_REF EFI_PROCESSOR_VERSION_DATA;
|
||||
|
||||
typedef STRING_REF EFI_PROCESSOR_MANUFACTURER_DATA;
|
||||
|
||||
typedef STRING_REF EFI_PROCESSOR_SERIAL_NUMBER_DATA;
|
||||
|
||||
typedef STRING_REF EFI_PROCESSOR_ASSET_TAG_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 ProcessorSteppingId:4;
|
||||
UINT32 ProcessorModel: 4;
|
||||
UINT32 ProcessorFamily: 4;
|
||||
UINT32 ProcessorType: 2;
|
||||
UINT32 ProcessorReserved1: 2;
|
||||
UINT32 ProcessorXModel: 4;
|
||||
UINT32 ProcessorXFamily: 8;
|
||||
UINT32 ProcessorReserved2: 4;
|
||||
} EFI_PROCESSOR_SIGNATURE;
|
||||
|
||||
typedef struct {
|
||||
UINT32 ProcessorBrandIndex :8;
|
||||
UINT32 ProcessorClflush :8;
|
||||
UINT32 ProcessorReserved :8;
|
||||
UINT32 ProcessorDfltApicId :8;
|
||||
} EFI_PROCESSOR_MISC_INFO;
|
||||
|
||||
typedef struct {
|
||||
UINT32 ProcessorFpu: 1;
|
||||
UINT32 ProcessorVme: 1;
|
||||
UINT32 ProcessorDe: 1;
|
||||
UINT32 ProcessorPse: 1;
|
||||
UINT32 ProcessorTsc: 1;
|
||||
UINT32 ProcessorMsr: 1;
|
||||
UINT32 ProcessorPae: 1;
|
||||
UINT32 ProcessorMce: 1;
|
||||
UINT32 ProcessorCx8: 1;
|
||||
UINT32 ProcessorApic: 1;
|
||||
UINT32 ProcessorReserved1: 1;
|
||||
UINT32 ProcessorSep: 1;
|
||||
UINT32 ProcessorMtrr: 1;
|
||||
UINT32 ProcessorPge: 1;
|
||||
UINT32 ProcessorMca: 1;
|
||||
UINT32 ProcessorCmov: 1;
|
||||
UINT32 ProcessorPat: 1;
|
||||
UINT32 ProcessorPse36: 1;
|
||||
UINT32 ProcessorPsn: 1;
|
||||
UINT32 ProcessorClfsh: 1;
|
||||
UINT32 ProcessorReserved2: 1;
|
||||
UINT32 ProcessorDs: 1;
|
||||
UINT32 ProcessorAcpi: 1;
|
||||
UINT32 ProcessorMmx: 1;
|
||||
UINT32 ProcessorFxsr: 1;
|
||||
UINT32 ProcessorSse: 1;
|
||||
UINT32 ProcessorSse2: 1;
|
||||
UINT32 ProcessorSs: 1;
|
||||
UINT32 ProcessorReserved3: 1;
|
||||
UINT32 ProcessorTm: 1;
|
||||
UINT32 ProcessorReserved4: 2;
|
||||
} EFI_PROCESSOR_FEATURE_FLAGS;
|
||||
|
||||
typedef struct {
|
||||
EFI_PROCESSOR_SIGNATURE Signature;
|
||||
EFI_PROCESSOR_MISC_INFO MiscInfo;
|
||||
UINT32 Reserved;
|
||||
EFI_PROCESSOR_FEATURE_FLAGS FeatureFlags;
|
||||
} EFI_PROCESSOR_ID_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiProcessorOther = 1,
|
||||
EfiProcessorUnknown = 2,
|
||||
EfiCentralProcessor = 3,
|
||||
EfiMathProcessor = 4,
|
||||
EfiDspProcessor = 5,
|
||||
EfiVideoProcessor = 6
|
||||
} EFI_PROCESSOR_TYPE_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiProcessorFamilyOther = 1,
|
||||
EfiProcessorFamilyUnknown = 2,
|
||||
EfiProcessorFamily8086 = 3,
|
||||
EfiProcessorFamily80286 = 4,
|
||||
EfiProcessorFamilyIntel386 = 5,
|
||||
EfiProcessorFamilyIntel486 = 6,
|
||||
EfiProcessorFamily8087 = 7,
|
||||
EfiProcessorFamily80287 = 8,
|
||||
EfiProcessorFamily80387 = 9,
|
||||
EfiProcessorFamily80487 = 0x0A,
|
||||
EfiProcessorFamilyPentium = 0x0B,
|
||||
EfiProcessorFamilyPentiumPro = 0x0C,
|
||||
EfiProcessorFamilyPentiumII = 0x0D,
|
||||
EfiProcessorFamilyPentiumMMX = 0x0E,
|
||||
EfiProcessorFamilyCeleron = 0x0F,
|
||||
EfiProcessorFamilyPentiumIIXeon = 0x10,
|
||||
EfiProcessorFamilyPentiumIII = 0x11,
|
||||
EfiProcessorFamilyM1 = 0x12,
|
||||
EfiProcessorFamilyM2 = 0x13,
|
||||
EfiProcessorFamilyM1Reserved2 = 0x14,
|
||||
EfiProcessorFamilyM1Reserved3 = 0x15,
|
||||
EfiProcessorFamilyM1Reserved4 = 0x16,
|
||||
EfiProcessorFamilyM1Reserved5 = 0x17,
|
||||
EfiProcessorFamilyAmdDuron = 0x18,
|
||||
EfiProcessorFamilyK5 = 0x19,
|
||||
EfiProcessorFamilyK6 = 0x1A,
|
||||
EfiProcessorFamilyK6_2 = 0x1B,
|
||||
EfiProcessorFamilyK6_3 = 0x1C,
|
||||
EfiProcessorFamilyAmdAthlon = 0x1D,
|
||||
EfiProcessorFamilyK6_2Plus = 0x1E,
|
||||
EfiProcessorFamilyK5Reserved6 = 0x1F,
|
||||
EfiProcessorFamilyPowerPC = 0x20,
|
||||
EfiProcessorFamilyPowerPC601 = 0x21,
|
||||
EfiProcessorFamilyPowerPC603 = 0x22,
|
||||
EfiProcessorFamilyPowerPC603Plus = 0x23,
|
||||
EfiProcessorFamilyPowerPC604 = 0x24,
|
||||
EfiProcessorFamilyPowerPC620 = 0x25,
|
||||
EfiProcessorFamilyPowerPC704 = 0x26,
|
||||
EfiProcessorFamilyPowerPC750 = 0x27,
|
||||
EfiProcessorFamilyAlpha2 = 0x30,
|
||||
EfiProcessorFamilyAlpha21064 = 0x31,
|
||||
EfiProcessorFamilyAlpha21066 = 0x32,
|
||||
EfiProcessorFamilyAlpha21164 = 0x33,
|
||||
EfiProcessorFamilyAlpha21164PC = 0x34,
|
||||
EfiProcessorFamilyAlpha21164a = 0x35,
|
||||
EfiProcessorFamilyAlpha21264 = 0x36,
|
||||
EfiProcessorFamilyAlpha21364 = 0x37,
|
||||
EfiProcessorFamilyMips = 0x40,
|
||||
EfiProcessorFamilyMIPSR4000 = 0x41,
|
||||
EfiProcessorFamilyMIPSR4200 = 0x42,
|
||||
EfiProcessorFamilyMIPSR4400 = 0x43,
|
||||
EfiProcessorFamilyMIPSR4600 = 0x44,
|
||||
EfiProcessorFamilyMIPSR10000 = 0x45,
|
||||
EfiProcessorFamilySparc = 0x50,
|
||||
EfiProcessorFamilySuperSparc = 0x51,
|
||||
EfiProcessorFamilymicroSparcII = 0x52,
|
||||
EfiProcessorFamilymicroSparcIIep = 0x53,
|
||||
EfiProcessorFamilyUltraSparc = 0x54,
|
||||
EfiProcessorFamilyUltraSparcII = 0x55,
|
||||
EfiProcessorFamilyUltraSparcIIi = 0x56,
|
||||
EfiProcessorFamilyUltraSparcIII = 0x57,
|
||||
EfiProcessorFamilyUltraSparcIIIi = 0x58,
|
||||
EfiProcessorFamily68040 = 0x60,
|
||||
EfiProcessorFamily68xxx = 0x61,
|
||||
EfiProcessorFamily68000 = 0x62,
|
||||
EfiProcessorFamily68010 = 0x63,
|
||||
EfiProcessorFamily68020 = 0x64,
|
||||
EfiProcessorFamily68030 = 0x65,
|
||||
EfiProcessorFamilyHobbit = 0x70,
|
||||
EfiProcessorFamilyCrusoeTM5000 = 0x78,
|
||||
EfiProcessorFamilyCrusoeTM3000 = 0x79,
|
||||
EfiProcessorFamilyWeitek = 0x80,
|
||||
EfiProcessorFamilyItanium = 0x82,
|
||||
EfiProcessorFamilyAmdAthlon64 = 0x83,
|
||||
EfiProcessorFamilyAmdOpteron = 0x84,
|
||||
EfiProcessorFamilyPARISC = 0x90,
|
||||
EfiProcessorFamilyPaRisc8500 = 0x91,
|
||||
EfiProcessorFamilyPaRisc8000 = 0x92,
|
||||
EfiProcessorFamilyPaRisc7300LC = 0x93,
|
||||
EfiProcessorFamilyPaRisc7200 = 0x94,
|
||||
EfiProcessorFamilyPaRisc7100LC = 0x95,
|
||||
EfiProcessorFamilyPaRisc7100 = 0x96,
|
||||
EfiProcessorFamilyV30 = 0xA0,
|
||||
EfiProcessorFamilyPentiumIIIXeon = 0xB0,
|
||||
EfiProcessorFamilyPentiumIIISpeedStep = 0xB1,
|
||||
EfiProcessorFamilyPentium4 = 0xB2,
|
||||
EfiProcessorFamilyIntelXeon = 0xB3,
|
||||
EfiProcessorFamilyAS400 = 0xB4,
|
||||
EfiProcessorFamilyIntelXeonMP = 0xB5,
|
||||
EfiProcessorFamilyAMDAthlonXP = 0xB6,
|
||||
EfiProcessorFamilyAMDAthlonMP = 0xB7,
|
||||
EfiProcessorFamilyIntelItanium2 = 0xB8,
|
||||
EfiProcessorFamilyIntelPentiumM = 0xB9,
|
||||
EfiProcessorFamilyIntelCeleronD = 0xBA,
|
||||
EfiProcessorFamilyIntelPentiumD = 0xBB,
|
||||
EfiProcessorFamilyIntelPentiumEx = 0xBC,
|
||||
EfiProcessorFamilyIBM390 = 0xC8,
|
||||
EfiProcessorFamilyG4 = 0xC9,
|
||||
EfiProcessorFamilyG5 = 0xCA,
|
||||
EfiProcessorFamilyi860 = 0xFA,
|
||||
EfiProcessorFamilyi960 = 0xFB
|
||||
} EFI_PROCESSOR_FAMILY_DATA;
|
||||
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_VOLTAGE_DATA;
|
||||
|
||||
typedef EFI_PHYSICAL_ADDRESS EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA;
|
||||
|
||||
typedef UINT32 EFI_PROCESSOR_APIC_ID_DATA;
|
||||
|
||||
typedef UINT32 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiProcessorIa32Microcode = 1,
|
||||
EfiProcessorIpfPalAMicrocode = 2,
|
||||
EfiProcessorIpfPalBMicrocode = 3
|
||||
} EFI_PROCESSOR_MICROCODE_TYPE;
|
||||
|
||||
typedef struct {
|
||||
EFI_PROCESSOR_MICROCODE_TYPE ProcessorMicrocodeType;
|
||||
UINT32 ProcessorMicrocodeRevisionNumber;
|
||||
} EFI_PROCESSOR_MICROCODE_REVISION_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINT32 CpuStatus :3;
|
||||
UINT32 Reserved1 :3;
|
||||
UINT32 SocketPopulated :1;
|
||||
UINT32 Reserved2 :1;
|
||||
UINT32 ApicEnable :1;
|
||||
UINT32 BootApplicationProcessor :1;
|
||||
UINT32 Reserved3 :22;
|
||||
} EFI_PROCESSOR_STATUS_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiCpuStatusUnknown = 0,
|
||||
EfiCpuStatusEnabled = 1,
|
||||
EfiCpuStatusDisabledByUser = 2,
|
||||
EfiCpuStatusDisabledbyBios = 3,
|
||||
EfiCpuStatusIdle = 4,
|
||||
EfiCpuStatusOther = 7
|
||||
} EFI_CPU_STATUS;
|
||||
|
||||
typedef enum {
|
||||
EfiProcessorSocketOther = 1,
|
||||
EfiProcessorSocketUnknown = 2,
|
||||
EfiProcessorSocketDaughterBoard = 3,
|
||||
EfiProcessorSocketZIF = 4,
|
||||
EfiProcessorSocketReplacePiggyBack = 5,
|
||||
EfiProcessorSocketNone = 6,
|
||||
EfiProcessorSocketLIF = 7,
|
||||
EfiProcessorSocketSlot1 = 8,
|
||||
EfiProcessorSocketSlot2 = 9,
|
||||
EfiProcessorSocket370Pin = 0xA,
|
||||
EfiProcessorSocketSlotA = 0xB,
|
||||
EfiProcessorSocketSlotM = 0xC,
|
||||
EfiProcessorSocket423 = 0xD,
|
||||
EfiProcessorSocketA462 = 0xE,
|
||||
EfiProcessorSocket478 = 0xF,
|
||||
EfiProcessorSocket754 = 0x10,
|
||||
EfiProcessorSocket940 = 0x11,
|
||||
EfiProcessorSocket939 = 0x12,
|
||||
EfiProcessorSocketmPGA604 = 0x13,
|
||||
EfiProcessorSocketLGA771 = 0x14,
|
||||
EfiProcessorSocketLGA775 = 0x15
|
||||
} EFI_PROCESSOR_SOCKET_TYPE_DATA;
|
||||
|
||||
typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA;
|
||||
|
||||
typedef EFI_INTER_LINK_DATA EFI_CACHE_ASSOCIATION_DATA;
|
||||
|
||||
typedef enum {
|
||||
EfiProcessorHealthy = 1,
|
||||
EfiProcessorPerfRestricted = 2,
|
||||
EfiProcessorFuncRestricted = 3
|
||||
} EFI_PROCESSOR_HEALTH_STATUS;
|
||||
|
||||
typedef UINTN EFI_PROCESSOR_PACKAGE_NUMBER_DATA;
|
||||
|
||||
typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA;
|
||||
|
||||
typedef enum {
|
||||
ProcessorCoreFrequencyRecordType = 1,
|
||||
ProcessorFsbFrequencyRecordType = 2,
|
||||
ProcessorVersionRecordType = 3,
|
||||
ProcessorManufacturerRecordType = 4,
|
||||
ProcessorSerialNumberRecordType = 5,
|
||||
ProcessorIdRecordType = 6,
|
||||
ProcessorTypeRecordType = 7,
|
||||
ProcessorFamilyRecordType = 8,
|
||||
ProcessorVoltageRecordType = 9,
|
||||
ProcessorApicBaseAddressRecordType = 10,
|
||||
ProcessorApicIdRecordType = 11,
|
||||
ProcessorApicVersionNumberRecordType = 12,
|
||||
CpuUcodeRevisionDataRecordType = 13,
|
||||
ProcessorStatusRecordType = 14,
|
||||
ProcessorSocketTypeRecordType = 15,
|
||||
ProcessorSocketNameRecordType = 16,
|
||||
CacheAssociationRecordType = 17,
|
||||
ProcessorMaxCoreFrequencyRecordType = 18,
|
||||
ProcessorAssetTagRecordType = 19,
|
||||
ProcessorMaxFsbFrequencyRecordType = 20,
|
||||
ProcessorPackageNumberRecordType = 21,
|
||||
ProcessorCoreFrequencyListRecordType = 22,
|
||||
ProcessorFsbFrequencyListRecordType = 23,
|
||||
ProcessorHealthStatusRecordType = 24
|
||||
} EFI_CPU_VARIABLE_RECORD_TYPE;
|
||||
|
||||
typedef union {
|
||||
EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA ProcessorCoreFrequencyList;
|
||||
EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA ProcessorFsbFrequencyList;
|
||||
EFI_PROCESSOR_SERIAL_NUMBER_DATA ProcessorSerialNumber;
|
||||
EFI_PROCESSOR_CORE_FREQUENCY_DATA ProcessorCoreFrequency;
|
||||
EFI_PROCESSOR_FSB_FREQUENCY_DATA ProcessorFsbFrequency;
|
||||
EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA ProcessorMaxCoreFrequency;
|
||||
EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA ProcessorMaxFsbFrequency;
|
||||
EFI_PROCESSOR_VERSION_DATA ProcessorVersion;
|
||||
EFI_PROCESSOR_MANUFACTURER_DATA ProcessorManufacturer;
|
||||
EFI_PROCESSOR_ID_DATA ProcessorId;
|
||||
EFI_PROCESSOR_TYPE_DATA ProcessorType;
|
||||
EFI_PROCESSOR_FAMILY_DATA ProcessorFamily;
|
||||
EFI_PROCESSOR_VOLTAGE_DATA ProcessorVoltage;
|
||||
EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA ProcessorApicBase;
|
||||
EFI_PROCESSOR_APIC_ID_DATA ProcessorApicId;
|
||||
EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA ProcessorApicVersionNumber;
|
||||
EFI_PROCESSOR_MICROCODE_REVISION_DATA CpuUcodeRevisionData;
|
||||
EFI_PROCESSOR_STATUS_DATA ProcessorStatus;
|
||||
EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType;
|
||||
EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName;
|
||||
EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag;
|
||||
EFI_PROCESSOR_HEALTH_STATUS ProcessorHealthStatus;
|
||||
EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber;
|
||||
} EFI_CPU_VARIABLE_RECORD;
|
||||
|
||||
typedef struct {
|
||||
EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader;
|
||||
EFI_CPU_VARIABLE_RECORD VariableRecord;
|
||||
} EFI_CPU_DATA_RECORD;
|
||||
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DxeServices.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used for the DXE Services Table
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (DxeServices)
|
||||
|
||||
EFI_GUID gEfiDxeServicesTableGuid = EFI_DXE_SERVICES_TABLE_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiDxeServicesTableGuid, "DXE Services Table", "DXE Services Table GUID in EFI System Table");
|
@@ -0,0 +1,32 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DxeServices.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used for the DXE Services Table
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DXE_SERVICES_H_
|
||||
#define _DXE_SERVICES_H_
|
||||
|
||||
#define EFI_DXE_SERVICES_TABLE_GUID \
|
||||
{ \
|
||||
0x5ad34ba, 0x6f02, 0x4214, 0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9 \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiDxeServicesTableGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,63 @@
|
||||
#/*++
|
||||
#
|
||||
# Copyright (c) 2004 - 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:
|
||||
#
|
||||
# EdkFrameworkGuidLib.inf
|
||||
#
|
||||
# Abstract:
|
||||
#
|
||||
# Component description file.
|
||||
#
|
||||
#--*/
|
||||
|
||||
[defines]
|
||||
BASE_NAME= EdkFrameworkGuidLib
|
||||
COMPONENT_TYPE= LIBRARY
|
||||
|
||||
[includes.common]
|
||||
$(EDK_SOURCE)\Foundation\Framework
|
||||
$(EDK_SOURCE)\Foundation\Efi
|
||||
$(EDK_SOURCE)\Foundation\Include
|
||||
$(EDK_SOURCE)\Foundation\Efi\Include
|
||||
$(EDK_SOURCE)\Foundation\Framework\Include
|
||||
$(EDK_SOURCE)\Foundation\Include\IndustryStandard
|
||||
$(EDK_SOURCE)\Foundation\Core\Dxe
|
||||
$(EDK_SOURCE)\Foundation\Include\Pei
|
||||
$(EDK_SOURCE)\Foundation\Library\Pei\Include
|
||||
|
||||
[nmake.common]
|
||||
|
||||
[sources.common]
|
||||
AcpiTableStorage\AcpiTableStorage.h
|
||||
AcpiTableStorage\AcpiTableStorage.c
|
||||
Apriori\Apriori.h
|
||||
Apriori\Apriori.c
|
||||
DataHubRecords\DataHubRecords.h
|
||||
DataHubRecords\DataHubRecords.c
|
||||
DxeServices\DxeServices.h
|
||||
DxeServices\DxeServices.c
|
||||
FirmwareFileSystem\FirmwareFileSystem.h
|
||||
FirmwareFileSystem\FirmwareFileSystem.c
|
||||
Hob\Hob.h
|
||||
Hob\Hob.c
|
||||
MemoryAllocationHob\MemoryAllocationHob.c
|
||||
MemoryAllocationHob\MemoryAllocationHob.h
|
||||
SmramMemoryReserve\SmramMemoryReserve.h
|
||||
SmramMemoryReserve\SmramMemoryReserve.c
|
||||
StatusCodeDataTypeId\StatusCodeDataTypeId.h
|
||||
StatusCodeDataTypeId\StatusCodeDataTypeId.c
|
||||
FrameworkDevicePath\FrameworkDevicePath.h
|
||||
FrameworkDevicePath\FrameworkDevicePath.c
|
||||
FirmwareFileSystem2\FirmwareFileSystem2.h
|
||||
FirmwareFileSystem2\FirmwareFileSystem2.c
|
||||
PeiApriori\PeiApriori.h
|
||||
PeiApriori\PeiApriori.c
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
FirmwareFileSystem.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano Guid used to define the Firmware File System. See the EFI Firmware
|
||||
File System Specification for more details.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (FirmwareFileSystem)
|
||||
|
||||
EFI_GUID gEfiFirmwareFileSystemGuid = EFI_FIRMWARE_FILE_SYSTEM_GUID;
|
||||
EFI_GUID gEfiFirmwareVolumeTopFileGuid = EFI_FFS_VOLUME_TOP_FILE_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiFirmwareFileSystemGuid, "Firmware File System GUID", "EFI Firmware File System GUID");
|
||||
EFI_GUID_STRING(&gEfiFirmwareVolumeTopFileGuid, "Firmware Volume Top File GUID", "EFI FFS Volume Top File GUID");
|
@@ -0,0 +1,34 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
FirmwareFileSystem.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano Guid used to define the Firmware File System. See the EFI Firmware
|
||||
File System Specification for more details.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _FIRMWARE_FILE_SYSTEM_GUID_H
|
||||
#define _FIRMWARE_FILE_SYSTEM_GUID_H
|
||||
|
||||
//
|
||||
// GUID definitions are in EfiFirmwareFileSystem.h
|
||||
//
|
||||
#include "EfiFirmwareFileSystem.h"
|
||||
|
||||
extern EFI_GUID gEfiFirmwareFileSystemGuid;
|
||||
extern EFI_GUID gEfiFirmwareVolumeTopFileGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FirmwareFileSystem2.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION(FirmwareFileSystem2)
|
||||
|
||||
EFI_GUID gEfiFirmwareFileSystem2Guid = EFI_FIRMWARE_FILE_SYSTEM2_GUID;
|
||||
EFI_GUID_STRING(&gEfiFirmwareFileSystem2Guid, "FirmwareFileSystem2", "Efi FirmwareFileSystem2")
|
||||
|
@@ -0,0 +1,33 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FirmwareFileSystem2.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __FIRMWARE_FILE_SYSTEM2_GUID_H__
|
||||
#define __FIRMWARE_FILE_SYSTEM2_GUID_H__
|
||||
|
||||
//
|
||||
// GUIDs defined by the FFS specification.
|
||||
//
|
||||
#define EFI_FIRMWARE_FILE_SYSTEM2_GUID \
|
||||
{ 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 } }
|
||||
|
||||
extern EFI_GUID gEfiFirmwareFileSystem2Guid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FrameworkDevicePath.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used for
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (FrameworkDevicePath)
|
||||
|
||||
EFI_GUID gEfiFrameworkDevicePathGuid = EFI_FRAMEWORK_DEVICE_PATH_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiFrameworkDevicePathGuid, "Framework Devic Path", "Framework Device Path GUID");
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
This GUID is used to define a vendor specific device path being owned by the
|
||||
Framework specificaitons.
|
||||
|
||||
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: FrameworkDevicePath.h
|
||||
|
||||
@par Revision Reference:
|
||||
Spec Version 0.9
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __FRAMEWORK_DEVICE_PATH_GUID_H__
|
||||
#define __FRAMEWORK_DEVICE_PATH_GUID_H__
|
||||
|
||||
#define EFI_FRAMEWORK_DEVICE_PATH_GUID \
|
||||
{ 0xb7084e63, 0x46b7, 0x4d1a, { 0x86, 0x77, 0xe3, 0x0b, 0x53, 0xdb, 0xf0, 0x50 } }
|
||||
|
||||
extern EFI_GUID gEfiFrameworkDevicePathGuid;
|
||||
|
||||
#endif
|
29
EdkCompatibilityPkg/Foundation/Framework/Guid/Hob/Hob.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Guid/Hob/Hob.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Hob.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDs used for HOB List in the EFI 1.0 system table
|
||||
|
||||
These GUIDs point the HOB List passed in from PEI to DXE.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (Hob)
|
||||
|
||||
EFI_GUID gEfiHobListGuid = EFI_HOB_LIST_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiHobListGuid, "HOB List", "HOB List GUID in EFI System Table");
|
34
EdkCompatibilityPkg/Foundation/Framework/Guid/Hob/Hob.h
Normal file
34
EdkCompatibilityPkg/Foundation/Framework/Guid/Hob/Hob.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Hob.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDs used for HOB List entries in the in the EFI 1.0 system table
|
||||
|
||||
These GUIDs point the HOB List passed from PEI to DXE.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _HOB_GUID_H_
|
||||
#define _HOB_GUID_H_
|
||||
|
||||
#define EFI_HOB_LIST_GUID \
|
||||
{ \
|
||||
0x7739f24c, 0x93d7, 0x11d4, 0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiHobListGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,31 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
MemoryAllocationHob.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDs for HOBs used in memory allcation
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION(MemoryAllocationHob)
|
||||
|
||||
EFI_GUID gEfiHobMemeryAllocBspStoreGuid = EFI_HOB_MEMORY_ALLOC_BSP_STORE_GUID;
|
||||
EFI_GUID gEfiHobMemeryAllocStackGuid = EFI_HOB_MEMORY_ALLOC_STACK_GUID;
|
||||
EFI_GUID gEfiHobMemeryAllocModuleGuid = EFI_HOB_MEMORY_ALLOC_MODULE_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiHobMemeryAllocBspStoreGuid, "BSP Store HOB", "HOB for BSP Store Memory Allocation");
|
||||
EFI_GUID_STRING(&gEfiHobMemeryAllocStackGuid, "Stack HOB", "HOB for Stack Memory Allocation");
|
||||
EFI_GUID_STRING(&gEfiHobMemeryAllocModuleGuid, "Memry Allocation Module HOB", "HOB for Memory Allocation Module");
|
@@ -0,0 +1,38 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
MemoryAllocationHob.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDs for HOBs used in memory allcation
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _HOB__MEMORY_ALLOCATION_GUID_H_
|
||||
#define _HOB__MEMORY_ALLOCATION_GUID_H_
|
||||
|
||||
#define EFI_HOB_MEMORY_ALLOC_BSP_STORE_GUID \
|
||||
{0x564b33cd, 0xc92a, 0x4593, 0x90, 0xbf, 0x24, 0x73, 0xe4, 0x3c, 0x63, 0x22};
|
||||
|
||||
#define EFI_HOB_MEMORY_ALLOC_STACK_GUID \
|
||||
{0x4ed4bf27, 0x4092, 0x42e9, 0x80, 0x7d, 0x52, 0x7b, 0x1d, 0x0, 0xc9, 0xbd}
|
||||
|
||||
#define EFI_HOB_MEMORY_ALLOC_MODULE_GUID \
|
||||
{0xf8e21975, 0x899, 0x4f58, 0xa4, 0xbe, 0x55, 0x25, 0xa9, 0xc6, 0xd7, 0x7a}
|
||||
|
||||
extern EFI_GUID gEfiHobMemeryAllocBspStoreGuid;
|
||||
extern EFI_GUID gEfiHobMemeryAllocStackGuid;
|
||||
extern EFI_GUID gEfiHobMemeryAllocModuleGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,26 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PeiApriori.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION(PeiApriori)
|
||||
|
||||
EFI_GUID gEfiPeiAprioriGuid = EFI_PEI_APRIORI_FILE_NAME_GUID;
|
||||
EFI_GUID_STRING(&gEfiPeiAprioriGuid, "PeiApriori", "Efi PeiApriori")
|
@@ -0,0 +1,36 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PeiApriori.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __PEI_APRIORI_GUID_H__
|
||||
#define __PEI_APRIORI_GUID_H__
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
//
|
||||
// GUIDs defined by the FFS specification.
|
||||
//
|
||||
#define EFI_PEI_APRIORI_FILE_NAME_GUID \
|
||||
{ 0x1b45cc0a, 0x156a, 0x428a, 0xaf, 0x62, 0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6}
|
||||
|
||||
|
||||
extern EFI_GUID gEfiPeiAprioriGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 1999 - 2002, 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:
|
||||
|
||||
SmramMemoryReserve.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID for use in reserving SMRAM regions.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION(SmramMemoryReserve)
|
||||
|
||||
EFI_GUID gEfiSmmPeiSmramMemoryReserve = EFI_SMM_PEI_SMRAM_MEMORY_RESERVE;
|
||||
|
||||
EFI_GUID_STRING(&gEfiSmmPeiSmramMemoryReserve, "SMRAM Memory Reserve", "SMRAM Memory Reserve");
|
@@ -0,0 +1,70 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 1999 - 2002, 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:
|
||||
|
||||
SmramMemoryReserve.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID for use in reserving SMRAM regions.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_
|
||||
#define _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_
|
||||
|
||||
#define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \
|
||||
{ \
|
||||
0x6dadf1d1, 0xd4cc, 0x4910, 0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d \
|
||||
}
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// EFI_SMRAM_DESCRIPTOR
|
||||
// *******************************************************
|
||||
//
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS PhysicalStart; // Phsyical location in DRAM
|
||||
EFI_PHYSICAL_ADDRESS CpuStart; // Address CPU uses to access the SMI handler
|
||||
// May or may not match PhysicalStart
|
||||
//
|
||||
UINT64 PhysicalSize;
|
||||
UINT64 RegionState;
|
||||
} EFI_SMRAM_DESCRIPTOR;
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// EFI_SMRAM_STATE
|
||||
// *******************************************************
|
||||
//
|
||||
#define EFI_SMRAM_OPEN 0x00000001
|
||||
#define EFI_SMRAM_CLOSED 0x00000002
|
||||
#define EFI_SMRAM_LOCKED 0x00000004
|
||||
#define EFI_CACHEABLE 0x00000008
|
||||
#define EFI_ALLOCATED 0x00000010
|
||||
#define EFI_NEEDS_TESTING 0x00000020
|
||||
#define EFI_NEEDS_ECC_INITIALIZATION 0x00000040
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// EFI_SMRAM_HOB_DESCRIPTOR_BLOCK
|
||||
// *******************************************************
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 NumberOfSmmReservedRegions;
|
||||
EFI_SMRAM_DESCRIPTOR Descriptor[1];
|
||||
} EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;
|
||||
|
||||
extern EFI_GUID gEfiSmmPeiSmramMemoryReserve;
|
||||
|
||||
#endif
|
@@ -0,0 +1,47 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
StatusCodeDataTypeId.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used to identify id for the caller who is initiating the Status Code.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_GUID_DEFINITION (StatusCodeDataTypeId)
|
||||
|
||||
//
|
||||
// Taken out from StatusCode.C created by PRC
|
||||
//
|
||||
EFI_GUID gEfiStatusCodeDataTypeStringGuid = EFI_STATUS_CODE_DATA_TYPE_STRING_GUID;
|
||||
EFI_GUID gEfiStatusCodeDataTypeDebugGuid = EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID;
|
||||
EFI_GUID gEfiStatusCodeDataTypeAssertGuid = EFI_STATUS_CODE_DATA_TYPE_ASSERT_GUID;
|
||||
EFI_GUID gEfiStatusCodeDataTypeExceptionHandlerGuid = EFI_STATUS_CODE_DATA_TYPE_EXCEPTION_HANDLER_GUID;
|
||||
EFI_GUID gEfiStatusCodeDataTypeErrorGuid = EFI_STATUS_CODE_DATA_TYPE_ERROR_GUID;
|
||||
EFI_GUID gEfiStatusCodeDataTypeProgressCodeGuid = EFI_STATUS_CODE_DATA_TYPE_PROGRESS_CODE_GUID;
|
||||
|
||||
EFI_GUID gEfiStatusCodeSpecificDataGuid = EFI_STATUS_CODE_SPECIFIC_DATA_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiStatusCodeDataTypeStringGuid, "Status Code", "Data Hub record Data type String");
|
||||
EFI_GUID_STRING(&gEfiStatusCodeSpecificDataGuid, "Status Code", "Data Hub record Data type specific ");
|
||||
EFI_GUID_STRING(&gEfiStatusCodeDataTypeDebugGuid, "Status Code", "Data Hub record data type Debug");
|
||||
EFI_GUID_STRING(&gEfiStatusCodeDataTypeAssertGuid, "Status Code", "Data Hub record data type Assert");
|
||||
EFI_GUID_STRING(&gEfiStatusCodeDataTypeErrorGuid, "Status Code", "Data Hub record data type Error");
|
||||
EFI_GUID_STRING(&gEfiStatusCodeDataTypeProgressCodeGuid, "Status Code", "Data Hub record data type Progress Code");
|
||||
EFI_GUID_STRING
|
||||
(&gEfiStatusCodeDataTypeExceptionHandlerGuid, "Status Code", "Data Hub record Data type Exception handler");
|
||||
|
||||
EFI_GUID_STRING
|
||||
(&gEfiStatusCodeSpecificDataGuid, "Status Code Specific Data", "Specific Data for Tiano ReportStatusCode API");
|
@@ -0,0 +1,385 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
StatusCodeDataTypeId.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used to identify id for the caller who is initiating the Status Code.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _STATUS_CODE_DATA_TYPE_ID_H__
|
||||
#define _STATUS_CODE_DATA_TYPE_ID_H__
|
||||
|
||||
|
||||
#include "EfiStatusCode.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (DebugSupport)
|
||||
#include EFI_PROTOCOL_DEFINITION (Hii)
|
||||
//
|
||||
// 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
|
||||
|
||||
//
|
||||
// String Data Type defintion. This is part of Status Code Specification
|
||||
//
|
||||
#define EFI_STATUS_CODE_DATA_TYPE_STRING_GUID \
|
||||
{ \
|
||||
0x92D11080, 0x496F, 0x4D95, 0xBE, 0x7E, 0x03, 0x74, 0x88, 0x38, 0x2B, 0x0A \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeDataTypeStringGuid;
|
||||
|
||||
//
|
||||
// This GUID indicates that the format of the accompanying data depends
|
||||
// upon the Status Code Value, but follows this Specification
|
||||
//
|
||||
#define EFI_STATUS_CODE_SPECIFIC_DATA_GUID \
|
||||
{ \
|
||||
0x335984bd, 0xe805, 0x409a, 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeSpecificDataGuid;
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef enum {
|
||||
EfiStringAscii,
|
||||
EfiStringUnicode,
|
||||
EfiStringToken
|
||||
} EFI_STRING_TYPE;
|
||||
|
||||
//
|
||||
// HII string token
|
||||
//
|
||||
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()
|
||||
//
|
||||
// Debug Assert Data. This is part of Status Code Specification
|
||||
//
|
||||
#define EFI_STATUS_CODE_DATA_TYPE_ASSERT_GUID \
|
||||
{ \
|
||||
0xDA571595, 0x4D99, 0x487C, 0x82, 0x7C, 0x26, 0x22, 0x67, 0x7D, 0x33, 0x07 \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeDataTypeAssertGuid;
|
||||
|
||||
//
|
||||
// Exception Data type (CPU REGS)
|
||||
//
|
||||
#define EFI_STATUS_CODE_DATA_TYPE_EXCEPTION_HANDLER_GUID \
|
||||
{ \
|
||||
0x3BC2BD12, 0xAD2E, 0x11D5, 0x87, 0xDD, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeDataTypeExceptionHandlerGuid;
|
||||
|
||||
//
|
||||
// Debug DataType defintions. User Defined Data Types.
|
||||
//
|
||||
#define EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID \
|
||||
{ \
|
||||
0x9A4E9246, 0xD553, 0x11D5, 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xb9 \
|
||||
}
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
UINT32 ErrorLevel;
|
||||
//
|
||||
// 12 * sizeof (UINT64) Var Arg stack
|
||||
//
|
||||
// ascii DEBUG () Format string
|
||||
//
|
||||
} EFI_DEBUG_INFO;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid;
|
||||
|
||||
//
|
||||
// Progress Code. User Defined Data Type Guid.
|
||||
//
|
||||
#define EFI_STATUS_CODE_DATA_TYPE_ERROR_GUID \
|
||||
{ \
|
||||
0xAB359CE3, 0x99B3, 0xAE18, 0xC8, 0x9D, 0x95, 0xD3, 0xB0, 0x72, 0xE1, 0x9B \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid;
|
||||
|
||||
//
|
||||
// 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_DATA Voltage;
|
||||
EFI_EXP_DATA Threshold;
|
||||
} EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA;
|
||||
|
||||
//
|
||||
// Microcode Update Extended Error Data
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Version;
|
||||
} EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA;
|
||||
|
||||
//
|
||||
// Asynchronous Timer Extended Error Data
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_EXP_DATA TimerLimit;
|
||||
} EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA;
|
||||
|
||||
//
|
||||
// Host Processor Mismatch Extended Error Data
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Instance;
|
||||
UINT16 Attributes;
|
||||
} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA;
|
||||
|
||||
//
|
||||
// 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_DATA Temperature;
|
||||
EFI_EXP_DATA Threshold;
|
||||
} EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA;
|
||||
|
||||
//
|
||||
// Processor Disabled Extended Error Data
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
UINT32 Cause;
|
||||
BOOLEAN SoftwareDisabled;
|
||||
} EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA;
|
||||
|
||||
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;
|
||||
|
||||
//
|
||||
// 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;
|
||||
|
||||
//
|
||||
// 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;
|
||||
#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;
|
||||
|
||||
//
|
||||
// Memory Range Extended Data
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_PHYSICAL_ADDRESS Start;
|
||||
EFI_PHYSICAL_ADDRESS Length;
|
||||
} EFI_MEMORY_RANGE_EXTENDED_DATA;
|
||||
|
||||
//
|
||||
// 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;
|
||||
|
||||
//
|
||||
// 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;
|
||||
|
||||
//
|
||||
// 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;
|
||||
|
||||
//
|
||||
// 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;
|
||||
|
||||
//
|
||||
// Legacy Oprom extended data
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_DATA DataHeader;
|
||||
EFI_HANDLE DeviceHandle;
|
||||
EFI_PHYSICAL_ADDRESS RomImageBase;
|
||||
} EFI_LEGACY_OPROM_EXTENDED_DATA;
|
||||
|
||||
//
|
||||
// Progress Code. User Defined Data Type Guid.
|
||||
//
|
||||
#define EFI_STATUS_CODE_DATA_TYPE_PROGRESS_CODE_GUID \
|
||||
{ \
|
||||
0xA356AB39, 0x35C4, 0x35DA, 0xB3, 0x7A, 0xF8, 0xEA, 0x9E, 0x8B, 0x36, 0xA3 \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeDataTypeProgressCodeGuid;
|
||||
|
||||
#endif
|
38
EdkCompatibilityPkg/Foundation/Framework/Include/BootMode.h
Normal file
38
EdkCompatibilityPkg/Foundation/Framework/Include/BootMode.h
Normal file
@@ -0,0 +1,38 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
BootMode.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This includes for the Boot mode information.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_BOOT_MODE_H
|
||||
#define _EFI_BOOT_MODE_H
|
||||
|
||||
#define BOOT_WITH_FULL_CONFIGURATION 0x00
|
||||
#define BOOT_WITH_MINIMAL_CONFIGURATION 0x01
|
||||
#define BOOT_ASSUMING_NO_CONFIGURATION_CHANGES 0x02
|
||||
#define BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS 0x03
|
||||
#define BOOT_WITH_DEFAULT_SETTINGS 0x04
|
||||
#define BOOT_ON_S4_RESUME 0x05
|
||||
#define BOOT_ON_S5_RESUME 0x06
|
||||
#define BOOT_ON_S2_RESUME 0x10
|
||||
#define BOOT_ON_S3_RESUME 0x11
|
||||
#define BOOT_ON_FLASH_UPDATE 0x12
|
||||
#define BOOT_IN_RECOVERY_MODE 0x20
|
||||
#define BOOT_IN_RECOVERY_MODE_MASK 0x40
|
||||
#define BOOT_SPECIAL_MASK 0x80
|
||||
#endif
|
210
EdkCompatibilityPkg/Foundation/Framework/Include/EfiBootScript.h
Normal file
210
EdkCompatibilityPkg/Foundation/Framework/Include/EfiBootScript.h
Normal file
@@ -0,0 +1,210 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
EfiBootScript.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_SCRIPT_H_
|
||||
#define _EFI_SCRIPT_H_
|
||||
|
||||
#include "EfiSmbus.h"
|
||||
|
||||
#define EFI_ACPI_S3_RESUME_SCRIPT_TABLE 0x00
|
||||
|
||||
//
|
||||
// Boot Script Opcode Definitions
|
||||
//
|
||||
typedef const UINT16 EFI_BOOT_SCRIPT_OPCODE;
|
||||
|
||||
#define EFI_BOOT_SCRIPT_IO_WRITE_OPCODE 0x00
|
||||
#define EFI_BOOT_SCRIPT_IO_READ_WRITE_OPCODE 0x01
|
||||
#define EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE 0x02
|
||||
#define EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE 0x03
|
||||
#define EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE_OPCODE 0x04
|
||||
#define EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE_OPCODE 0x05
|
||||
#define EFI_BOOT_SCRIPT_SMBUS_EXECUTE_OPCODE 0x06
|
||||
#define EFI_BOOT_SCRIPT_STALL_OPCODE 0x07
|
||||
#define EFI_BOOT_SCRIPT_DISPATCH_OPCODE 0x08
|
||||
#define EFI_BOOT_SCRIPT_INFORMATION_OPCODE 0x0A
|
||||
|
||||
#define EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE_OPCODE 0x0B
|
||||
#define EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE_OPCODE 0x0C
|
||||
|
||||
#define EFI_BOOT_SCRIPT_TABLE_OPCODE 0xAA
|
||||
#define EFI_BOOT_SCRIPT_TERMINATE_OPCODE 0xFF
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
// EFI Boot Script Width
|
||||
//
|
||||
typedef enum {
|
||||
EfiBootScriptWidthUint8,
|
||||
EfiBootScriptWidthUint16,
|
||||
EfiBootScriptWidthUint32,
|
||||
EfiBootScriptWidthUint64,
|
||||
EfiBootScriptWidthFifoUint8,
|
||||
EfiBootScriptWidthFifoUint16,
|
||||
EfiBootScriptWidthFifoUint32,
|
||||
EfiBootScriptWidthFifoUint64,
|
||||
EfiBootScriptWidthFillUint8,
|
||||
EfiBootScriptWidthFillUint16,
|
||||
EfiBootScriptWidthFillUint32,
|
||||
EfiBootScriptWidthFillUint64,
|
||||
EfiBootScriptWidthMaximum
|
||||
} EFI_BOOT_SCRIPT_WIDTH;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
} EFI_BOOT_SCRIPT_GENERIC_HEADER;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT16 Version;
|
||||
UINT32 TableLength;
|
||||
UINT16 Reserved[2];
|
||||
} EFI_BOOT_SCRIPT_TABLE_HEADER;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
} EFI_BOOT_SCRIPT_COMMON_HEADER;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT32 Count;
|
||||
UINT64 Address;
|
||||
} EFI_BOOT_SCRIPT_IO_WRITE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT64 Address;
|
||||
} EFI_BOOT_SCRIPT_IO_READ_WRITE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT32 Count;
|
||||
UINT64 Address;
|
||||
} EFI_BOOT_SCRIPT_MEM_WRITE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT64 Address;
|
||||
} EFI_BOOT_SCRIPT_MEM_READ_WRITE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT32 Count;
|
||||
UINT64 Address;
|
||||
} EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT32 Count;
|
||||
UINT64 Address;
|
||||
UINT16 Segment;
|
||||
} EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT64 Address;
|
||||
} EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 Width;
|
||||
UINT64 Address;
|
||||
UINT16 Segment;
|
||||
} EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE;
|
||||
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT64 SlaveAddress;
|
||||
UINT64 Command;
|
||||
UINT32 Operation;
|
||||
BOOLEAN PecCheck;
|
||||
UINT32 DataSize;
|
||||
} EFI_BOOT_SCRIPT_SMBUS_EXECUTE;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT64 Duration;
|
||||
} EFI_BOOT_SCRIPT_STALL;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
EFI_PHYSICAL_ADDRESS EntryPoint;
|
||||
} EFI_BOOT_SCRIPT_DISPATCH;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
UINT32 InformationLength;
|
||||
EFI_PHYSICAL_ADDRESS Information;
|
||||
} EFI_BOOT_SCRIPT_INFORMATION;
|
||||
|
||||
typedef struct {
|
||||
UINT16 OpCode;
|
||||
UINT8 Length;
|
||||
} EFI_BOOT_SCRIPT_TERMINATE;
|
||||
|
||||
typedef union {
|
||||
EFI_BOOT_SCRIPT_GENERIC_HEADER *Header;
|
||||
EFI_BOOT_SCRIPT_TABLE_HEADER *TableInfo;
|
||||
EFI_BOOT_SCRIPT_IO_WRITE *IoWrite;
|
||||
EFI_BOOT_SCRIPT_IO_READ_WRITE *IoReadWrite;
|
||||
EFI_BOOT_SCRIPT_MEM_WRITE *MemWrite;
|
||||
EFI_BOOT_SCRIPT_MEM_READ_WRITE *MemReadWrite;
|
||||
EFI_BOOT_SCRIPT_PCI_CONFIG_WRITE *PciWrite;
|
||||
EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE *PciReadWrite;
|
||||
EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE *PciWrite2;
|
||||
EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE *PciReadWrite2;
|
||||
EFI_BOOT_SCRIPT_SMBUS_EXECUTE *SmbusExecute;
|
||||
EFI_BOOT_SCRIPT_STALL *Stall;
|
||||
EFI_BOOT_SCRIPT_DISPATCH *Dispatch;
|
||||
EFI_BOOT_SCRIPT_INFORMATION *Information;
|
||||
EFI_BOOT_SCRIPT_TERMINATE *Terminate;
|
||||
EFI_BOOT_SCRIPT_COMMON_HEADER *CommonHeader;
|
||||
UINT8 *Raw;
|
||||
} BOOT_SCRIPT_POINTERS;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
136
EdkCompatibilityPkg/Foundation/Framework/Include/EfiCapsule.h
Normal file
136
EdkCompatibilityPkg/Foundation/Framework/Include/EfiCapsule.h
Normal file
@@ -0,0 +1,136 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
EfiCapsule.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Defines for the EFI Capsule functionality
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_CAPSULE_H_
|
||||
#define _EFI_CAPSULE_H_
|
||||
|
||||
|
||||
#define CAPSULE_BLOCK_DESCRIPTOR_SIGNATURE EFI_SIGNATURE_32 ('C', 'B', 'D', 'S')
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID OemGuid;
|
||||
UINT32 HeaderSize;
|
||||
//
|
||||
// UINT8 OemHdrData[];
|
||||
//
|
||||
} EFI_CAPSULE_OEM_HEADER;
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
||||
|
||||
#define MAX_SUPPORT_CAPSULE_NUM 50
|
||||
#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000
|
||||
#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
|
||||
|
||||
typedef struct {
|
||||
UINT64 Length;
|
||||
union {
|
||||
EFI_PHYSICAL_ADDRESS DataBlock;
|
||||
EFI_PHYSICAL_ADDRESS ContinuationPointer;
|
||||
} Union;
|
||||
} EFI_CAPSULE_BLOCK_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID CapsuleGuid;
|
||||
UINT32 HeaderSize;
|
||||
UINT32 Flags;
|
||||
UINT32 CapsuleImageSize;
|
||||
} EFI_CAPSULE_HEADER;
|
||||
|
||||
typedef struct {
|
||||
UINT32 CapsuleArrayNumber;
|
||||
VOID* CapsulePtr[1];
|
||||
} EFI_CAPSULE_TABLE;
|
||||
|
||||
typedef struct {
|
||||
UINT32 CapsuleGuidNumber;
|
||||
EFI_GUID CapsuleGuidPtr[1];
|
||||
} EFI_CAPSULE_INFO_TABLE;
|
||||
|
||||
//
|
||||
// This GUID is used for collecting all capsules' Guids who install in ConfigTable.
|
||||
//
|
||||
#define EFI_CAPSULE_INFO_GUID \
|
||||
{ \
|
||||
0x8B34EAC7, 0x2690, 0x460B, 0x8B, 0xA5, 0xD5, 0xCF, 0x32, 0x83, 0x17, 0x35 \
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID CapsuleGuid;
|
||||
UINT32 HeaderSize;
|
||||
UINT32 Flags;
|
||||
UINT32 CapsuleImageSize;
|
||||
UINT32 SequenceNumber;
|
||||
EFI_GUID InstanceId;
|
||||
UINT32 OffsetToSplitInformation;
|
||||
UINT32 OffsetToCapsuleBody;
|
||||
UINT32 OffsetToOemDefinedHeader;
|
||||
UINT32 OffsetToAuthorInformation;
|
||||
UINT32 OffsetToRevisionInformation;
|
||||
UINT32 OffsetToShortDescription;
|
||||
UINT32 OffsetToLongDescription;
|
||||
UINT32 OffsetToApplicableDevices;
|
||||
} EFI_CAPSULE_HEADER;
|
||||
|
||||
//
|
||||
// An array of these describe the blocks that make up a capsule for
|
||||
// a capsule update.
|
||||
//
|
||||
typedef struct {
|
||||
UINT64 Length; // length of the data block
|
||||
EFI_PHYSICAL_ADDRESS Data; // physical address of the data block
|
||||
UINT32 Signature; // CBDS
|
||||
UINT32 CheckSum; // to sum this structure to 0
|
||||
} EFI_CAPSULE_BLOCK_DESCRIPTOR;
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// Bits in the flags field of the capsule header
|
||||
//
|
||||
#define EFI_CAPSULE_HEADER_FLAG_SETUP 0x00000001 // supports setup changes
|
||||
//
|
||||
// This is the GUID of the capsule header of the image on disk.
|
||||
//
|
||||
#define EFI_CAPSULE_GUID \
|
||||
{ \
|
||||
0x3B6686BD, 0x0D76, 0x4030, 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 \
|
||||
}
|
||||
|
||||
//
|
||||
// This is the GUID of the file created by the capsule application that contains
|
||||
// the path to the device(s) to update.
|
||||
//
|
||||
#define EFI_PATH_FILE_NAME_GUID \
|
||||
{ \
|
||||
0x7644C181, 0xFA6E, 0x46DA, 0x80, 0xCB, 0x04, 0xB9, 0x90, 0x40, 0x62, 0xE8 \
|
||||
}
|
||||
//
|
||||
// This is the GUID of the configuration results file created by the capsule
|
||||
// application.
|
||||
//
|
||||
#define EFI_CONFIG_FILE_NAME_GUID \
|
||||
{ \
|
||||
0x98B8D59B, 0xE8BA, 0x48EE, 0x98, 0xDD, 0xC2, 0x95, 0x39, 0x2F, 0x1E, 0xDB \
|
||||
}
|
||||
|
||||
#endif // #ifndef _EFI_CAPSULE_H_
|
@@ -0,0 +1,52 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
EfiDependency.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This module contains data specific to dependency expressions
|
||||
and local function prototypes.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DEPENDENCY_H_
|
||||
#define _DEPENDENCY_H_
|
||||
|
||||
//
|
||||
//
|
||||
// EFI_DEP_BEFORE - If present, it must be the first and only opcode
|
||||
// EFI_DEP_AFTER - If present, it must be the first and only opcode
|
||||
// EFI_DEP_SOR - If present, it must be the first opcode
|
||||
// EFI_DEP_REPLACE_TRUE - Used to dynamically patch the dependecy expression
|
||||
// to save time. A EFI_DEP_PUSH is evauated one an
|
||||
// replaced with EFI_DEP_REPLACE_TRUE
|
||||
//
|
||||
#define EFI_DEP_BEFORE 0x00
|
||||
#define EFI_DEP_AFTER 0x01
|
||||
#define EFI_DEP_PUSH 0x02
|
||||
#define EFI_DEP_AND 0x03
|
||||
#define EFI_DEP_OR 0x04
|
||||
#define EFI_DEP_NOT 0x05
|
||||
#define EFI_DEP_TRUE 0x06
|
||||
#define EFI_DEP_FALSE 0x07
|
||||
#define EFI_DEP_END 0x08
|
||||
#define EFI_DEP_SOR 0x09
|
||||
#define EFI_DEP_REPLACE_TRUE 0xff
|
||||
|
||||
//
|
||||
// Define the initial size of the dependency expression evaluation stack
|
||||
//
|
||||
#define DEPEX_STACK_SIZE_INCREMENT 0x1000
|
||||
|
||||
#endif
|
@@ -0,0 +1,128 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
EfiFirmwareFileSystem.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This file defines the data structures that comprise the FFS file system.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_FFS_FILE_SYSTEM_H_
|
||||
#define _EFI_FFS_FILE_SYSTEM_H_
|
||||
|
||||
#include "EfiImageFormat.h"
|
||||
|
||||
//
|
||||
// GUIDs defined by the FFS specification.
|
||||
//
|
||||
#define EFI_FIRMWARE_FILE_SYSTEM_GUID \
|
||||
{ \
|
||||
0x7A9354D9, 0x0468, 0x444a, 0x81, 0xCE, 0x0B, 0xF6, 0x17, 0xD8, 0x90, 0xDF \
|
||||
}
|
||||
|
||||
#define EFI_FFS_VOLUME_TOP_FILE_GUID \
|
||||
{ \
|
||||
0x1BA0062E, 0xC779, 0x4582, 0x85, 0x66, 0x33, 0x6A, 0xE8, 0xF7, 0x8F, 0x9 \
|
||||
}
|
||||
|
||||
//
|
||||
// FFS specific file types
|
||||
//
|
||||
#define EFI_FV_FILETYPE_FFS_PAD 0xF0
|
||||
|
||||
//
|
||||
// FFS File Attributes
|
||||
//
|
||||
#define FFS_ATTRIB_TAIL_PRESENT 0x01
|
||||
#define FFS_ATTRIB_RECOVERY 0x02
|
||||
#define FFS_ATTRIB_DATA_ALIGNMENT 0x38
|
||||
#define FFS_ATTRIB_CHECKSUM 0x40
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
#define FFS_ATTRIB_HEADER_EXTENSION 0x04
|
||||
#else
|
||||
//
|
||||
// PI 1.0 definition.
|
||||
//
|
||||
#define FFS_ATTRIB_FIXED 0x04
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// FFS_FIXED_CHECKSUM is the default checksum value used when the
|
||||
// FFS_ATTRIB_CHECKSUM attribute bit is clear
|
||||
// note this is NOT an architecturally defined value, but is in this file for
|
||||
// implementation convenience
|
||||
//
|
||||
#define FFS_FIXED_CHECKSUM 0x5A
|
||||
|
||||
|
||||
//
|
||||
// File state definitions
|
||||
//
|
||||
#define EFI_FILE_HEADER_CONSTRUCTION 0x01
|
||||
#define EFI_FILE_HEADER_VALID 0x02
|
||||
#define EFI_FILE_DATA_VALID 0x04
|
||||
#define EFI_FILE_MARKED_FOR_UPDATE 0x08
|
||||
#define EFI_FILE_DELETED 0x10
|
||||
#define EFI_FILE_HEADER_INVALID 0x20
|
||||
|
||||
#define EFI_FILE_ALL_STATE_BITS (EFI_FILE_HEADER_CONSTRUCTION | \
|
||||
EFI_FILE_HEADER_VALID | \
|
||||
EFI_FILE_DATA_VALID | \
|
||||
EFI_FILE_MARKED_FOR_UPDATE | \
|
||||
EFI_FILE_DELETED | \
|
||||
EFI_FILE_HEADER_INVALID \
|
||||
)
|
||||
|
||||
#define EFI_TEST_FFS_ATTRIBUTES_BIT(FvbAttributes, TestAttributes, Bit) \
|
||||
( \
|
||||
(BOOLEAN) ( \
|
||||
(FvbAttributes & EFI_FVB_ERASE_POLARITY) ? (((~TestAttributes) & Bit) == Bit) : ((TestAttributes & Bit) == Bit) \
|
||||
) \
|
||||
)
|
||||
|
||||
//
|
||||
// FFS file integrity check structure
|
||||
//
|
||||
typedef UINT16 EFI_FFS_FILE_TAIL;
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
UINT8 Header;
|
||||
UINT8 File;
|
||||
} Checksum;
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
UINT16 TailReference;
|
||||
#else
|
||||
UINT16 Checksum16;
|
||||
#endif
|
||||
} EFI_FFS_INTEGRITY_CHECK;
|
||||
|
||||
//
|
||||
// FFS file header definition
|
||||
//
|
||||
typedef UINT8 EFI_FFS_FILE_ATTRIBUTES;
|
||||
typedef UINT8 EFI_FFS_FILE_STATE;
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID Name;
|
||||
EFI_FFS_INTEGRITY_CHECK IntegrityCheck;
|
||||
EFI_FV_FILETYPE Type;
|
||||
EFI_FFS_FILE_ATTRIBUTES Attributes;
|
||||
UINT8 Size[3];
|
||||
EFI_FFS_FILE_STATE State;
|
||||
} EFI_FFS_FILE_HEADER;
|
||||
|
||||
#endif
|
@@ -0,0 +1,46 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EfiFirmwareVolume.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_FIRMWARE_VOLUME_H_
|
||||
#define _EFI_FIRMWARE_VOLUME_H_
|
||||
|
||||
|
||||
#define FV_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', '_')
|
||||
#define EFI_FV_FILE_ATTRIB_ALIGNMENT 0x0000001F
|
||||
#define EFI_FV_UNRELIABLE_WRITE 0x00000000
|
||||
#define EFI_FV_RELIABLE_WRITE 0x00000001
|
||||
|
||||
|
||||
//
|
||||
// EFI_FV_ATTRIBUTES bit definitions
|
||||
//
|
||||
typedef UINT64 EFI_FV_ATTRIBUTES;
|
||||
typedef UINT32 EFI_FV_FILE_ATTRIBUTES;
|
||||
typedef UINT32 EFI_FV_WRITE_POLICY;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID *NameGuid;
|
||||
EFI_FV_FILETYPE Type;
|
||||
EFI_FV_FILE_ATTRIBUTES FileAttributes;
|
||||
VOID *Buffer;
|
||||
UINT32 BufferSize;
|
||||
} EFI_FV_WRITE_FILE_DATA;
|
||||
|
||||
#endif
|
@@ -0,0 +1,213 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
EfiFirmwareVolumeHeader.h
|
||||
|
||||
Abstract:
|
||||
|
||||
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.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_FIRMWARE_VOLUME_HEADER_H_
|
||||
#define _EFI_FIRMWARE_VOLUME_HEADER_H_
|
||||
|
||||
|
||||
//
|
||||
// Firmware Volume Block Attributes bit definitions
|
||||
// They are the shared between Framework and PI1.0.
|
||||
//
|
||||
typedef UINT32 EFI_FVB_ATTRIBUTES;
|
||||
|
||||
#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
|
||||
|
||||
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
|
||||
#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_FVB_STATUS (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS)
|
||||
|
||||
|
||||
|
||||
#else
|
||||
|
||||
#define EFI_FVB2_READ_LOCK_CAP 0x00001000
|
||||
#define EFI_FVB2_READ_LOCK_STATUS 0x00002000
|
||||
|
||||
#define EFI_FVB2_WRITE_LOCK_CAP 0x00004000
|
||||
#define EFI_FVB2_WRITE_LOCK_STATUS 0x00008000
|
||||
|
||||
#define EFI_FVB2_ALIGNMENT 0x001F0000
|
||||
#define EFI_FVB2_ALIGNMENT_1 0x00000000
|
||||
#define EFI_FVB2_ALIGNMENT_2 0x00010000
|
||||
#define EFI_FVB2_ALIGNMENT_4 0x00020000
|
||||
#define EFI_FVB2_ALIGNMENT_8 0x00030000
|
||||
#define EFI_FVB2_ALIGNMENT_16 0x00040000
|
||||
#define EFI_FVB2_ALIGNMENT_32 0x00050000
|
||||
#define EFI_FVB2_ALIGNMENT_64 0x00060000
|
||||
#define EFI_FVB2_ALIGNMENT_128 0x00070000
|
||||
#define EFI_FVB2_ALIGNMENT_256 0x00080000
|
||||
#define EFI_FVB2_ALIGNMENT_512 0x00090000
|
||||
#define EFI_FVB2_ALIGNMENT_1K 0x000A0000
|
||||
#define EFI_FVB2_ALIGNMENT_2K 0x000B0000
|
||||
#define EFI_FVB2_ALIGNMENT_4K 0x000C0000
|
||||
#define EFI_FVB2_ALIGNMENT_8K 0x000D0000
|
||||
#define EFI_FVB2_ALIGNMENT_16K 0x000E0000
|
||||
#define EFI_FVB2_ALIGNMENT_32K 0x000F0000
|
||||
#define EFI_FVB2_ALIGNMENT_64K 0x00100000
|
||||
#define EFI_FVB2_ALIGNMENT_128K 0x00110000
|
||||
#define EFI_FVB2_ALIGNMENT_256K 0x00120000
|
||||
#define EFI_FVB2_ALIGNMNET_512K 0x00130000
|
||||
#define EFI_FVB2_ALIGNMENT_1M 0x00140000
|
||||
#define EFI_FVB2_ALIGNMENT_2M 0x00150000
|
||||
#define EFI_FVB2_ALIGNMENT_4M 0x00160000
|
||||
#define EFI_FVB2_ALIGNMENT_8M 0x00170000
|
||||
#define EFI_FVB2_ALIGNMENT_16M 0x00180000
|
||||
#define EFI_FVB2_ALIGNMENT_32M 0x00190000
|
||||
#define EFI_FVB2_ALIGNMENT_64M 0x001A0000
|
||||
#define EFI_FVB2_ALIGNMENT_128M 0x001B0000
|
||||
#define EFI_FVB2_ALIGNMENT_256M 0x001C0000
|
||||
#define EFI_FVB2_ALIGNMENT_512M 0x001D0000
|
||||
#define EFI_FVB2_ALIGNMENT_1G 0x001E0000
|
||||
#define EFI_FVB2_ALIGNMENT_2G 0x001F0000
|
||||
|
||||
#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 | \
|
||||
EFI_FVB2_READ_LOCK_CAP | \
|
||||
EFI_FVB2_WRITE_LOCK_CAP )
|
||||
|
||||
#define EFI_FVB_STATUS (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | \
|
||||
EFI_FVB_LOCK_STATUS | EFI_FVB2_READ_LOCK_STATUS | \
|
||||
EFI_FVB2_WRITE_LOCK_STATUS )
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Extended Header Header. Located via ExtHeaderOffset.
|
||||
// The extended headers follow each other in memory and are
|
||||
// terminated by ExtHeaderType EFI_FV_EXT_TYPE_END
|
||||
//
|
||||
#define EFI_FV_EXT_TYPE_END 0x00
|
||||
typedef struct {
|
||||
UINT16 ExtEntrySize;
|
||||
UINT16 ExtEntryType;
|
||||
} EFI_FIRMWARE_VOLUME_EXT_ENTRY;
|
||||
|
||||
//
|
||||
// GUID that maps OEM file types to GUIDs
|
||||
//
|
||||
#define EFI_FV_EXT_TYPE_OEM_TYPE 0x01
|
||||
typedef struct {
|
||||
EFI_FIRMWARE_VOLUME_EXT_ENTRY Hdr;
|
||||
UINT32 TypeMask;
|
||||
EFI_GUID Types[1];
|
||||
} EFI_FIRMWARE_VOLUME_EXT_HEADER_OEM_TYPE;
|
||||
|
||||
//
|
||||
// Unique name of the FV
|
||||
//
|
||||
typedef struct {
|
||||
EFI_GUID FvName;
|
||||
UINT32 ExtHeaderSize;
|
||||
} EFI_FIRMWARE_VOLUME_EXT_HEADER;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Firmware Volume Header Revision definition
|
||||
//
|
||||
#define EFI_FVH_REVISION 0x01
|
||||
//
|
||||
// PI1.0 define Firmware Volume Header Revision to 2
|
||||
//
|
||||
#define EFI_FVH_PI_REVISION 0x02
|
||||
|
||||
//
|
||||
// Firmware Volume Header Signature definition
|
||||
//
|
||||
#define EFI_FVH_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', 'H')
|
||||
|
||||
//
|
||||
// Firmware Volume Header Block Map Entry definition
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 NumBlocks;
|
||||
UINT32 BlockLength;
|
||||
} EFI_FV_BLOCK_MAP_ENTRY;
|
||||
|
||||
//
|
||||
// Firmware Volume Header definition
|
||||
//
|
||||
typedef struct {
|
||||
UINT8 ZeroVector[16];
|
||||
EFI_GUID FileSystemGuid;
|
||||
UINT64 FvLength;
|
||||
UINT32 Signature;
|
||||
EFI_FVB_ATTRIBUTES Attributes;
|
||||
UINT16 HeaderLength;
|
||||
UINT16 Checksum;
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
UINT8 Reserved[3];
|
||||
#else
|
||||
UINT16 ExtHeaderOffset;
|
||||
UINT8 Reserved[1];
|
||||
#endif
|
||||
UINT8 Revision;
|
||||
EFI_FV_BLOCK_MAP_ENTRY FvBlockMap[1];
|
||||
} EFI_FIRMWARE_VOLUME_HEADER;
|
||||
|
||||
#endif
|
@@ -0,0 +1,279 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
EfiImageFormat.h
|
||||
|
||||
Abstract:
|
||||
|
||||
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.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_IMAGE_FORMAT_H_
|
||||
#define _EFI_IMAGE_FORMAT_H_
|
||||
|
||||
//
|
||||
// pack all data structures since this is actually a binary format and we cannot
|
||||
// allow internal padding in the data structures because of some compilerism..
|
||||
//
|
||||
#pragma pack(1)
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Architectural file types
|
||||
//
|
||||
typedef UINT8 EFI_FV_FILETYPE;
|
||||
|
||||
#define EFI_FV_FILETYPE_ALL 0x00
|
||||
#define EFI_FV_FILETYPE_RAW 0x01
|
||||
#define EFI_FV_FILETYPE_FREEFORM 0x02
|
||||
#define EFI_FV_FILETYPE_SECURITY_CORE 0x03
|
||||
#define EFI_FV_FILETYPE_PEI_CORE 0x04
|
||||
#define EFI_FV_FILETYPE_DXE_CORE 0x05
|
||||
#define EFI_FV_FILETYPE_PEIM 0x06
|
||||
#define EFI_FV_FILETYPE_DRIVER 0x07
|
||||
#define EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER 0x08
|
||||
#define EFI_FV_FILETYPE_APPLICATION 0x09
|
||||
//
|
||||
// File type 0x0A is reserved and should not be used
|
||||
//
|
||||
#define EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE 0x0B
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Section types
|
||||
//
|
||||
typedef UINT8 EFI_SECTION_TYPE;
|
||||
|
||||
//
|
||||
// ************************************************************
|
||||
// The section type EFI_SECTION_ALL is a psuedo type. It is
|
||||
// used as a wildcard when retrieving sections. The section
|
||||
// type EFI_SECTION_ALL matches all section types.
|
||||
// ************************************************************
|
||||
//
|
||||
#define EFI_SECTION_ALL 0x00
|
||||
|
||||
//
|
||||
// ************************************************************
|
||||
// Encapsulation section Type values
|
||||
// ************************************************************
|
||||
//
|
||||
#define EFI_SECTION_COMPRESSION 0x01
|
||||
#define EFI_SECTION_GUID_DEFINED 0x02
|
||||
|
||||
//
|
||||
// ************************************************************
|
||||
// Leaf section Type values
|
||||
// ************************************************************
|
||||
//
|
||||
#define EFI_SECTION_FIRST_LEAF_SECTION_TYPE 0x10
|
||||
|
||||
#define EFI_SECTION_PE32 0x10
|
||||
#define EFI_SECTION_PIC 0x11
|
||||
#define EFI_SECTION_TE 0x12
|
||||
#define EFI_SECTION_DXE_DEPEX 0x13
|
||||
#define EFI_SECTION_VERSION 0x14
|
||||
#define EFI_SECTION_USER_INTERFACE 0x15
|
||||
#define EFI_SECTION_COMPATIBILITY16 0x16
|
||||
#define EFI_SECTION_FIRMWARE_VOLUME_IMAGE 0x17
|
||||
#define EFI_SECTION_FREEFORM_SUBTYPE_GUID 0x18
|
||||
#define EFI_SECTION_RAW 0x19
|
||||
#define EFI_SECTION_PEI_DEPEX 0x1B
|
||||
|
||||
#define EFI_SECTION_LAST_LEAF_SECTION_TYPE 0x1B
|
||||
#define EFI_SECTION_LAST_SECTION_TYPE 0x1B
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Common section header
|
||||
//
|
||||
typedef struct {
|
||||
UINT8 Size[3];
|
||||
UINT8 Type;
|
||||
} EFI_COMMON_SECTION_HEADER;
|
||||
|
||||
#define SECTION_SIZE(SectionHeaderPtr) \
|
||||
((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) SectionHeaderPtr)->Size) & 0x00ffffff))
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Compression section
|
||||
//
|
||||
//
|
||||
// CompressionType values
|
||||
//
|
||||
#define EFI_NOT_COMPRESSED 0x00
|
||||
#define EFI_STANDARD_COMPRESSION 0x01
|
||||
#define EFI_CUSTOMIZED_COMPRESSION 0x02
|
||||
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
UINT32 UncompressedLength;
|
||||
UINT8 CompressionType;
|
||||
} EFI_COMPRESSION_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// GUID defined section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
EFI_GUID SectionDefinitionGuid;
|
||||
UINT16 DataOffset;
|
||||
UINT16 Attributes;
|
||||
} EFI_GUID_DEFINED_SECTION;
|
||||
|
||||
//
|
||||
// Bit values for Attributes
|
||||
//
|
||||
#define EFI_GUIDED_SECTION_PROCESSING_REQUIRED 0x01
|
||||
#define EFI_GUIDED_SECTION_AUTH_STATUS_VALID 0x02
|
||||
|
||||
//
|
||||
// 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
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PE32+ section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
} EFI_PE32_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PIC section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
} EFI_PIC_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PEIM header section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
} EFI_PEIM_HEADER_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DEPEX section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
} EFI_DEPEX_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
UINT16 BuildNumber;
|
||||
INT16 VersionString[1];
|
||||
} EFI_VERSION_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// User interface section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
INT16 FileNameString[1];
|
||||
} EFI_USER_INTERFACE_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Code16 section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
} EFI_CODE16_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Firmware Volume Image section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
} EFI_FIRMWARE_VOLUME_IMAGE_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Freeform subtype GUID section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
EFI_GUID SubTypeGuid;
|
||||
} EFI_FREEFORM_SUBTYPE_GUID_SECTION;
|
||||
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Raw section
|
||||
//
|
||||
typedef struct {
|
||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||
} EFI_RAW_SECTION;
|
||||
|
||||
//
|
||||
// undo the pragma from the beginning...
|
||||
//
|
||||
#pragma pack()
|
||||
|
||||
typedef union {
|
||||
EFI_COMMON_SECTION_HEADER *CommonHeader;
|
||||
EFI_COMPRESSION_SECTION *CompressionSection;
|
||||
EFI_GUID_DEFINED_SECTION *GuidDefinedSection;
|
||||
EFI_PE32_SECTION *Pe32Section;
|
||||
EFI_PIC_SECTION *PicSection;
|
||||
EFI_PEIM_HEADER_SECTION *PeimHeaderSection;
|
||||
EFI_DEPEX_SECTION *DependencySection;
|
||||
EFI_VERSION_SECTION *VersionSection;
|
||||
EFI_USER_INTERFACE_SECTION *UISection;
|
||||
EFI_CODE16_SECTION *Code16Section;
|
||||
EFI_FIRMWARE_VOLUME_IMAGE_SECTION *FVImageSection;
|
||||
EFI_FREEFORM_SUBTYPE_GUID_SECTION *FreeformSubtypeSection;
|
||||
EFI_RAW_SECTION *RawSection;
|
||||
} EFI_FILE_SECTION_POINTER;
|
||||
|
||||
#endif
|
@@ -0,0 +1,431 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 2005, 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:
|
||||
|
||||
EfiInternalFormRepresentation.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This file defines the encoding for the VFR (Visual Form Representation) language.
|
||||
IFR is primarily consumed by the EFI presentation engine, and produced by EFI
|
||||
internal application and drivers as well as all add-in card option-ROM drivers
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_INTERNAL_FORM_REPRESENTATION_H_
|
||||
#define _EFI_INTERNAL_FORM_REPRESENTATION_H_
|
||||
|
||||
//
|
||||
// The following types are currently defined:
|
||||
//
|
||||
typedef UINT32 RELOFST;
|
||||
typedef UINT16 STRING_REF;
|
||||
typedef CHAR16 *EFI_STRING;
|
||||
|
||||
//
|
||||
// IFR Op codes
|
||||
//
|
||||
#define EFI_IFR_FORM_OP 0x01
|
||||
#define EFI_IFR_SUBTITLE_OP 0x02
|
||||
#define EFI_IFR_TEXT_OP 0x03
|
||||
#define EFI_IFR_GRAPHIC_OP 0x04
|
||||
#define EFI_IFR_ONE_OF_OP 0x05
|
||||
#define EFI_IFR_CHECKBOX_OP 0x06
|
||||
#define EFI_IFR_NUMERIC_OP 0x07
|
||||
#define EFI_IFR_PASSWORD_OP 0x08
|
||||
#define EFI_IFR_ONE_OF_OPTION_OP 0x09 // ONEOF OPTION field
|
||||
#define EFI_IFR_SUPPRESS_IF_OP 0x0A
|
||||
#define EFI_IFR_END_FORM_OP 0x0B
|
||||
#define EFI_IFR_HIDDEN_OP 0x0C
|
||||
#define EFI_IFR_END_FORM_SET_OP 0x0D
|
||||
#define EFI_IFR_FORM_SET_OP 0x0E
|
||||
#define EFI_IFR_REF_OP 0x0F
|
||||
#define EFI_IFR_END_ONE_OF_OP 0x10
|
||||
#define EFI_IFR_END_OP EFI_IFR_END_ONE_OF_OP
|
||||
#define EFI_IFR_INCONSISTENT_IF_OP 0x11
|
||||
#define EFI_IFR_EQ_ID_VAL_OP 0x12
|
||||
#define EFI_IFR_EQ_ID_ID_OP 0x13
|
||||
#define EFI_IFR_EQ_ID_LIST_OP 0x14
|
||||
#define EFI_IFR_AND_OP 0x15
|
||||
#define EFI_IFR_OR_OP 0x16
|
||||
#define EFI_IFR_NOT_OP 0x17
|
||||
#define EFI_IFR_END_IF_OP 0x18 // for endif of inconsistentif, suppressif, grayoutif
|
||||
#define EFI_IFR_GRAYOUT_IF_OP 0x19
|
||||
#define EFI_IFR_DATE_OP 0x1A
|
||||
#define EFI_IFR_TIME_OP 0x1B
|
||||
#define EFI_IFR_STRING_OP 0x1C
|
||||
#define EFI_IFR_LABEL_OP 0x1D
|
||||
#define EFI_IFR_SAVE_DEFAULTS_OP 0x1E
|
||||
#define EFI_IFR_RESTORE_DEFAULTS_OP 0x1F
|
||||
#define EFI_IFR_BANNER_OP 0x20
|
||||
#define EFI_IFR_INVENTORY_OP 0x21
|
||||
#define EFI_IFR_EQ_VAR_VAL_OP 0x22
|
||||
#define EFI_IFR_ORDERED_LIST_OP 0x23
|
||||
#define EFI_IFR_VARSTORE_OP 0x24
|
||||
#define EFI_IFR_VARSTORE_SELECT_OP 0x25
|
||||
#define EFI_IFR_VARSTORE_SELECT_PAIR_OP 0x26
|
||||
#define EFI_IFR_TRUE_OP 0x27
|
||||
#define EFI_IFR_FALSE_OP 0x28
|
||||
#define EFI_IFR_GT_OP 0x29
|
||||
#define EFI_IFR_GE_OP 0x2A
|
||||
#define EFI_IFR_OEM_DEFINED_OP 0x2B
|
||||
#define EFI_IFR_LAST_OPCODE EFI_IFR_OEM_DEFINED_OP
|
||||
#define EFI_IFR_OEM_OP 0xFE
|
||||
#define EFI_IFR_NV_ACCESS_COMMAND 0xFF
|
||||
|
||||
//
|
||||
// Define values for the flags fields in some VFR opcodes. These are
|
||||
// bitmasks.
|
||||
//
|
||||
#define EFI_IFR_FLAG_DEFAULT 0x01
|
||||
#define EFI_IFR_FLAG_MANUFACTURING 0x02
|
||||
#define EFI_IFR_FLAG_INTERACTIVE 0x04
|
||||
#define EFI_IFR_FLAG_NV_ACCESS 0x08
|
||||
#define EFI_IFR_FLAG_RESET_REQUIRED 0x10
|
||||
#define EFI_IFR_FLAG_LATE_CHECK 0x20
|
||||
|
||||
#define EFI_NON_DEVICE_CLASS 0x00 // Useful when you do not want something in the Device Manager
|
||||
#define EFI_DISK_DEVICE_CLASS 0x01
|
||||
#define EFI_VIDEO_DEVICE_CLASS 0x02
|
||||
#define EFI_NETWORK_DEVICE_CLASS 0x04
|
||||
#define EFI_INPUT_DEVICE_CLASS 0x08
|
||||
#define EFI_ON_BOARD_DEVICE_CLASS 0x10
|
||||
#define EFI_OTHER_DEVICE_CLASS 0x20
|
||||
|
||||
#define EFI_SETUP_APPLICATION_SUBCLASS 0x00
|
||||
#define EFI_GENERAL_APPLICATION_SUBCLASS 0x01
|
||||
#define EFI_FRONT_PAGE_SUBCLASS 0x02
|
||||
#define EFI_SINGLE_USE_SUBCLASS 0x03 // Used to display a single entity and then exit
|
||||
//
|
||||
// Used to flag dynamically created op-codes. This is meaningful to the IFR Library set
|
||||
// and the browser since we need to distinguish between compiled NV map data and created data.
|
||||
// We do not allow new entries to be created in the NV map dynamically however we still need
|
||||
// to display this information correctly. To dynamically create op-codes and assume that their
|
||||
// data will be saved, ensure that the NV starting location they refer to is pre-defined in the
|
||||
// NV map.
|
||||
//
|
||||
#define EFI_IFR_FLAG_CREATED 128
|
||||
|
||||
#pragma pack(1)
|
||||
//
|
||||
// IFR Structure definitions
|
||||
//
|
||||
typedef struct {
|
||||
UINT8 OpCode;
|
||||
UINT8 Length;
|
||||
} EFI_IFR_OP_HEADER;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_GUID Guid;
|
||||
STRING_REF FormSetTitle;
|
||||
STRING_REF Help;
|
||||
EFI_PHYSICAL_ADDRESS CallbackHandle;
|
||||
UINT16 Class;
|
||||
UINT16 SubClass;
|
||||
UINT16 NvDataSize; // set once, size of the NV data as defined in the script
|
||||
} EFI_IFR_FORM_SET;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 FormId;
|
||||
STRING_REF FormTitle;
|
||||
} EFI_IFR_FORM;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 LabelId;
|
||||
} EFI_IFR_LABEL;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
STRING_REF SubTitle;
|
||||
} EFI_IFR_SUBTITLE;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
STRING_REF Help;
|
||||
STRING_REF Text;
|
||||
STRING_REF TextTwo;
|
||||
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
|
||||
UINT16 Key; // Value to be passed to caller to identify this particular op-code
|
||||
} EFI_IFR_TEXT;
|
||||
|
||||
//
|
||||
// goto
|
||||
//
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 FormId;
|
||||
STRING_REF Prompt;
|
||||
STRING_REF Help; // The string Token for the context-help
|
||||
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
|
||||
UINT16 Key; // Value to be passed to caller to identify this particular op-code
|
||||
} EFI_IFR_REF;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_END_FORM;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_END_FORM_SET;
|
||||
|
||||
//
|
||||
// Also notice that the IFR_ONE_OF and IFR_CHECK_BOX are identical in structure......code assumes this to be true, if this ever
|
||||
// changes we need to revisit the InitializeTagStructures code
|
||||
//
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
|
||||
UINT8 Width; // The Size of the Data being saved
|
||||
STRING_REF Prompt; // The String Token for the Prompt
|
||||
STRING_REF Help; // The string Token for the context-help
|
||||
} EFI_IFR_ONE_OF;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // The offset in NV for storage of the data
|
||||
UINT8 MaxEntries; // The maximum number of options in the ordered list (=size of NVStore)
|
||||
STRING_REF Prompt; // The string token for the prompt
|
||||
STRING_REF Help; // The string token for the context-help
|
||||
} EFI_IFR_ORDERED_LIST;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
|
||||
UINT8 Width; // The Size of the Data being saved
|
||||
STRING_REF Prompt; // The String Token for the Prompt
|
||||
STRING_REF Help; // The string Token for the context-help
|
||||
UINT8 Flags; // For now, if non-zero, means that it is the default option, - further definition likely
|
||||
UINT16 Key; // Value to be passed to caller to identify this particular op-code
|
||||
} EFI_IFR_CHECK_BOX;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
STRING_REF Option; // The string token describing the option
|
||||
UINT16 Value; // The value associated with this option that is stored in the NVRAM if chosen
|
||||
UINT8 Flags; // For now, if non-zero, means that it is the default option, - further definition likely above
|
||||
UINT16 Key; // Value to be passed to caller to identify this particular op-code
|
||||
} EFI_IFR_ONE_OF_OPTION;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
|
||||
UINT8 Width; // The Size of the Data being saved
|
||||
STRING_REF Prompt; // The String Token for the Prompt
|
||||
STRING_REF Help; // The string Token for the context-help
|
||||
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
|
||||
UINT16 Key; // Value to be passed to caller to identify this particular op-code
|
||||
UINT16 Minimum;
|
||||
UINT16 Maximum;
|
||||
UINT16 Step; // If step is 0, then manual input is specified, otherwise, left/right arrow selection is called for
|
||||
UINT16 Default;
|
||||
} EFI_IFR_NUMERIC;
|
||||
|
||||
//
|
||||
// There is an interesting twist with regards to Time and Date. This is one of the few items which can accept input from
|
||||
// a user, however may or may not need to use storage in the NVRAM space. The decided method for determining if NVRAM space
|
||||
// will be used (only for a TimeOp or DateOp) is: If .QuestionId == 0 && .Width == 0 (normally an impossibility) then use system
|
||||
// resources to store the data away and not NV resources. In other words, the setup engine will call gRT->SetTime, and gRT->SetDate
|
||||
// for the saving of data, and the values displayed will be from the gRT->GetXXXX series of calls.
|
||||
//
|
||||
typedef struct {
|
||||
EFI_IFR_NUMERIC Hour;
|
||||
EFI_IFR_NUMERIC Minute;
|
||||
EFI_IFR_NUMERIC Second;
|
||||
} EFI_IFR_TIME;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_NUMERIC Year;
|
||||
EFI_IFR_NUMERIC Month;
|
||||
EFI_IFR_NUMERIC Day;
|
||||
} EFI_IFR_DATE;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
|
||||
UINT8 Width; // The Size of the Data being saved -- BUGBUG -- remove someday
|
||||
STRING_REF Prompt; // The String Token for the Prompt
|
||||
STRING_REF Help; // The string Token for the context-help
|
||||
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
|
||||
UINT16 Key; // Value to be passed to caller to identify this particular op-code
|
||||
UINT8 MinSize; // Minimum allowable sized password
|
||||
UINT8 MaxSize; // Maximum allowable sized password
|
||||
UINT16 Encoding;
|
||||
} EFI_IFR_PASSWORD;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
|
||||
UINT8 Width; // The Size of the Data being saved -- BUGBUG -- remove someday
|
||||
STRING_REF Prompt; // The String Token for the Prompt
|
||||
STRING_REF Help; // The string Token for the context-help
|
||||
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
|
||||
UINT16 Key; // Value to be passed to caller to identify this particular op-code
|
||||
UINT8 MinSize; // Minimum allowable sized password
|
||||
UINT8 MaxSize; // Maximum allowable sized password
|
||||
} EFI_IFR_STRING;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_END_ONE_OF;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 Value;
|
||||
UINT16 Key;
|
||||
} EFI_IFR_HIDDEN;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT8 Flags;
|
||||
} EFI_IFR_SUPPRESS;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT8 Flags;
|
||||
} EFI_IFR_GRAYOUT;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
STRING_REF Popup;
|
||||
UINT8 Flags;
|
||||
} EFI_IFR_INCONSISTENT;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // offset into variable storage
|
||||
UINT8 Width; // size of variable storage
|
||||
UINT16 Value; // value to compare against
|
||||
} EFI_IFR_EQ_ID_VAL;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // offset into variable storage
|
||||
UINT8 Width; // size of variable storage
|
||||
UINT16 ListLength;
|
||||
UINT16 ValueList[1];
|
||||
} EFI_IFR_EQ_ID_LIST;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId1; // offset into variable storage for first value to compare
|
||||
UINT8 Width; // size of variable storage (must be same for both)
|
||||
UINT16 QuestionId2; // offset into variable storage for second value to compare
|
||||
} EFI_IFR_EQ_ID_ID;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 VariableId; // offset into variable storage
|
||||
UINT16 Value; // value to compare against
|
||||
} EFI_IFR_EQ_VAR_VAL;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_AND;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_OR;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_NOT;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_END_IF;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 FormId;
|
||||
STRING_REF Prompt;
|
||||
STRING_REF Help;
|
||||
UINT8 Flags;
|
||||
UINT16 Key;
|
||||
} EFI_IFR_SAVE_DEFAULTS;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
STRING_REF Help;
|
||||
STRING_REF Text;
|
||||
STRING_REF TextTwo; // optional text
|
||||
} EFI_IFR_INVENTORY;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_GUID Guid; // GUID for the variable
|
||||
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
|
||||
UINT16 Size; // size of the variable storage
|
||||
} EFI_IFR_VARSTORE;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
|
||||
} EFI_IFR_VARSTORE_SELECT;
|
||||
|
||||
//
|
||||
// Used for the ideqid VFR statement where two variable stores may be referenced in the
|
||||
// same VFR statement.
|
||||
// A browser should treat this as an EFI_IFR_VARSTORE_SELECT statement and assume that all following
|
||||
// IFR opcodes use the VarId as defined here.
|
||||
//
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
|
||||
UINT16 SecondaryVarId; // variable store ID, as referenced elsewhere in the form
|
||||
} EFI_IFR_VARSTORE_SELECT_PAIR;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_TRUE;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_FALSE;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_GT;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_GE;
|
||||
|
||||
//
|
||||
// Save defaults and restore defaults have same structure
|
||||
//
|
||||
#define EFI_IFR_RESTORE_DEFAULTS EFI_IFR_SAVE_DEFAULTS
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
STRING_REF Title; // The string token for the banner title
|
||||
UINT16 LineNumber; // 1-based line number
|
||||
UINT8 Alignment; // left, center, or right-aligned
|
||||
} EFI_IFR_BANNER;
|
||||
|
||||
typedef struct {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId; // Offset into the map
|
||||
UINT8 StorageWidth; // Width of the value
|
||||
CHAR8 Data[1]; // The Data itself
|
||||
} EFI_IFR_NV_DATA;
|
||||
|
||||
#define EFI_IFR_BANNER_ALIGN_LEFT 0
|
||||
#define EFI_IFR_BANNER_ALIGN_CENTER 1
|
||||
#define EFI_IFR_BANNER_ALIGN_RIGHT 2
|
||||
#define EFI_IFR_BANNER_TIMEOUT 0xFF
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
82
EdkCompatibilityPkg/Foundation/Framework/Include/EfiPciCfg.h
Normal file
82
EdkCompatibilityPkg/Foundation/Framework/Include/EfiPciCfg.h
Normal file
@@ -0,0 +1,82 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EfiPciCfg.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Abstract the common fields of PciCfg definition between Framework 0.9x
|
||||
and PI 1.0.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_PCI_CFG_H_
|
||||
#define _EFI_PCI_CFG_H_
|
||||
|
||||
//
|
||||
// Framework specification 0.9x definition.
|
||||
//
|
||||
typedef enum {
|
||||
PeiPciCfgWidthUint8 = 0,
|
||||
PeiPciCfgWidthUint16 = 1,
|
||||
PeiPciCfgWidthUint32 = 2,
|
||||
PeiPciCfgWidthUint64 = 3,
|
||||
PeiPciCfgWidthMaximum
|
||||
} PEI_PCI_CFG_PPI_WIDTH;
|
||||
|
||||
#define PEI_PCI_CFG_ADDRESS(bus, dev, func, reg) ( \
|
||||
(UINT64) ((((UINTN) bus) << 24) + (((UINTN) dev) << 16) + (((UINTN) func) << 8) + ((UINTN) reg)) \
|
||||
) & 0x00000000ffffffff
|
||||
|
||||
//
|
||||
// PI 1.0 definition.
|
||||
//
|
||||
typedef enum {
|
||||
EfiPeiPciCfgWidthUint8 = 0,
|
||||
EfiPeiPciCfgWidthUint16 = 1,
|
||||
EfiPeiPciCfgWidthUint32 = 2,
|
||||
EfiPeiPciCfgWidthUint64 = 3,
|
||||
EfiPeiPciCfgWidthMaximum
|
||||
} EFI_PEI_PCI_CFG_PPI_WIDTH;
|
||||
|
||||
#define EFI_PEI_PCI_CFG_ADDRESS(bus, dev, func, reg) \
|
||||
( ((bus) << 24) | \
|
||||
((dev) << 16) | \
|
||||
((func) << 8) | \
|
||||
((reg) < 256 ? (reg): ((UINT64)(reg) << 32)))
|
||||
|
||||
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
|
||||
typedef struct {
|
||||
UINT8 Register;
|
||||
UINT8 Function;
|
||||
UINT8 Device;
|
||||
UINT8 Bus;
|
||||
UINT8 Reserved[4];
|
||||
} PEI_PCI_CFG_PPI_PCI_ADDRESS;
|
||||
|
||||
typedef PEI_PCI_CFG_PPI_PCI_ADDRESS EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS;
|
||||
|
||||
#else
|
||||
|
||||
typedef struct {
|
||||
UINT8 Register;
|
||||
UINT8 Function;
|
||||
UINT8 Device;
|
||||
UINT8 Bus;
|
||||
UINT32 ExtendedRegister;
|
||||
} EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS;
|
||||
#endif
|
||||
|
||||
#endif
|
69
EdkCompatibilityPkg/Foundation/Framework/Include/EfiSmbus.h
Normal file
69
EdkCompatibilityPkg/Foundation/Framework/Include/EfiSmbus.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 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:
|
||||
|
||||
EfiSmbus.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_SMBUS_DEFINITION_H_
|
||||
#define _EFI_SMBUS_DEFINITION_H_
|
||||
|
||||
//
|
||||
// EFI Smbus Device Address, Smbus Device Command, Smbus Operation
|
||||
//
|
||||
typedef struct {
|
||||
UINTN SmbusDeviceAddress : 7;
|
||||
} EFI_SMBUS_DEVICE_ADDRESS;
|
||||
|
||||
typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
|
||||
|
||||
typedef enum _EFI_SMBUS_OPERATION
|
||||
{
|
||||
EfiSmbusQuickRead,
|
||||
EfiSmbusQuickWrite,
|
||||
EfiSmbusReceiveByte,
|
||||
EfiSmbusSendByte,
|
||||
EfiSmbusReadByte,
|
||||
EfiSmbusWriteByte,
|
||||
EfiSmbusReadWord,
|
||||
EfiSmbusWriteWord,
|
||||
EfiSmbusReadBlock,
|
||||
EfiSmbusWriteBlock,
|
||||
EfiSmbusProcessCall,
|
||||
EfiSmbusBWBRProcessCall
|
||||
} EFI_SMBUS_OPERATION;
|
||||
|
||||
typedef struct {
|
||||
UINT32 VendorSpecificId;
|
||||
UINT16 SubsystemDeviceId;
|
||||
UINT16 SubsystemVendorId;
|
||||
UINT16 Interface;
|
||||
UINT16 DeviceId;
|
||||
UINT16 VendorId;
|
||||
UINT8 VendorRevision;
|
||||
UINT8 DeviceCapabilities;
|
||||
} EFI_SMBUS_UDID;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_SMBUS_DEVICE_ADDRESS SmbusDeviceAddress;
|
||||
EFI_SMBUS_UDID SmbusDeviceUdid;
|
||||
} EFI_SMBUS_DEVICE_MAP;
|
||||
|
||||
|
||||
|
||||
#endif
|
954
EdkCompatibilityPkg/Foundation/Framework/Include/EfiStatusCode.h
Normal file
954
EdkCompatibilityPkg/Foundation/Framework/Include/EfiStatusCode.h
Normal file
@@ -0,0 +1,954 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
EfiStatusCode.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Status Code Definitions, according to Intel Platform Innovation Framework
|
||||
for EFI Status Codes Specification
|
||||
Revision 0.92
|
||||
|
||||
The file is divided into sections for ease of use.
|
||||
|
||||
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
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_STATUS_CODE_H_
|
||||
#define _EFI_STATUS_CODE_H_
|
||||
|
||||
//
|
||||
// /////////////////////////////////////////////////////////////////////////////
|
||||
// Section 1
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Status Code Type Definition
|
||||
//
|
||||
typedef UINT32 EFI_STATUS_CODE_TYPE;
|
||||
|
||||
//
|
||||
// A Status Code Type is made up of the code type and severity
|
||||
// All values masked by EFI_STATUS_CODE_RESERVED_MASK are
|
||||
// reserved for use by this specification.
|
||||
//
|
||||
#define EFI_STATUS_CODE_TYPE_MASK 0x000000FF
|
||||
#define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000
|
||||
#define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00
|
||||
|
||||
//
|
||||
// Definition of code types, all other values masked by
|
||||
// EFI_STATUS_CODE_TYPE_MASK are reserved for use by
|
||||
// this specification.
|
||||
//
|
||||
#define EFI_PROGRESS_CODE 0x00000001
|
||||
#define EFI_ERROR_CODE 0x00000002
|
||||
#define EFI_DEBUG_CODE 0x00000003
|
||||
|
||||
//
|
||||
// Definitions of severities, all other values masked by
|
||||
// EFI_STATUS_CODE_SEVERITY_MASK are reserved for use by
|
||||
// this specification.
|
||||
//
|
||||
#define EFI_ERROR_MINOR 0x40000000
|
||||
#define EFI_ERROR_MAJOR 0x80000000
|
||||
#define EFI_ERROR_UNRECOVERED 0x90000000
|
||||
#define EFI_ERROR_UNCONTAINED 0xA0000000
|
||||
|
||||
//
|
||||
// Status Code Value Definition
|
||||
//
|
||||
typedef UINT32 EFI_STATUS_CODE_VALUE;
|
||||
|
||||
//
|
||||
// A Status Code Value is made up of the class, subclass, and
|
||||
// an operation. Classes, subclasses, and operations are defined
|
||||
// in the following sections.
|
||||
//
|
||||
#define EFI_STATUS_CODE_CLASS_MASK 0xFF000000
|
||||
#define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000
|
||||
#define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF
|
||||
|
||||
typedef struct {
|
||||
UINT16 HeaderSize;
|
||||
UINT16 Size;
|
||||
EFI_GUID Type;
|
||||
} EFI_STATUS_CODE_DATA;
|
||||
|
||||
//
|
||||
// Data Hub Status Code class record definition
|
||||
//
|
||||
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 128-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 7-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 13-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 13-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 20-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,34 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EfiVariable.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_VARIABLE_DEFINITION_H_
|
||||
#define _EFI_VARIABLE_DEFINITION_H_
|
||||
|
||||
//
|
||||
// Variable attributes
|
||||
//
|
||||
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
||||
#define EFI_VARIABLE_READ_ONLY 0x00000008
|
||||
|
||||
|
||||
#endif
|
615
EdkCompatibilityPkg/Foundation/Framework/Include/PeiApi.h
Normal file
615
EdkCompatibilityPkg/Foundation/Framework/Include/PeiApi.h
Normal file
@@ -0,0 +1,615 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
PeiApi.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano PEI intrinsic definitions. This includes all Pei Services APIs.
|
||||
|
||||
Peims are passed in a pointer to a pointer to the PEI Services table.
|
||||
The PEI Services table contains pointers to the PEI services exported
|
||||
by the PEI Core.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_API_H_
|
||||
#define _PEI_API_H_
|
||||
|
||||
#include "PeiHob.h"
|
||||
#include "EfiFirmwareFileSystem.h"
|
||||
#include "EfiFirmwareVolumeHeader.h"
|
||||
#include EFI_PPI_DEFINITION (FirmwareVolumeInfo)
|
||||
#include EFI_PPI_DEFINITION (FirmwareVolume)
|
||||
#include EFI_PPI_DEFINITION (Decompress)
|
||||
|
||||
|
||||
//
|
||||
// Declare forward referenced data structures
|
||||
//
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_NOTIFY_DESCRIPTOR);
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_SERVICES);
|
||||
|
||||
#include EFI_PPI_DEFINITION (CpuIo)
|
||||
#include EFI_PPI_DEFINITION (PciCfg)
|
||||
#include EFI_PPI_DEFINITION (PciCfg2)
|
||||
|
||||
//
|
||||
// PEI Specification Revision information
|
||||
//
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
#define PEI_SPECIFICATION_MAJOR_REVISION 0
|
||||
#define PEI_SPECIFICATION_MINOR_REVISION 91
|
||||
#else
|
||||
#define PEI_SPECIFICATION_MAJOR_REVISION 1
|
||||
#define PEI_SPECIFICATION_MINOR_REVISION 00
|
||||
|
||||
#endif
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEIM_ENTRY_POINT)(
|
||||
IN EFI_FFS_FILE_HEADER * FfsHeader,
|
||||
IN EFI_PEI_SERVICES **PeiServices
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEIM_NOTIFY_ENTRY_POINT) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_NOTIFY_DESCRIPTOR * NotifyDescriptor,
|
||||
IN VOID *Ppi
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_VERIFICATION) (
|
||||
IN UINTN SectionAddress
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Ppi Services List Descriptors
|
||||
//
|
||||
#define EFI_PEI_PPI_DESCRIPTOR_PIC 0x00000001
|
||||
#define EFI_PEI_PPI_DESCRIPTOR_PPI 0x00000010
|
||||
#define EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK 0x00000020
|
||||
#define EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH 0x00000040
|
||||
#define EFI_PEI_PPI_DESCRIPTOR_NOTIFY_TYPES 0x00000060
|
||||
#define EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST 0x80000000
|
||||
|
||||
typedef struct {
|
||||
UINTN Flags;
|
||||
EFI_GUID *Guid;
|
||||
VOID *Ppi;
|
||||
} EFI_PEI_PPI_DESCRIPTOR;
|
||||
|
||||
typedef struct _EFI_PEI_NOTIFY_DESCRIPTOR {
|
||||
UINTN Flags;
|
||||
EFI_GUID *Guid;
|
||||
EFI_PEIM_NOTIFY_ENTRY_POINT Notify;
|
||||
} EFI_PEI_NOTIFY_DESCRIPTOR;
|
||||
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_REPORT_STATUS_CODE) (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
|
||||
//
|
||||
// PEI PPI Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_INSTALL_PPI) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_PPI_DESCRIPTOR * PpiList
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_REINSTALL_PPI) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_PPI_DESCRIPTOR * OldPpi,
|
||||
IN EFI_PEI_PPI_DESCRIPTOR * NewPpi
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_LOCATE_PPI) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_GUID * Guid,
|
||||
IN UINTN Instance,
|
||||
IN OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor,
|
||||
IN OUT VOID **Ppi
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_NOTIFY_PPI) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_NOTIFY_DESCRIPTOR * NotifyList
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Boot Mode Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_GET_BOOT_MODE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN OUT EFI_BOOT_MODE * BootMode
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_SET_BOOT_MODE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_BOOT_MODE BootMode
|
||||
);
|
||||
|
||||
//
|
||||
// PEI HOB Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_GET_HOB_LIST) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN OUT VOID **HobList
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_CREATE_HOB) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN UINT16 Type,
|
||||
IN UINT16 Length,
|
||||
IN OUT VOID **Hob
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Firmware Volume Services
|
||||
//
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_VOLUME) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN UINTN Instance,
|
||||
IN OUT EFI_FIRMWARE_VOLUME_HEADER **FwVolHeader
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_FILE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_FV_FILETYPE SearchType,
|
||||
IN EFI_FIRMWARE_VOLUME_HEADER * FwVolHeader,
|
||||
IN OUT EFI_FFS_FILE_HEADER **FileHeader
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_SECTION_DATA) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_SECTION_TYPE SectionType,
|
||||
IN EFI_FFS_FILE_HEADER * FfsFileHeader,
|
||||
IN OUT VOID **SectionData
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Memory Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_INSTALL_PEI_MEMORY) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PHYSICAL_ADDRESS MemoryBegin,
|
||||
IN UINT64 MemoryLength
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_ALLOCATE_PAGES) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN Pages,
|
||||
IN OUT EFI_PHYSICAL_ADDRESS * Memory
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_ALLOCATE_POOL) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN UINTN Size,
|
||||
OUT VOID **Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_COPY_MEM) (
|
||||
IN VOID *Destination,
|
||||
IN VOID *Source,
|
||||
IN UINTN Length
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_SET_MEM) (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
IN UINT8 Value
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_REPORT_STATUS_CODE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID * CallerId OPTIONAL,
|
||||
IN EFI_STATUS_CODE_DATA * Data OPTIONAL
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Reset
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
|
||||
IN EFI_PEI_SERVICES **PeiServices
|
||||
);
|
||||
|
||||
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
// PEI PPI Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_INSTALL_PPI) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_PPI_DESCRIPTOR * PpiList
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_REINSTALL_PPI) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_PPI_DESCRIPTOR * OldPpi,
|
||||
IN CONST EFI_PEI_PPI_DESCRIPTOR * NewPpi
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_LOCATE_PPI) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_GUID * Guid,
|
||||
IN UINTN Instance,
|
||||
IN OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor OPTIONAL,
|
||||
IN OUT VOID **Ppi
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_NOTIFY_PPI) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_NOTIFY_DESCRIPTOR * NotifyList
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Boot Mode Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_GET_BOOT_MODE) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN OUT EFI_BOOT_MODE * BootMode
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_SET_BOOT_MODE) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_BOOT_MODE BootMode
|
||||
);
|
||||
|
||||
//
|
||||
// PEI HOB Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_GET_HOB_LIST) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN OUT VOID **HobList
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_CREATE_HOB) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN UINT16 Type,
|
||||
IN UINT16 Length,
|
||||
IN OUT VOID **Hob
|
||||
);
|
||||
|
||||
|
||||
|
||||
//
|
||||
// PEI Firmware Volume Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_VOLUME2) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN UINTN Instance,
|
||||
IN OUT EFI_PEI_FV_HANDLE *VolumeHandle
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_FILE2) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_FV_FILETYPE SearchType,
|
||||
IN CONST EFI_PEI_FV_HANDLE *FwVolHeader,
|
||||
IN OUT EFI_PEI_FILE_HANDLE **FileHandle
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_SECTION_DATA2) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_SECTION_TYPE SectionType,
|
||||
IN EFI_PEI_FILE_HANDLE *FileHandle,
|
||||
OUT VOID **SectionData
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// PEI Memory Services
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_INSTALL_PEI_MEMORY) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PHYSICAL_ADDRESS MemoryBegin,
|
||||
IN UINT64 MemoryLength
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_ALLOCATE_PAGES) (
|
||||
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN Pages,
|
||||
IN OUT EFI_PHYSICAL_ADDRESS * Memory
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_ALLOCATE_POOL) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN UINTN Size,
|
||||
OUT VOID **Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_COPY_MEM) (
|
||||
IN VOID *Destination,
|
||||
IN VOID *Source,
|
||||
IN UINTN Length
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_SET_MEM) (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
IN UINT8 Value
|
||||
);
|
||||
|
||||
//
|
||||
// New interfaceas added by the PI 1.0
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_BY_NAME) (
|
||||
IN CONST EFI_GUID *FileName,
|
||||
IN EFI_PEI_FV_HANDLE VolumeHandle,
|
||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_GET_FILE_INFO) (
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT EFI_FV_FILE_INFO *FileInfo
|
||||
);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_GET_VOLUME_INFO) (
|
||||
IN EFI_PEI_FV_HANDLE *VolumeHandle,
|
||||
OUT EFI_FV_INFO *VolumeInfo
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_REGISTER_FOR_SHADOW) (
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Status Code Service
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_REPORT_STATUS_CODE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
|
||||
);
|
||||
|
||||
//
|
||||
// PEI Reset Service
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
|
||||
IN EFI_PEI_SERVICES **PeiServices
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// EFI PEI Services Table
|
||||
//
|
||||
#define PEI_SERVICES_SIGNATURE 0x5652455320494550
|
||||
#define PEI_SERVICES_REVISION ((PEI_SPECIFICATION_MAJOR_REVISION << 16) | (PEI_SPECIFICATION_MINOR_REVISION))
|
||||
typedef PEI_CPU_IO_PPI EFI_PEI_CPU_IO_PPI;
|
||||
|
||||
|
||||
typedef struct _EFI_PEI_SERVICES {
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
|
||||
//
|
||||
// PPI Functions
|
||||
//
|
||||
EFI_PEI_INSTALL_PPI InstallPpi;
|
||||
EFI_PEI_REINSTALL_PPI ReInstallPpi;
|
||||
EFI_PEI_LOCATE_PPI LocatePpi;
|
||||
EFI_PEI_NOTIFY_PPI NotifyPpi;
|
||||
|
||||
//
|
||||
// Boot Mode Functions
|
||||
//
|
||||
EFI_PEI_GET_BOOT_MODE GetBootMode;
|
||||
EFI_PEI_SET_BOOT_MODE SetBootMode;
|
||||
|
||||
//
|
||||
// HOB Functions
|
||||
//
|
||||
EFI_PEI_GET_HOB_LIST GetHobList;
|
||||
EFI_PEI_CREATE_HOB CreateHob;
|
||||
|
||||
//
|
||||
// Firmware Volume Functions
|
||||
//
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
EFI_PEI_FFS_FIND_NEXT_VOLUME FfsFindNextVolume;
|
||||
EFI_PEI_FFS_FIND_NEXT_FILE FfsFindNextFile;
|
||||
EFI_PEI_FFS_FIND_SECTION_DATA FfsFindSectionData;
|
||||
#else
|
||||
EFI_PEI_FFS_FIND_NEXT_VOLUME2 FfsFindNextVolume;
|
||||
EFI_PEI_FFS_FIND_NEXT_FILE2 FfsFindNextFile;
|
||||
EFI_PEI_FFS_FIND_SECTION_DATA2 FfsFindSectionData;
|
||||
#endif
|
||||
//
|
||||
// PEI Memory Functions
|
||||
//
|
||||
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory;
|
||||
EFI_PEI_ALLOCATE_PAGES AllocatePages;
|
||||
EFI_PEI_ALLOCATE_POOL AllocatePool;
|
||||
EFI_PEI_COPY_MEM CopyMem;
|
||||
EFI_PEI_SET_MEM SetMem;
|
||||
|
||||
//
|
||||
// Status Code
|
||||
//
|
||||
EFI_PEI_REPORT_STATUS_CODE PeiReportStatusCode;
|
||||
|
||||
//
|
||||
// Reset
|
||||
//
|
||||
EFI_PEI_RESET_SYSTEM PeiResetSystem;
|
||||
|
||||
//
|
||||
// Pointer to PPI interface
|
||||
//
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
|
||||
PEI_CPU_IO_PPI *CpuIo;
|
||||
PEI_PCI_CFG_PPI *PciCfg;
|
||||
#else
|
||||
EFI_PEI_CPU_IO_PPI *CpuIo;
|
||||
EFI_PEI_PCI_CFG2_PPI *PciCfg;
|
||||
|
||||
//
|
||||
// New interfaceas added by the PI 1.0
|
||||
//
|
||||
EFI_PEI_FFS_FIND_BY_NAME FfsFindFileByName;
|
||||
EFI_PEI_FFS_GET_FILE_INFO FfsGetFileInfo;
|
||||
EFI_PEI_FFS_GET_VOLUME_INFO FfsGetVolumeInfo;
|
||||
EFI_PEI_REGISTER_FOR_SHADOW RegisterForShadow;
|
||||
#endif
|
||||
|
||||
} EFI_PEI_SERVICES;
|
||||
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
|
||||
typedef struct {
|
||||
UINTN BootFirmwareVolume;
|
||||
UINTN SizeOfCacheAsRam;
|
||||
EFI_PEI_PPI_DESCRIPTOR *DispatchTable;
|
||||
} EFI_PEI_STARTUP_DESCRIPTOR;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_MAIN_ENTRY_POINT) (
|
||||
IN EFI_PEI_STARTUP_DESCRIPTOR *PeiStartupDescriptor
|
||||
);
|
||||
|
||||
#else
|
||||
|
||||
typedef struct _EFI_SEC_PEI_HAND_OFF{
|
||||
UINT16 DataSize;
|
||||
VOID *BootFirmwareVolumeBase;
|
||||
UINTN BootFirmwareVolumeSize;
|
||||
VOID *TemporaryRamBase;
|
||||
UINTN TemporaryRamSize;
|
||||
VOID *PeiTemporaryRamBase;
|
||||
UINTN PeiTemporaryRamSize;
|
||||
VOID *StackBase;
|
||||
UINTN StackSize;
|
||||
}EFI_SEC_PEI_HAND_OFF;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_MAIN_ENTRY_POINT) (
|
||||
IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
|
||||
IN CONST EFI_PEI_PPI_DESCRIPTOR *PpList
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
251
EdkCompatibilityPkg/Foundation/Framework/Include/PeiHob.h
Normal file
251
EdkCompatibilityPkg/Foundation/Framework/Include/PeiHob.h
Normal file
@@ -0,0 +1,251 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
PeiHob.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PEI Hand Off Block (HOB) definition.
|
||||
|
||||
The HOB is a memory data structure used to hand-off system information from
|
||||
PEI to DXE (the next phase).
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_HOB_H_
|
||||
#define _PEI_HOB_H_
|
||||
|
||||
#include "BootMode.h"
|
||||
|
||||
//
|
||||
// Every Hob must start with this data structure.
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 HobType;
|
||||
UINT16 HobLength;
|
||||
UINT32 Reserved;
|
||||
} EFI_HOB_GENERIC_HEADER;
|
||||
|
||||
//
|
||||
// End of HOB List HOB
|
||||
//
|
||||
#define EFI_HOB_TYPE_END_OF_HOB_LIST 0xffff
|
||||
|
||||
//
|
||||
// Handoff Information Table HOB
|
||||
//
|
||||
#define EFI_HOB_TYPE_HANDOFF 0x0001
|
||||
|
||||
#define EFI_HOB_HANDOFF_TABLE_VERSION 0x0009
|
||||
|
||||
typedef UINT32 EFI_BOOT_MODE;
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
UINT32 Version;
|
||||
EFI_BOOT_MODE BootMode;
|
||||
EFI_PHYSICAL_ADDRESS EfiMemoryTop;
|
||||
EFI_PHYSICAL_ADDRESS EfiMemoryBottom;
|
||||
EFI_PHYSICAL_ADDRESS EfiFreeMemoryTop;
|
||||
EFI_PHYSICAL_ADDRESS EfiFreeMemoryBottom;
|
||||
EFI_PHYSICAL_ADDRESS EfiEndOfHobList;
|
||||
} EFI_HOB_HANDOFF_INFO_TABLE;
|
||||
|
||||
//
|
||||
// Memory Descriptor HOB
|
||||
//
|
||||
#define EFI_HOB_TYPE_MEMORY_ALLOCATION 0x0002
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID Name;
|
||||
EFI_PHYSICAL_ADDRESS MemoryBaseAddress;
|
||||
UINT64 MemoryLength;
|
||||
EFI_MEMORY_TYPE MemoryType;
|
||||
UINT8 Reserved[4];
|
||||
} EFI_HOB_MEMORY_ALLOCATION_HEADER;
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
||||
//
|
||||
// Additional data pertaining to the "Name" Guid memory
|
||||
// may go here.
|
||||
//
|
||||
} EFI_HOB_MEMORY_ALLOCATION;
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
||||
} EFI_HOB_MEMORY_ALLOCATION_BSP_STORE;
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
||||
} EFI_HOB_MEMORY_ALLOCATION_STACK;
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_HOB_MEMORY_ALLOCATION_HEADER MemoryAllocationHeader;
|
||||
EFI_GUID ModuleName;
|
||||
EFI_PHYSICAL_ADDRESS EntryPoint;
|
||||
} EFI_HOB_MEMORY_ALLOCATION_MODULE;
|
||||
|
||||
#define EFI_HOB_TYPE_RESOURCE_DESCRIPTOR 0x0003
|
||||
|
||||
typedef UINT32 EFI_RESOURCE_TYPE;
|
||||
|
||||
#define EFI_RESOURCE_SYSTEM_MEMORY 0
|
||||
#define EFI_RESOURCE_MEMORY_MAPPED_IO 1
|
||||
#define EFI_RESOURCE_IO 2
|
||||
#define EFI_RESOURCE_FIRMWARE_DEVICE 3
|
||||
#define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT 4
|
||||
#define EFI_RESOURCE_MEMORY_RESERVED 5
|
||||
#define EFI_RESOURCE_IO_RESERVED 6
|
||||
#define EFI_RESOURCE_MAX_MEMORY_TYPE 7
|
||||
|
||||
typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
|
||||
|
||||
#define EFI_RESOURCE_ATTRIBUTE_PRESENT 0x00000001
|
||||
#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002
|
||||
#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004
|
||||
#define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC 0x00000008
|
||||
#define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC 0x00000010
|
||||
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1 0x00000020
|
||||
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2 0x00000040
|
||||
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED 0x00000080
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED 0x00000100
|
||||
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED 0x00000200
|
||||
#define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE 0x00000400
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE 0x00000800
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE 0x00001000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE 0x00002000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_16_BIT_IO 0x00004000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO 0x00008000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO 0x00010000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED 0x00020000
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_GUID Owner;
|
||||
EFI_RESOURCE_TYPE ResourceType;
|
||||
EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute;
|
||||
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
||||
UINT64 ResourceLength;
|
||||
} EFI_HOB_RESOURCE_DESCRIPTOR;
|
||||
|
||||
//
|
||||
// GUID Extension HOB
|
||||
// The HobLength is variable as it includes the GUID specific data.
|
||||
//
|
||||
#define EFI_HOB_TYPE_GUID_EXTENSION 0x0004
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_GUID Name;
|
||||
|
||||
//
|
||||
// Guid specific data goes here
|
||||
//
|
||||
} EFI_HOB_GUID_TYPE;
|
||||
|
||||
//
|
||||
// Firmware Volume HOB
|
||||
//
|
||||
#define EFI_HOB_TYPE_FV 0x0005
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
UINT64 Length;
|
||||
} EFI_HOB_FIRMWARE_VOLUME;
|
||||
|
||||
//
|
||||
// CPU HOB
|
||||
//
|
||||
#define EFI_HOB_TYPE_CPU 0x0006
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
UINT8 SizeOfMemorySpace;
|
||||
UINT8 SizeOfIoSpace;
|
||||
UINT8 Reserved[6];
|
||||
} EFI_HOB_CPU;
|
||||
|
||||
//
|
||||
// PEI Core Memory Pool HOB
|
||||
// The HobLength is variable as the HOB contains pool allocations by
|
||||
// the PeiServices AllocatePool function
|
||||
//
|
||||
#define EFI_HOB_TYPE_PEI_MEMORY_POOL 0x0007
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
} EFI_HOB_MEMORY_POOL;
|
||||
|
||||
//
|
||||
// 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;
|
||||
|
||||
#if (PI_SPECIFICATION_VERSION >= 0x00010000)
|
||||
|
||||
#define EFI_HOB_TYPE_FV2 0x0009
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
UINT64 Length;
|
||||
EFI_GUID FvName;
|
||||
EFI_GUID FileName;
|
||||
} EFI_HOB_FIRMWARE_VOLUME2;
|
||||
|
||||
#define EFI_HOB_TYPE_LOAD_PEIM 0x000A
|
||||
|
||||
#endif
|
||||
|
||||
#define EFI_HOB_TYPE_UNUSED 0xFFFE
|
||||
|
||||
//
|
||||
// Union of all the possible HOB Types
|
||||
//
|
||||
typedef union {
|
||||
EFI_HOB_GENERIC_HEADER *Header;
|
||||
EFI_HOB_HANDOFF_INFO_TABLE *HandoffInformationTable;
|
||||
EFI_HOB_MEMORY_ALLOCATION *MemoryAllocation;
|
||||
EFI_HOB_MEMORY_ALLOCATION_BSP_STORE *MemoryAllocationBspStore;
|
||||
EFI_HOB_MEMORY_ALLOCATION_STACK *MemoryAllocationStack;
|
||||
EFI_HOB_MEMORY_ALLOCATION_MODULE *MemoryAllocationModule;
|
||||
EFI_HOB_RESOURCE_DESCRIPTOR *ResourceDescriptor;
|
||||
EFI_HOB_GUID_TYPE *Guid;
|
||||
EFI_HOB_FIRMWARE_VOLUME *FirmwareVolume;
|
||||
#if (PI_SPECIFICATION_VERSION >= 0x00010000)
|
||||
EFI_HOB_FIRMWARE_VOLUME2 *FirmwareVolume2;
|
||||
#endif
|
||||
EFI_HOB_CPU *Cpu;
|
||||
EFI_HOB_MEMORY_POOL *Pool;
|
||||
EFI_HOB_CAPSULE_VOLUME *CapsuleVolume;
|
||||
UINT8 *Raw;
|
||||
} EFI_PEI_HOB_POINTERS;
|
||||
|
||||
#define GET_HOB_TYPE(Hob) ((Hob).Header->HobType)
|
||||
#define GET_HOB_LENGTH(Hob) ((Hob).Header->HobLength)
|
||||
#define GET_NEXT_HOB(Hob) ((Hob).Raw + GET_HOB_LENGTH (Hob))
|
||||
#define END_OF_HOB_LIST(Hob) (GET_HOB_TYPE (Hob) == EFI_HOB_TYPE_END_OF_HOB_LIST)
|
||||
|
||||
#endif
|
589
EdkCompatibilityPkg/Foundation/Framework/Include/TianoSpecApi.h
Normal file
589
EdkCompatibilityPkg/Foundation/Framework/Include/TianoSpecApi.h
Normal file
@@ -0,0 +1,589 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
TianoSpecApi.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano intrinsic definitions in Tiano spec.
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _TIANO_SPEC_API_H_
|
||||
#define _TIANO_SPEC_API_H_
|
||||
|
||||
|
||||
#if ((TIANO_RELEASE_VERSION != 0) && (EFI_SPECIFICATION_VERSION < 0x00020000))
|
||||
//
|
||||
// Prior to UEFI 2.0 Tiano extended these enums. This was replaced by
|
||||
// CreateEventEx() Event Groups in UEFI 2.0
|
||||
//
|
||||
#define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400
|
||||
|
||||
#define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203
|
||||
#define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204
|
||||
#endif
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ADD_MEMORY_SPACE) (
|
||||
IN EFI_GCD_MEMORY_TYPE GcdMemoryType,
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length,
|
||||
IN UINT64 Capabilities
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Adds reserved memory, system memory, or memory-mapped I/O resources to the
|
||||
global coherency domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
GcdMemoryType - Memory type of the memory space.
|
||||
|
||||
BaseAddress - Base address of the memory space.
|
||||
|
||||
Length - Length of the memory space.
|
||||
|
||||
Capabilities - alterable attributes of the memory space.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Merged this memory space into GCD map.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ALLOCATE_MEMORY_SPACE) (
|
||||
IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,
|
||||
IN EFI_GCD_MEMORY_TYPE GcdMemoryType,
|
||||
IN UINTN Alignment,
|
||||
IN UINT64 Length,
|
||||
IN OUT EFI_PHYSICAL_ADDRESS * BaseAddress,
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_HANDLE DeviceHandle OPTIONAL
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Allocates nonexistent memory, reserved memory, system memory, or memorymapped
|
||||
I/O resources from the global coherency domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
GcdAllocateType - The type of allocate operation
|
||||
|
||||
GcdMemoryType - The desired memory type
|
||||
|
||||
Alignment - Align with 2^Alignment
|
||||
|
||||
Length - Length to allocate
|
||||
|
||||
BaseAddress - Base address to allocate
|
||||
|
||||
Imagehandle - The image handle consume the allocated space.
|
||||
|
||||
DeviceHandle - The device handle consume the allocated space.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_INVALID_PARAMETER - Invalid parameter.
|
||||
|
||||
EFI_NOT_FOUND - No descriptor contains the desired space.
|
||||
|
||||
EFI_SUCCESS - Memory space successfully allocated.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FREE_MEMORY_SPACE) (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:Routine Description:
|
||||
|
||||
Frees nonexistent memory, reserved memory, system memory, or memory-mapped
|
||||
I/O resources from the global coherency domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
BaseAddress - Base address of the segment.
|
||||
|
||||
Length - Length of the segment.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Space successfully freed.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_REMOVE_MEMORY_SPACE) (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:Routine Description:
|
||||
|
||||
Removes reserved memory, system memory, or memory-mapped I/O resources from
|
||||
the global coherency domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
BaseAddress - Base address of the memory space.
|
||||
|
||||
Length - Length of the memory space.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Successfully remove a segment of memory space.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_GET_MEMORY_SPACE_DESCRIPTOR) (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR * Descriptor
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Retrieves the descriptor for a memory region containing a specified address.
|
||||
|
||||
Arguments:
|
||||
|
||||
BaseAddress - Specified start address
|
||||
|
||||
Descriptor - Specified length
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_INVALID_PARAMETER - Invalid parameter
|
||||
|
||||
EFI_SUCCESS - Successfully get memory space descriptor.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SET_MEMORY_SPACE_ATTRIBUTES) (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length,
|
||||
IN UINT64 Attributes
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Modifies the attributes for a memory region in the global coherency domain of the
|
||||
processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
BaseAddress - Specified start address
|
||||
|
||||
Length - Specified length
|
||||
|
||||
Attributes - Specified attributes
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Successfully set attribute of a segment of memory space.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_GET_MEMORY_SPACE_MAP) (
|
||||
OUT UINTN *NumberOfDescriptors,
|
||||
OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR **MemorySpaceMap
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Returns a map of the memory resources in the global coherency domain of the
|
||||
processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
NumberOfDescriptors - Number of descriptors.
|
||||
|
||||
MemorySpaceMap - Descriptor array
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_INVALID_PARAMETER - Invalid parameter
|
||||
|
||||
EFI_OUT_OF_RESOURCES - No enough buffer to allocate
|
||||
|
||||
EFI_SUCCESS - Successfully get memory space map.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ADD_IO_SPACE) (
|
||||
IN EFI_GCD_IO_TYPE GcdIoType,
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Adds reserved I/O or I/O resources to the global coherency domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
GcdIoType - IO type of the segment.
|
||||
|
||||
BaseAddress - Base address of the segment.
|
||||
|
||||
Length - Length of the segment.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Merged this segment into GCD map.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ALLOCATE_IO_SPACE) (
|
||||
IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,
|
||||
IN EFI_GCD_IO_TYPE GcdIoType,
|
||||
IN UINTN Alignment,
|
||||
IN UINT64 Length,
|
||||
IN OUT EFI_PHYSICAL_ADDRESS * BaseAddress,
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_HANDLE DeviceHandle OPTIONAL
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Allocates nonexistent I/O, reserved I/O, or I/O resources from the global coherency
|
||||
domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
GcdAllocateType - The type of allocate operation
|
||||
|
||||
GcdIoType - The desired IO type
|
||||
|
||||
Alignment - Align with 2^Alignment
|
||||
|
||||
Length - Length to allocate
|
||||
|
||||
BaseAddress - Base address to allocate
|
||||
|
||||
Imagehandle - The image handle consume the allocated space.
|
||||
|
||||
DeviceHandle - The device handle consume the allocated space.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_INVALID_PARAMETER - Invalid parameter.
|
||||
|
||||
EFI_NOT_FOUND - No descriptor contains the desired space.
|
||||
|
||||
EFI_SUCCESS - IO space successfully allocated.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FREE_IO_SPACE) (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:Routine Description:
|
||||
|
||||
Frees nonexistent I/O, reserved I/O, or I/O resources from the global coherency
|
||||
domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
BaseAddress - Base address of the segment.
|
||||
|
||||
Length - Length of the segment.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Space successfully freed.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_REMOVE_IO_SPACE) (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:Routine Description:
|
||||
|
||||
Removes reserved I/O or I/O resources from the global coherency domain of the
|
||||
processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
BaseAddress - Base address of the segment.
|
||||
|
||||
Length - Length of the segment.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Successfully removed a segment of IO space.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_GET_IO_SPACE_DESCRIPTOR) (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
OUT EFI_GCD_IO_SPACE_DESCRIPTOR * Descriptor
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Retrieves the descriptor for an I/O region containing a specified address.
|
||||
|
||||
Arguments:
|
||||
|
||||
BaseAddress - Specified start address
|
||||
|
||||
Descriptor - Specified length
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_INVALID_PARAMETER - Descriptor is NULL.
|
||||
|
||||
EFI_SUCCESS - Successfully get the IO space descriptor.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_GET_IO_SPACE_MAP) (
|
||||
OUT UINTN *NumberOfDescriptors,
|
||||
OUT EFI_GCD_IO_SPACE_DESCRIPTOR **IoSpaceMap
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Returns a map of the I/O resources in the global coherency domain of the processor.
|
||||
|
||||
Arguments:
|
||||
|
||||
NumberOfDescriptors - Number of descriptors.
|
||||
|
||||
MemorySpaceMap - Descriptor array
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_INVALID_PARAMETER - Invalid parameter
|
||||
|
||||
EFI_OUT_OF_RESOURCES - No enough buffer to allocate
|
||||
|
||||
EFI_SUCCESS - Successfully get IO space map.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DISPATCH) (VOID)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Loads and executed DXE drivers from firmware volumes.
|
||||
|
||||
Arguments:
|
||||
|
||||
None
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SCHEDULE) (
|
||||
IN EFI_HANDLE FirmwareVolumeHandle,
|
||||
IN EFI_GUID * DriverName
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Clears the Schedule on Request (SOR) flag for a component that is stored in a firmware volume.
|
||||
|
||||
Arguments:
|
||||
|
||||
FirmwareVolumeHandle - The handle of the firmware volume that contains the file specified by FileName.
|
||||
|
||||
DriverName - A pointer to the name of the file in a firmware volume.
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TRUST) (
|
||||
IN EFI_HANDLE FirmwareVolumeHandle,
|
||||
IN EFI_GUID * DriverName
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Promotes a file stored in a firmware volume from the untrusted to the trusted state.
|
||||
|
||||
Arguments:
|
||||
|
||||
FirmwareVolumeHandle - The handle of the firmware volume that contains the file specified by FileName.
|
||||
|
||||
DriverName - A pointer to the name of the file in a firmware volume.
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_BOOTSERVICE
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PROCESS_FIRMWARE_VOLUME) (
|
||||
IN VOID *FvHeader,
|
||||
IN UINTN Size,
|
||||
OUT EFI_HANDLE * FirmwareVolumeHandle
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Creates a firmware volume handle for a firmware volume that is present in system memory.
|
||||
|
||||
Arguments:
|
||||
|
||||
FirmwareVolumeHeader - A pointer to the header of the firmware volume.
|
||||
Size - The size, in bytes, of the firmware volume.
|
||||
FirmwareVolumeHandle - On output, a pointer to the created handle.
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
//
|
||||
// DXE Services Table
|
||||
//
|
||||
#define EFI_DXE_SERVICES_SIGNATURE 0x565245535f455844
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
#define EFI_DXE_SERVICES_REVISION ((0 << 16) | (90))
|
||||
#else
|
||||
#define EFI_DXE_SERVICES_REVISION ((1 << 16) | (00))
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
|
||||
//
|
||||
// Global Coherency Domain Services
|
||||
//
|
||||
EFI_ADD_MEMORY_SPACE AddMemorySpace;
|
||||
EFI_ALLOCATE_MEMORY_SPACE AllocateMemorySpace;
|
||||
EFI_FREE_MEMORY_SPACE FreeMemorySpace;
|
||||
EFI_REMOVE_MEMORY_SPACE RemoveMemorySpace;
|
||||
EFI_GET_MEMORY_SPACE_DESCRIPTOR GetMemorySpaceDescriptor;
|
||||
EFI_SET_MEMORY_SPACE_ATTRIBUTES SetMemorySpaceAttributes;
|
||||
EFI_GET_MEMORY_SPACE_MAP GetMemorySpaceMap;
|
||||
EFI_ADD_IO_SPACE AddIoSpace;
|
||||
EFI_ALLOCATE_IO_SPACE AllocateIoSpace;
|
||||
EFI_FREE_IO_SPACE FreeIoSpace;
|
||||
EFI_REMOVE_IO_SPACE RemoveIoSpace;
|
||||
EFI_GET_IO_SPACE_DESCRIPTOR GetIoSpaceDescriptor;
|
||||
EFI_GET_IO_SPACE_MAP GetIoSpaceMap;
|
||||
|
||||
//
|
||||
// Dispatcher Services
|
||||
//
|
||||
EFI_DISPATCH Dispatch;
|
||||
EFI_SCHEDULE Schedule;
|
||||
EFI_TRUST Trust;
|
||||
//
|
||||
// Service to process a single firmware volume found in a capsule
|
||||
//
|
||||
EFI_PROCESS_FIRMWARE_VOLUME ProcessFirmwareVolume;
|
||||
} EFI_DXE_SERVICES;
|
||||
|
||||
#endif
|
@@ -0,0 +1,73 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
TianoSpecDevicePath.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano Device Path definitions in Tiano Spec.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _TIANO_SPEC_DEVICE_PATH_H
|
||||
#define _TIANO_SPEC_DEVICE_PATH_H
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
//
|
||||
// EFI Specification extension on Media Device Path
|
||||
//
|
||||
#define MEDIA_FV_FILEPATH_DP 0x06
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
EFI_GUID NameGuid;
|
||||
} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
|
||||
#endif
|
||||
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION == 0x00020000)
|
||||
//
|
||||
// For UEFI 2.0, use GUIDed PIWG device path to work-around EFI Specification extension on Media Device Path
|
||||
//
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
EFI_GUID PiwgSpecificDevicePath;
|
||||
UINT32 Type;
|
||||
} PIWG_DEVICE_PATH;
|
||||
|
||||
#define PIWG_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE 0x01
|
||||
typedef struct {
|
||||
PIWG_DEVICE_PATH Piwg;
|
||||
EFI_GUID NameGuid;
|
||||
} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
|
||||
|
||||
//
|
||||
// Place holder for a future extension
|
||||
//
|
||||
#define PIWG_MEDIA_FW_VOL_DEVICE_PATH_TYPE 0x02
|
||||
typedef struct {
|
||||
PIWG_DEVICE_PATH Piwg;
|
||||
EFI_GUID VolumeGuid;
|
||||
} MEDIA_FW_VOL_DEVICE_PATH;
|
||||
#endif
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION > 0x00020000)
|
||||
//
|
||||
// EFI Specification extension on Media Device Path was added to UEFI 2.1 specification,
|
||||
// so the definition is moved to EfiDevicePath.h
|
||||
//
|
||||
#endif
|
||||
|
||||
#pragma pack()
|
||||
#endif
|
@@ -0,0 +1,41 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
TianoSpecError.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano error codes defined in Tiano spec.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _TIANO_SPEC_ERROR_H_
|
||||
#define _TIANO_SPEC_ERROR_H_
|
||||
|
||||
#include "EfiBind.h"
|
||||
#define TIANO_ERROR(a) (MAX_2_BITS | (a))
|
||||
|
||||
//
|
||||
// Tiano added a couple of return types. These are owned by UEFI specification
|
||||
// and Tiano can not use them. Thus for UEFI 2.0/R8.6 support we moved the values
|
||||
// to a UEFI OEM extension range to conform to UEFI specification.
|
||||
//
|
||||
#if (EFI_SPECIFICATION_VERSION < 0x00020000)
|
||||
#define EFI_NOT_AVAILABLE_YET EFIERR (28)
|
||||
#define EFI_UNLOAD_IMAGE EFIERR (29)
|
||||
#else
|
||||
#define EFI_NOT_AVAILABLE_YET TIANO_ERROR (0)
|
||||
#define EFI_UNLOAD_IMAGE TIANO_ERROR (1)
|
||||
#endif
|
||||
|
||||
#endif
|
@@ -0,0 +1,75 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
TianoSpecTypes.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano types defined in Tiano spec.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _TIANO_SPEC_TYPES_H_
|
||||
#define _TIANO_SPEC_TYPES_H_
|
||||
|
||||
//
|
||||
// Modifier for EFI DXE Services
|
||||
//
|
||||
#define EFI_DXESERVICE
|
||||
|
||||
//
|
||||
// Global Coherencey Domain types
|
||||
//
|
||||
typedef enum {
|
||||
EfiGcdMemoryTypeNonExistent,
|
||||
EfiGcdMemoryTypeReserved,
|
||||
EfiGcdMemoryTypeSystemMemory,
|
||||
EfiGcdMemoryTypeMemoryMappedIo,
|
||||
EfiGcdMemoryTypeMaximum
|
||||
} EFI_GCD_MEMORY_TYPE;
|
||||
|
||||
typedef enum {
|
||||
EfiGcdIoTypeNonExistent,
|
||||
EfiGcdIoTypeReserved,
|
||||
EfiGcdIoTypeIo,
|
||||
EfiGcdIoTypeMaximum
|
||||
} EFI_GCD_IO_TYPE;
|
||||
|
||||
typedef enum {
|
||||
EfiGcdAllocateAnySearchBottomUp,
|
||||
EfiGcdAllocateMaxAddressSearchBottomUp,
|
||||
EfiGcdAllocateAddress,
|
||||
EfiGcdAllocateAnySearchTopDown,
|
||||
EfiGcdAllocateMaxAddressSearchTopDown,
|
||||
EfiGcdMaxAllocateType
|
||||
} EFI_GCD_ALLOCATE_TYPE;
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
UINT64 Length;
|
||||
UINT64 Capabilities;
|
||||
UINT64 Attributes;
|
||||
EFI_GCD_MEMORY_TYPE GcdMemoryType;
|
||||
EFI_HANDLE ImageHandle;
|
||||
EFI_HANDLE DeviceHandle;
|
||||
} EFI_GCD_MEMORY_SPACE_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
UINT64 Length;
|
||||
EFI_GCD_IO_TYPE GcdIoType;
|
||||
EFI_HANDLE ImageHandle;
|
||||
EFI_HANDLE DeviceHandle;
|
||||
} EFI_GCD_IO_SPACE_DESCRIPTOR;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 1999 - 2002, 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:
|
||||
|
||||
BlockIo.c
|
||||
|
||||
Abstract:
|
||||
|
||||
BlockIo PPI GUID as defined in EFI 2.0
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (BlockIo)
|
||||
|
||||
EFI_GUID gPeiBlockIoPpiGuid = PEI_BLOCK_IO_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiBlockIoPpiGuid, "BlockIo", "PEI Block I/O PPI");
|
@@ -0,0 +1,88 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 1999 - 2002, 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:
|
||||
|
||||
BlockIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
BlockIo PPI as defined in EFI 2.0
|
||||
|
||||
Used to access block-oriented storage devices
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_BLOCK_IO_H_
|
||||
#define _PEI_BLOCK_IO_H_
|
||||
|
||||
#define PEI_BLOCK_IO_PPI_GUID \
|
||||
{ \
|
||||
0x695d8aa1, 0x42ee, 0x4c46, 0x80, 0x5c, 0x6e, 0xa6, 0xbc, 0xe7, 0x99, 0xe3 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_RECOVERY_BLOCK_IO_INTERFACE);
|
||||
|
||||
typedef UINT64 PEI_LBA;
|
||||
|
||||
typedef enum {
|
||||
LegacyFloppy = 0,
|
||||
IdeCDROM = 1,
|
||||
IdeLS120 = 2,
|
||||
UsbMassStorage= 3,
|
||||
MaxDeviceType
|
||||
} PEI_BLOCK_DEVICE_TYPE;
|
||||
|
||||
typedef struct {
|
||||
PEI_BLOCK_DEVICE_TYPE DeviceType;
|
||||
BOOLEAN MediaPresent;
|
||||
UINTN LastBlock;
|
||||
UINTN BlockSize;
|
||||
} PEI_BLOCK_IO_MEDIA;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_GET_NUMBER_BLOCK_DEVICES) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_RECOVERY_BLOCK_IO_INTERFACE * This,
|
||||
OUT UINTN *NumberBlockDevices
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_GET_DEVICE_MEDIA_INFORMATION) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_RECOVERY_BLOCK_IO_INTERFACE * This,
|
||||
IN UINTN DeviceIndex,
|
||||
OUT PEI_BLOCK_IO_MEDIA * MediaInfo
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_READ_BLOCKS) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_RECOVERY_BLOCK_IO_INTERFACE * This,
|
||||
IN UINTN DeviceIndex,
|
||||
IN PEI_LBA StartLBA,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef struct _PEI_RECOVERY_BLOCK_IO_INTERFACE {
|
||||
PEI_GET_NUMBER_BLOCK_DEVICES GetNumberOfBlockDevices;
|
||||
PEI_GET_DEVICE_MEDIA_INFORMATION GetBlockDeviceMediaInfo;
|
||||
PEI_READ_BLOCKS ReadBlocks;
|
||||
} PEI_RECOVERY_BLOCK_IO_INTERFACE;
|
||||
|
||||
extern EFI_GUID gPeiBlockIoPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
BootInRecoveryMode.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot Mode PPI GUID as defined in PEI EAS
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (BootInRecoveryMode)
|
||||
|
||||
EFI_GUID gPeiBootInRecoveryModePpiGuid = PEI_BOOT_IN_RECOVERY_MODE_PEIM_PPI;
|
||||
|
||||
EFI_GUID_STRING(&gPeiMasterBootModePpiGuid, "BootMode", "Master Boot Mode PPI");
|
@@ -0,0 +1,34 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
BootInRecoveryMode.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot Mode PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_BOOT_IN_RECOVERY_MODE_PPI_H
|
||||
#define _PEI_BOOT_IN_RECOVERY_MODE_PPI_H
|
||||
|
||||
#define PEI_BOOT_IN_RECOVERY_MODE_PEIM_PPI \
|
||||
{ \
|
||||
0x17ee496a, 0xd8e4, 0x4b9a, 0x94, 0xd1, 0xce, 0x82, 0x72, 0x30, 0x8, 0x50 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_BOOT_IN_RECOVERY_MODE_PPI);
|
||||
|
||||
extern EFI_GUID gPeiBootInRecoveryModePpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
BootMode.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot Mode PPI GUID as defined in PEI EAS
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (BootMode)
|
||||
|
||||
EFI_GUID gPeiMasterBootModePpiGuid = PEI_MASTER_BOOT_MODE_PEIM_PPI;
|
||||
|
||||
EFI_GUID_STRING(&gPeiMasterBootModePpiGuid, "BootMode", "Master Boot Mode PPI");
|
@@ -0,0 +1,34 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
BootMode.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot Mode PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_MASTER_BOOT_MODE_PPI_H
|
||||
#define _PEI_MASTER_BOOT_MODE_PPI_H
|
||||
|
||||
#define PEI_MASTER_BOOT_MODE_PEIM_PPI \
|
||||
{ \
|
||||
0x7408d748, 0xfc8c, 0x4ee6, 0x92, 0x88, 0xc4, 0xbe, 0xc0, 0x92, 0xa4, 0x10 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_MASTER_BOOT_MODE_PPI);
|
||||
|
||||
extern EFI_GUID gPeiMasterBootModePpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2001 - 2002, 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:
|
||||
|
||||
BootScriptExecuter.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot Script Executer PPI GUID as defined in EFI 2.0
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (BootScriptExecuter)
|
||||
|
||||
EFI_GUID gPeiBootScriptExecuterPpiGuid = PEI_BOOT_SCRIPT_EXECUTER_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiBootScriptExecuterPpiGuid, "BootScriptExecuter", "Boot Script Executer PPI");
|
@@ -0,0 +1,50 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2001 - 2002, 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:
|
||||
|
||||
BootScriptExecuter.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot Script Executer PPI as defined in EFI 2.0
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_BOOT_SCRIPT_EXECUTER_PPI_H
|
||||
#define _PEI_BOOT_SCRIPT_EXECUTER_PPI_H
|
||||
|
||||
#define PEI_BOOT_SCRIPT_EXECUTER_PPI_GUID \
|
||||
{ \
|
||||
0xabd42895, 0x78cf, 0x4872, 0x84, 0x44, 0x1b, 0x5c, 0x18, 0x0b, 0xfb, 0xff \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_BOOT_SCRIPT_EXECUTER_PPI);
|
||||
|
||||
#define PEI_BOOT_SCRIPT_EXECUTER_PPI_REVISION 0x00000001
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_BOOT_SCRIPT_EXECUTE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_BOOT_SCRIPT_EXECUTER_PPI * This,
|
||||
IN EFI_PHYSICAL_ADDRESS Address,
|
||||
IN EFI_GUID * FvFile OPTIONAL
|
||||
);
|
||||
|
||||
typedef struct _PEI_BOOT_SCRIPT_EXECUTER_PPI {
|
||||
UINT64 Revision;
|
||||
PEI_BOOT_SCRIPT_EXECUTE Execute;
|
||||
} PEI_BOOT_SCRIPT_EXECUTER_PPI;
|
||||
|
||||
extern EFI_GUID gPeiBootScriptExecuterPpiGuid;
|
||||
|
||||
#endif
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
CpuIO.c
|
||||
|
||||
Abstract:
|
||||
|
||||
CPU IO PPI GUID as defined in Tiano
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (CpuIo)
|
||||
|
||||
EFI_GUID gPeiCpuIoPpiInServiceTableGuid = PEI_CPU_IO_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiCpuIoPpiInServiceTableGuid, "CPU IO", "CPU IO PPI");
|
250
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.h
Normal file
250
EdkCompatibilityPkg/Foundation/Framework/Ppi/CpuIo/CpuIo.h
Normal file
@@ -0,0 +1,250 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
CpuIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
CPU IO PPI defined in Tiano
|
||||
CPU IO PPI abstracts CPU IO access
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_CPUIO_PPI_H_
|
||||
#define _PEI_CPUIO_PPI_H_
|
||||
|
||||
#define PEI_CPU_IO_PPI_GUID \
|
||||
{ \
|
||||
0xe6af1f7b, 0xfc3f, 0x46da, 0xa8, 0x28, 0xa3, 0xb4, 0x57, 0xa4, 0x42, 0x82 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_CPU_IO_PPI);
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// PEI_CPU_IO_PPI_WIDTH
|
||||
// *******************************************************
|
||||
//
|
||||
typedef enum {
|
||||
PeiCpuIoWidthUint8,
|
||||
PeiCpuIoWidthUint16,
|
||||
PeiCpuIoWidthUint32,
|
||||
PeiCpuIoWidthUint64,
|
||||
PeiCpuIoWidthFifoUint8,
|
||||
PeiCpuIoWidthFifoUint16,
|
||||
PeiCpuIoWidthFifoUint32,
|
||||
PeiCpuIoWidthFifoUint64,
|
||||
PeiCpuIoWidthFillUint8,
|
||||
PeiCpuIoWidthFillUint16,
|
||||
PeiCpuIoWidthFillUint32,
|
||||
PeiCpuIoWidthFillUint64,
|
||||
PeiCpuIoWidthMaximum
|
||||
} PEI_CPU_IO_PPI_WIDTH;
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// PEI_CPU_IO_PPI_IO_MEM
|
||||
// *******************************************************
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_MEM) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN PEI_CPU_IO_PPI_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// PEI_CPU_IO_PPI_ACCESS
|
||||
// *******************************************************
|
||||
//
|
||||
typedef struct {
|
||||
PEI_CPU_IO_PPI_IO_MEM Read;
|
||||
PEI_CPU_IO_PPI_IO_MEM Write;
|
||||
} PEI_CPU_IO_PPI_ACCESS;
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// Base IO Class Functions
|
||||
// *******************************************************
|
||||
//
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_READ8) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_READ16) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
UINT32
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_READ32) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_READ64) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE8) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT8 Data
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE16) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT16 Data
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE32) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT32 Data
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_IO_WRITE64) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT64 Data
|
||||
);
|
||||
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ8) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ16) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
UINT32
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ32) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_READ64) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE8) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT8 Data
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE16) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT16 Data
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE32) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT32 Data
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PEI_CPU_IO_PPI_MEM_WRITE64) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_CPU_IO_PPI * This,
|
||||
IN UINT64 Address,
|
||||
IN UINT64 Data
|
||||
);
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// PEI_CPU_IO_PPI
|
||||
// *******************************************************
|
||||
//
|
||||
typedef struct _PEI_CPU_IO_PPI {
|
||||
PEI_CPU_IO_PPI_ACCESS Mem;
|
||||
PEI_CPU_IO_PPI_ACCESS Io;
|
||||
PEI_CPU_IO_PPI_IO_READ8 IoRead8;
|
||||
PEI_CPU_IO_PPI_IO_READ16 IoRead16;
|
||||
PEI_CPU_IO_PPI_IO_READ32 IoRead32;
|
||||
PEI_CPU_IO_PPI_IO_READ64 IoRead64;
|
||||
PEI_CPU_IO_PPI_IO_WRITE8 IoWrite8;
|
||||
PEI_CPU_IO_PPI_IO_WRITE16 IoWrite16;
|
||||
PEI_CPU_IO_PPI_IO_WRITE32 IoWrite32;
|
||||
PEI_CPU_IO_PPI_IO_WRITE64 IoWrite64;
|
||||
PEI_CPU_IO_PPI_MEM_READ8 MemRead8;
|
||||
PEI_CPU_IO_PPI_MEM_READ16 MemRead16;
|
||||
PEI_CPU_IO_PPI_MEM_READ32 MemRead32;
|
||||
PEI_CPU_IO_PPI_MEM_READ64 MemRead64;
|
||||
PEI_CPU_IO_PPI_MEM_WRITE8 MemWrite8;
|
||||
PEI_CPU_IO_PPI_MEM_WRITE16 MemWrite16;
|
||||
PEI_CPU_IO_PPI_MEM_WRITE32 MemWrite32;
|
||||
PEI_CPU_IO_PPI_MEM_WRITE64 MemWrite64;
|
||||
} PEI_CPU_IO_PPI;
|
||||
|
||||
extern EFI_GUID gPeiCpuIoPpiInServiceTableGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
Decompress.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (Decompress)
|
||||
|
||||
|
||||
EFI_GUID gEfiPeiDecompressPpiGuid = EFI_PEI_DECOMPRESS_PPI_GUID;
|
||||
EFI_GUID_STRING(&gEfiPeiDecompressPpiGuid, "PeiDecompress", "PeiDecompress PPI");
|
@@ -0,0 +1,49 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
Decompress.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __DECOMPRESS_PPI_H__
|
||||
#define __DECOMPRESS_PPI_H__
|
||||
|
||||
|
||||
#define EFI_PEI_DECOMPRESS_PPI_GUID \
|
||||
{ 0x1a36e4e7, 0xfab6, 0x476a, 0x8e, 0x75, 0x69, 0x5a, 0x5, 0x76, 0xfd, 0xd7}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_DECOMPRESS_PPI);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_DECOMPRESS_DECOMPRESS)(
|
||||
IN CONST EFI_PEI_DECOMPRESS_PPI *This,
|
||||
IN CONST EFI_COMPRESSION_SECTION *InputSection,
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputSize
|
||||
);
|
||||
|
||||
typedef struct _EFI_PEI_DECOMPRESS_PPI {
|
||||
EFI_PEI_DECOMPRESS_DECOMPRESS Decompress;
|
||||
} EFI_PEI_DECOMPRESS_PPI;
|
||||
|
||||
|
||||
|
||||
extern EFI_GUID gEfiPeiDecompressPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 1999 - 2002, 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:
|
||||
|
||||
DeviceRecoveryModule.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Device Recovery Module PPI GUID as defined in PEI EAS
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (DeviceRecoveryModule)
|
||||
|
||||
EFI_GUID gPeiDeviceRecoveryModulePpiGuid = PEI_DEVICE_RECOVERY_MODULE_INTERFACE_PPI;
|
||||
|
||||
EFI_GUID_STRING(&gPeiDeviceRecoveryModulePpiGuid, "DeviceRecoveryModule", "Device Recovery Module PPI");
|
@@ -0,0 +1,68 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 1999 - 2002, 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:
|
||||
|
||||
DeviceRecoveryModule.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Device Recovery Module PPI as defined in EFI 2.0
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_DEVICE_RECOVERY_MODULE_PPI_H
|
||||
#define _PEI_DEVICE_RECOVERY_MODULE_PPI_H
|
||||
|
||||
#define PEI_DEVICE_RECOVERY_MODULE_INTERFACE_PPI \
|
||||
{ \
|
||||
0x0DE2CE25, 0x446A, 0x45a7, 0xBF, 0xC9, 0x37, 0xDA, 0x26, 0x34, 0x4B, 0x37 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_DEVICE_RECOVERY_MODULE_INTERFACE);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This,
|
||||
OUT UINTN *NumberRecoveryCapsules
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This,
|
||||
IN UINTN CapsuleInstance,
|
||||
OUT UINTN *Size,
|
||||
OUT EFI_GUID * CapsuleType
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_DEVICE_LOAD_RECOVERY_CAPSULE) (
|
||||
IN OUT EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This,
|
||||
IN UINTN CapsuleInstance,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef struct _PEI_DEVICE_RECOVERY_MODULE_INTERFACE {
|
||||
PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE GetNumberRecoveryCapsules;
|
||||
PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO GetRecoveryCapsuleInfo;
|
||||
PEI_DEVICE_LOAD_RECOVERY_CAPSULE LoadRecoveryCapsule;
|
||||
} PEI_DEVICE_RECOVERY_MODULE_INTERFACE;
|
||||
|
||||
extern EFI_GUID gPeiDeviceRecoveryModulePpiGuid;
|
||||
|
||||
#endif
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DxeIpl.c
|
||||
|
||||
Abstract:
|
||||
|
||||
DXE Initial Program Load PPI GUID as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (DxeIpl)
|
||||
|
||||
EFI_GUID gEfiDxeIplPpiGuid = EFI_DXE_IPL_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiDxeIplPpiGuid, "DxeIpl", "DXE IPL PPI");
|
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.h
Normal file
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/DxeIpl/DxeIpl.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
DxeIpl.h
|
||||
|
||||
Abstract:
|
||||
|
||||
DXE Initial Program Load PPI as defined in Tiano
|
||||
|
||||
When the PEI core is done it calls the DXE IPL via this PPI.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DXE_IPL_H_
|
||||
#define _DXE_IPL_H_
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiHob.h"
|
||||
|
||||
#define EFI_DXE_IPL_PPI_GUID \
|
||||
{ \
|
||||
0xae8ce5d, 0xe448, 0x4437, 0xa8, 0xd7, 0xeb, 0xf5, 0xf1, 0x94, 0xf7, 0x31 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_DXE_IPL_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DXE_IPL_ENTRY) (
|
||||
IN EFI_DXE_IPL_PPI * This,
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_HOB_POINTERS HobList
|
||||
);
|
||||
|
||||
typedef struct _EFI_DXE_IPL_PPI {
|
||||
EFI_DXE_IPL_ENTRY Entry;
|
||||
} EFI_DXE_IPL_PPI;
|
||||
|
||||
extern EFI_GUID gEfiDxeIplPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,102 @@
|
||||
#/*++
|
||||
#
|
||||
# Copyright (c) 2004 - 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:
|
||||
#
|
||||
# EdkFrameworkPpiLib.inf
|
||||
#
|
||||
# Abstract:
|
||||
#
|
||||
# Component description file.
|
||||
#
|
||||
#--*/
|
||||
|
||||
[defines]
|
||||
BASE_NAME= EdkFrameworkPpiLib
|
||||
COMPONENT_TYPE= LIBRARY
|
||||
|
||||
[includes.common]
|
||||
$(EDK_SOURCE)\Foundation\Framework
|
||||
$(EDK_SOURCE)\Foundation\Efi
|
||||
$(EDK_SOURCE)\Foundation\Include
|
||||
$(EDK_SOURCE)\Foundation\Efi\Include
|
||||
$(EDK_SOURCE)\Foundation\Framework\Include
|
||||
$(EDK_SOURCE)\Foundation\Include\IndustryStandard
|
||||
$(EDK_SOURCE)\Foundation\Include\Pei
|
||||
$(EDK_SOURCE)\Foundation\Library\Pei\Include
|
||||
$(EDK_SOURCE)\Foundation\Core\Dxe
|
||||
$(EDK_SOURCE)\Foundation\Library\Dxe\Include
|
||||
|
||||
[nmake.common]
|
||||
|
||||
[sources.common]
|
||||
BlockIo\BlockIo.h
|
||||
BlockIo\BlockIo.c
|
||||
BootInRecoveryMode\BootInRecoveryMode.h
|
||||
BootInRecoveryMode\BootInRecoveryMode.c
|
||||
BootMode\BootMode.h
|
||||
BootMode\BootMode.c
|
||||
BootScriptExecuter\BootScriptExecuter.h
|
||||
BootScriptExecuter\BootScriptExecuter.c
|
||||
CpuIo\CpuIo.h
|
||||
CpuIo\CpuIo.c
|
||||
DeviceRecoveryModule\DeviceRecoveryModule.h
|
||||
DeviceRecoveryModule\DeviceRecoveryModule.c
|
||||
DxeIpl\DxeIpl.h
|
||||
DxeIpl\DxeIpl.c
|
||||
EndOfPeiSignal\EndOfPeiSignal.h
|
||||
EndOfPeiSignal\EndOfPeiSignal.c
|
||||
FindFv\FindFv.h
|
||||
FindFv\FindFv.c
|
||||
LoadFile\LoadFile.h
|
||||
LoadFile\LoadFile.c
|
||||
MemoryDiscovered\MemoryDiscovered.h
|
||||
MemoryDiscovered\MemoryDiscovered.c
|
||||
PciCfg\PciCfg.h
|
||||
PciCfg\PciCfg.c
|
||||
PciCfg2\PciCfg2.h
|
||||
PciCfg2\PciCfg2.c
|
||||
RecoveryModule\RecoveryModule.h
|
||||
RecoveryModule\RecoveryModule.c
|
||||
Reset\Reset.h
|
||||
Reset\Reset.c
|
||||
S3Resume\S3Resume.h
|
||||
S3Resume\S3Resume.c
|
||||
SecPlatformInformation\SecPlatformInformation.h
|
||||
SecPlatformInformation\SecPlatformInformation.c
|
||||
SectionExtraction\SectionExtraction.h
|
||||
SectionExtraction\SectionExtraction.c
|
||||
Security\Security.h
|
||||
Security\Security.c
|
||||
Smbus\Smbus.h
|
||||
Smbus\Smbus.c
|
||||
Smbus2\Smbus2.h
|
||||
Smbus2\Smbus2.c
|
||||
Stall\Stall.h
|
||||
Stall\Stall.c
|
||||
StatusCode\StatusCode.h
|
||||
StatusCode\StatusCode.c
|
||||
Variable\Variable.h
|
||||
Variable\Variable.c
|
||||
Variable2\Variable2.h
|
||||
Variable2\Variable2.c
|
||||
Decompress\Decompress.h
|
||||
Decompress\Decompress.c
|
||||
FirmwareVolumeInfo\FirmwareVolumeInfo.h
|
||||
FirmwareVolumeInfo\FirmwareVolumeInfo.c
|
||||
LoadFile2\LoadFile2.h
|
||||
LoadFile2\LoadFile2.c
|
||||
Security2\Security2.h
|
||||
Security2\Security2.c
|
||||
FirmwareVolume\FirmwareVolume.h
|
||||
FirmwareVolume\FirmwareVolume.c
|
||||
GuidedSectionExtraction\GuidedSectionExtraction.h
|
||||
GuidedSectionExtraction\GuidedSectionExtraction.c
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
EndOfPeiSignal.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This is installed prior to DXE taking over the memory map
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (EndOfPeiSignal)
|
||||
|
||||
EFI_GUID gEndOfPeiSignalPpiGuid = PEI_END_OF_PEI_PHASE_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEndOfPeiSignalPpiGuid, "EndOfPeiSignal", "End of PEI Phase Signalled PPI");
|
@@ -0,0 +1,35 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
EndOfPeiSignal.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PPI to be used to signal when the PEI ownership of the memory map
|
||||
officially ends and DXE will take over
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_END_OF_PEI_SIGNAL_PPI_H
|
||||
#define _PEI_END_OF_PEI_SIGNAL_PPI_H
|
||||
|
||||
#define PEI_END_OF_PEI_PHASE_PPI_GUID \
|
||||
{ \
|
||||
0x605EA650, 0xC65C, 0x42e1, 0xBA, 0x80, 0x91, 0xA5, 0x2A, 0xB6, 0x18, 0xC6 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_END_OF_PEI_SIGNAL_PPI);
|
||||
|
||||
extern EFI_GUID gEndOfPeiSignalPpiGuid;
|
||||
|
||||
#endif
|
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.c
Normal file
29
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
FindFv.c
|
||||
|
||||
Abstract:
|
||||
|
||||
FindFv PPI GUID as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (FindFv)
|
||||
|
||||
EFI_GUID gEfiFindFvPpiGuid = EFI_FIND_FV_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiFindFvPpiGuid, "FindFv", "FindFv PPI");
|
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.h
Normal file
51
EdkCompatibilityPkg/Foundation/Framework/Ppi/FindFv/FindFv.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
FindFv.h
|
||||
|
||||
Abstract:
|
||||
|
||||
FindFv PPI as defined in Tiano
|
||||
|
||||
Used to locate FVs that contain PEIMs in PEI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _FIND_FV_H_
|
||||
#define _FIND_FV_H_
|
||||
|
||||
#include "EfiFirmwareVolumeHeader.h"
|
||||
|
||||
#define EFI_FIND_FV_PPI_GUID \
|
||||
{ \
|
||||
0x36164812, 0xa023, 0x44e5, 0xbd, 0x85, 0x5, 0xbf, 0x3c, 0x77, 0x0, 0xaa \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_FIND_FV_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FIND_FV_FINDFV) (
|
||||
IN EFI_FIND_FV_PPI * This,
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
UINT8 *FvNumber,
|
||||
EFI_FIRMWARE_VOLUME_HEADER **FVAddress
|
||||
);
|
||||
|
||||
typedef struct _EFI_FIND_FV_PPI {
|
||||
EFI_FIND_FV_FINDFV FindFv;
|
||||
} EFI_FIND_FV_PPI;
|
||||
|
||||
extern EFI_GUID gEfiFindFvPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FirmwareVolume.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (FirmwareVolume)
|
||||
|
||||
//
|
||||
// There is no PPI Guid definition here, since the guid of
|
||||
// this ppi is the same as the firmware volume format Guid.
|
||||
//
|
@@ -0,0 +1,112 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FirmwareVolume.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __FIRMWARE_VOLUME_H__
|
||||
#define __FIRMWARE_VOLUME_H__
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_FIRMWARE_VOLUME_PPI);
|
||||
|
||||
typedef UINT32 EFI_FV_FILE_ATTRIBUTES;
|
||||
typedef VOID * EFI_PEI_FILE_HANDLE;
|
||||
typedef VOID * EFI_PEI_FV_HANDLE;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID FileName;
|
||||
EFI_FV_FILETYPE FileType;
|
||||
EFI_FV_FILE_ATTRIBUTES FileAttributes;
|
||||
VOID *Buffer;
|
||||
UINT32 BufferSize;
|
||||
} EFI_FV_FILE_INFO;
|
||||
|
||||
typedef struct {
|
||||
EFI_FVB_ATTRIBUTES FvAttributes;
|
||||
EFI_GUID FvFormat;
|
||||
EFI_GUID FvName;
|
||||
VOID *FvStart;
|
||||
UINT64 FvSize;
|
||||
} EFI_FV_INFO;
|
||||
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_PROCESS_FV) (
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_PEI_FV_HANDLE *FvHandle
|
||||
);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE) (
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN EFI_FV_FILETYPE SearchType,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME) (
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_GUID *FileName,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_GET_FILE_INFO) (
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT EFI_FV_FILE_INFO *FileInfo
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_GET_INFO)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
OUT EFI_FV_INFO *VolumeInfo
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_FIND_SECTION) (
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN EFI_SECTION_TYPE SearchType,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT VOID **SectionData
|
||||
);
|
||||
|
||||
typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI {
|
||||
EFI_PEI_FV_PROCESS_FV ProcessVolume;
|
||||
EFI_PEI_FV_FIND_FILE_TYPE FindFileByType;
|
||||
EFI_PEI_FV_FIND_FILE_NAME FindFileByName;
|
||||
EFI_PEI_FV_GET_FILE_INFO GetFileInfo;
|
||||
EFI_PEI_FV_GET_INFO GetVolumeInfo;
|
||||
EFI_PEI_FV_FIND_SECTION FindSectionByType;
|
||||
} EFI_PEI_FIRMWARE_VOLUME_PPI;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FirmwareVolumeInfo.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (FirmwareVolumeInfo)
|
||||
|
||||
EFI_GUID gEfiFirmwareVolumeInfoPpiGuid = EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID;
|
||||
EFI_GUID_STRING(&gEfiFirmwareVolumeInfoPpiGuid, "FirmwareVolumeInfo", "FirmwareVolumeInfo PPI");
|
@@ -0,0 +1,46 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FirmwareVolumeInfo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __FIRMWARE_VOLUME_INFO_PPI__
|
||||
#define __FIRMWARE_VOLUME_INFO_PPI__
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_FIRMWARE_VOLUME_INFO_PPI);
|
||||
|
||||
|
||||
//
|
||||
// The PPI GUID must match the EFI_GUID FvFormat value
|
||||
//
|
||||
#define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \
|
||||
{ 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
|
||||
|
||||
|
||||
typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
|
||||
EFI_GUID FvFormat;
|
||||
VOID *FvInfo;
|
||||
UINT32 FvInfoSize;
|
||||
EFI_GUID *ParentFvName;
|
||||
EFI_GUID *ParentFileName;
|
||||
} EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
|
||||
|
||||
|
||||
extern EFI_GUID gEfiFirmwareVolumeInfoPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
GuidedSectionExtraction.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (GuidedSectionExtraction)
|
||||
|
||||
//
|
||||
// There is no PPI Guid definition here since this PPI is for
|
||||
// extract EFI_SECTION_GUID_DEFINED type section.
|
||||
//
|
@@ -0,0 +1,42 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
GuidedSectionExtraction.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#ifndef __GUIDED_SECTION_EXTRACTION_PPI_H__
|
||||
#define __GUIDED_SECTION_EXTRACTION_PPI_H__
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_EXTRACT_GUIDED_SECTION)(
|
||||
IN CONST EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,
|
||||
IN CONST VOID *InputSection,
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputSize,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
);
|
||||
|
||||
typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI {
|
||||
EFI_PEI_EXTRACT_GUIDED_SECTION ExtractSection;
|
||||
} EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
LoadFile.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Load File PPI GUID.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (LoadFile)
|
||||
|
||||
EFI_GUID gPeiFvFileLoaderPpiGuid = EFI_PEI_FV_FILE_LOADER_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiFvFileLoaderPpiGuid, "FvFileLoader", "Fv File Loader Support PPI");
|
@@ -0,0 +1,48 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
LoadFile.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Load image file from fv to memory.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_FV_FILE_LOADER_PPI_H
|
||||
#define _PEI_FV_FILE_LOADER_PPI_H
|
||||
|
||||
#define EFI_PEI_FV_FILE_LOADER_GUID \
|
||||
{ \
|
||||
0x7e1f0d85, 0x4ff, 0x4bb2, 0x86, 0x6a, 0x31, 0xa2, 0x99, 0x6a, 0x48, 0xa8 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_FV_FILE_LOADER_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_LOAD_FILE) (
|
||||
IN EFI_PEI_FV_FILE_LOADER_PPI * This,
|
||||
IN EFI_FFS_FILE_HEADER * FfsHeader,
|
||||
OUT EFI_PHYSICAL_ADDRESS * ImageAddress,
|
||||
OUT UINT64 *ImageSize,
|
||||
OUT EFI_PHYSICAL_ADDRESS * EntryPoint
|
||||
);
|
||||
|
||||
typedef struct _EFI_PEI_FV_FILE_LOADER_PPI {
|
||||
EFI_PEI_FV_LOAD_FILE FvLoadFile;
|
||||
} EFI_PEI_FV_FILE_LOADER_PPI;
|
||||
|
||||
extern EFI_GUID gPeiFvFileLoaderPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
LoadFile2.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (LoadFile2)
|
||||
|
||||
|
||||
EFI_GUID gEfiLoadFile2PpiGuid = EFI_PEI_LOAD_FILE_GUID;
|
||||
EFI_GUID_STRING(&gEfiLoadFile2PpiGuid, "PeiLoadFile2", "PeiLoadFile2 PPI");
|
@@ -0,0 +1,49 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
LoadFile2.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __LOAD_FILE_PPI_H__
|
||||
#define __LOAD_FILE_PPI_H__
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_LOAD_FILE_PPI);
|
||||
|
||||
#define EFI_PEI_LOAD_FILE_GUID \
|
||||
{ 0xb9e0abfe, 0x5979, 0x4914, 0x97, 0x7f, 0x6d, 0xee, 0x78, 0xc2, 0x78, 0xa6}
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_LOAD_FILE) (
|
||||
IN CONST EFI_PEI_LOAD_FILE_PPI *This,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
|
||||
OUT UINT64 *ImageSize,
|
||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint,
|
||||
OUT UINT32 *AuthenticationState
|
||||
);
|
||||
|
||||
|
||||
typedef struct _EFI_PEI_LOAD_FILE_PPI {
|
||||
EFI_PEI_LOAD_FILE LoadFile;
|
||||
} EFI_PEI_LOAD_FILE_PPI;
|
||||
|
||||
|
||||
extern EFI_GUID gEfiLoadFile2PpiGuid;
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
MemoryDiscovered.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Memory Discovered PPI GUID as defined in PEI EAS
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (MemoryDiscovered)
|
||||
|
||||
EFI_GUID gPeiMemoryDiscoveredPpiGuid = PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiMemoryDiscoveredPpiGuid, "MemoryDiscovered", "Memory Discovered PPI");
|
@@ -0,0 +1,34 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
MemoryDiscovered.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Memory Discovered PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_MEMORY_DISCOVERED_PPI_H
|
||||
#define _PEI_MEMORY_DISCOVERED_PPI_H
|
||||
|
||||
#define PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID \
|
||||
{ \
|
||||
0xf894643d, 0xc449, 0x42d1, 0x8e, 0xa8, 0x85, 0xbd, 0xd8, 0xc6, 0x5b, 0xde \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_PERMANENT_MEMORY_INSTALLED_PPI);
|
||||
|
||||
extern EFI_GUID gPeiMemoryDiscoveredPpiGuid;
|
||||
|
||||
#endif
|
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.c
Normal file
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
PciCfg.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PciCfg PPI GUID as defined in PEI CIS specification.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (PciCfg)
|
||||
|
||||
EFI_GUID gPeiPciCfgPpiInServiceTableGuid = PEI_PCI_CFG_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiPciCfgPpiInServiceTableGuid, "PciCfg", "PciCfg PPI");
|
65
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.h
Normal file
65
EdkCompatibilityPkg/Foundation/Framework/Ppi/PciCfg/PciCfg.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 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:
|
||||
|
||||
PciCfg.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PciCfg PPI as defined in PEI CIS specification
|
||||
|
||||
Used to access PCI configuration space in PEI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_PCI_CFG_H_
|
||||
#define _PEI_PCI_CFG_H_
|
||||
#include "EfiPciCfg.h"
|
||||
|
||||
#define PEI_PCI_CFG_PPI_GUID \
|
||||
{ \
|
||||
0xe1f2eba0, 0xf7b9, 0x4a26, 0x86, 0x20, 0x13, 0x12, 0x21, 0x64, 0x2a, 0x90 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_PCI_CFG_PPI);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_PCI_CFG_PPI_IO) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_PCI_CFG_PPI * This,
|
||||
IN PEI_PCI_CFG_PPI_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_PCI_CFG_PPI_RW) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_PCI_CFG_PPI * This,
|
||||
IN PEI_PCI_CFG_PPI_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN SetBits,
|
||||
IN UINTN ClearBits
|
||||
);
|
||||
|
||||
typedef struct _PEI_PCI_CFG_PPI {
|
||||
PEI_PCI_CFG_PPI_IO Read;
|
||||
PEI_PCI_CFG_PPI_IO Write;
|
||||
PEI_PCI_CFG_PPI_RW Modify;
|
||||
} PEI_PCI_CFG_PPI;
|
||||
|
||||
extern EFI_GUID gPeiPciCfgPpiInServiceTableGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PciCfg2.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PciCfg2 PPI GUID as defined in PI1.0 specification.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (PciCfg2)
|
||||
|
||||
EFI_GUID gPeiPciCfg2PpiGuid = EFI_PEI_PCI_CFG2_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiPciCfg2PpiGuid, "PciCfg2", "PciCfg2 PPI");
|
@@ -0,0 +1,66 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PciCfg2.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PciCfg2 PPI as defined in PI1.0 specification
|
||||
|
||||
Used to access PCI configuration space in PEI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_PCI_CFG2_H_
|
||||
#define _PEI_PCI_CFG2_H_
|
||||
#include "EfiPciCfg.h"
|
||||
|
||||
#define EFI_PEI_PCI_CFG2_PPI_GUID \
|
||||
{ \
|
||||
0x57a449a, 0x1fdc, 0x4c06, 0xbf, 0xc9, 0xf5, 0x3f, 0x6a, 0x99, 0xbb, 0x92 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_PCI_CFG2_PPI);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_PCI_CFG_PPI_IO) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_PCI_CFG2_PPI *This,
|
||||
IN EFI_PEI_PCI_CFG_PPI_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_PCI_CFG_PPI_RW) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_PCI_CFG2_PPI *This,
|
||||
IN EFI_PEI_PCI_CFG_PPI_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN VOID *SetBits,
|
||||
IN VOID *ClearBits
|
||||
);
|
||||
|
||||
typedef struct _EFI_PEI_PCI_CFG2_PPI {
|
||||
EFI_PEI_PCI_CFG_PPI_IO Read;
|
||||
EFI_PEI_PCI_CFG_PPI_IO Write;
|
||||
EFI_PEI_PCI_CFG_PPI_RW Modify;
|
||||
UINT16 Segment;
|
||||
} EFI_PEI_PCI_CFG2_PPI;
|
||||
|
||||
extern EFI_GUID gPeiPciCfg2PpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
RecoveryModule.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Recovery Module PPI GUID as defined in PEI EAS
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (RecoveryModule)
|
||||
|
||||
EFI_GUID gPeiRecoveryModulePpiGuid = PEI_RECOVERY_MODULE_INTERFACE_PPI;
|
||||
|
||||
EFI_GUID_STRING(&gPeiRecoveryModulePpiGuid, "RecoveryModule", "Recovery Module PPI");
|
@@ -0,0 +1,45 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
RecoveryModule.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Recovery Module PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_RECOVERY_MODULE_PPI_H
|
||||
#define _PEI_RECOVERY_MODULE_PPI_H
|
||||
|
||||
#define PEI_RECOVERY_MODULE_INTERFACE_PPI \
|
||||
{ \
|
||||
0xFB6D9542, 0x612D, 0x4f45, 0x87, 0x2F, 0x5C, 0xFF, 0x52, 0xE9, 0x3D, 0xCF \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_RECOVERY_MODULE_INTERFACE);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_LOAD_RECOVERY_CAPSULE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_RECOVERY_MODULE_INTERFACE * This
|
||||
);
|
||||
|
||||
typedef struct _PEI_RECOVERY_MODULE_INTERFACE {
|
||||
PEI_LOAD_RECOVERY_CAPSULE LoadRecoveryCapsule;
|
||||
} PEI_RECOVERY_MODULE_INTERFACE;
|
||||
|
||||
extern EFI_GUID gPeiRecoveryModulePpiGuid;
|
||||
|
||||
#endif
|
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.c
Normal file
28
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Reset.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Reset Service PPI GUID as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (Reset)
|
||||
|
||||
EFI_GUID gPeiResetPpiGuid = PEI_RESET_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiResetPpiGuid, "Reset", "Reset PPI");
|
54
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.h
Normal file
54
EdkCompatibilityPkg/Foundation/Framework/Ppi/Reset/Reset.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Reset.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Reset PPI as defined in Tiano
|
||||
|
||||
Used to reset the platform from PEI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_RESET_H_
|
||||
#define _PEI_RESET_H_
|
||||
|
||||
#define PEI_RESET_PPI_GUID \
|
||||
{ \
|
||||
0xef398d58, 0x9dfd, 0x4103, 0xbf, 0x94, 0x78, 0xc6, 0xf4, 0xfe, 0x71, 0x2f \
|
||||
}
|
||||
|
||||
//
|
||||
// *******************************************************
|
||||
// PEI_RESET_TYPE
|
||||
// *******************************************************
|
||||
//
|
||||
typedef enum {
|
||||
PeiResetCold,
|
||||
PeiResetWarm,
|
||||
} PEI_RESET_TYPE;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
|
||||
IN EFI_PEI_SERVICES **PeiServices
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
EFI_PEI_RESET_SYSTEM ResetSystem;
|
||||
} PEI_RESET_PPI;
|
||||
|
||||
extern EFI_GUID gPeiResetPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
S3Resume.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot Script Executer PPI GUID as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (S3Resume)
|
||||
|
||||
EFI_GUID gPeiS3ResumePpiGuid = PEI_S3_RESUME_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiS3ResumePpiGuid, "S3Resume", "S3 Resume PPI");
|
@@ -0,0 +1,44 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
S3Resume.h
|
||||
|
||||
Abstract:
|
||||
|
||||
S3 Resume PPI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_S3_RESUME_PPI_H
|
||||
#define _PEI_S3_RESUME_PPI_H
|
||||
|
||||
#define PEI_S3_RESUME_PPI_GUID \
|
||||
{ \
|
||||
0x4426CCB2, 0xE684, 0x4a8a, 0xAE, 0x40, 0x20, 0xD4, 0xB0, 0x25, 0xB7, 0x10 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_S3_RESUME_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_S3_RESUME_PPI_RESTORE_CONFIG) (
|
||||
IN EFI_PEI_SERVICES **PeiServices
|
||||
);
|
||||
|
||||
typedef struct _PEI_S3_RESUME_PPI {
|
||||
PEI_S3_RESUME_PPI_RESTORE_CONFIG S3RestoreConfig;
|
||||
} PEI_S3_RESUME_PPI;
|
||||
|
||||
extern EFI_GUID gPeiS3ResumePpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
SecPlatformInformation.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Sec Platform Information as defined in PEI EAS
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (SecPlatformInformation)
|
||||
|
||||
EFI_GUID gEfiSecPlatformInformationPpiGuid = EFI_SEC_PLATFORM_INFORMATION_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiSecPlatformInformationPpiGuid, "SecPlatformInformation", "Sec Platform Information");
|
@@ -0,0 +1,71 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
SecPlatformInformation.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Sec Platform Information PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_SEC_PLATFORM_INFORMATION_PPI_H
|
||||
#define _PEI_SEC_PLATFORM_INFORMATION_PPI_H
|
||||
|
||||
#define EFI_SEC_PLATFORM_INFORMATION_GUID \
|
||||
{ \
|
||||
0x6f8c2b35, 0xfef4, 0x448d, 0x82, 0x56, 0xe1, 0x1b, 0x19, 0xd6, 0x10, 0x77 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_SEC_PLATFORM_INFORMATION_PPI);
|
||||
|
||||
extern EFI_GUID gEfiSecPlatformInformationPpiGuid;
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
UINT32 Status : 2;
|
||||
UINT32 Tested : 1;
|
||||
UINT32 Reserved1 :13;
|
||||
UINT32 VirtualMemoryUnavailable : 1;
|
||||
UINT32 Ia32ExecutionUnavailable : 1;
|
||||
UINT32 FloatingPointUnavailable : 1;
|
||||
UINT32 MiscFeaturesUnavailable : 1;
|
||||
UINT32 Reserved2 :12;
|
||||
} Bits;
|
||||
UINT32 Uint32;
|
||||
} EFI_HEALTH_FLAGS;
|
||||
|
||||
typedef struct {
|
||||
EFI_HEALTH_FLAGS HealthFlags;
|
||||
} SEC_PLATFORM_INFORMATION_RECORD;
|
||||
|
||||
typedef struct {
|
||||
UINTN BootPhase; // entry r20 value
|
||||
UINTN UniqueId; // PAL arbitration ID
|
||||
UINTN HealthStat; // Health Status
|
||||
UINTN PALRetAddress; // return address to PAL
|
||||
} IPF_HANDOFF_STATUS;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *SEC_PLATFORM_INFORMATION) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN OUT UINT64 *StructureSize,
|
||||
IN OUT SEC_PLATFORM_INFORMATION_RECORD *PlatformInformationRecord
|
||||
);
|
||||
|
||||
typedef struct _EFI_SEC_PLATFORM_INFORMATION_PPI {
|
||||
SEC_PLATFORM_INFORMATION PlatformInformation;
|
||||
} EFI_SEC_PLATFORM_INFORMATION_PPI;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
SectionExtraction.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Section Extraction Protocol PPI GUID as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (SectionExtraction)
|
||||
|
||||
EFI_GUID gPeiSectionExtractionPpiGuid = EFI_PEI_SECTION_EXTRACTION_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiSectionExtractionPpiGuid, "Section Extraction PPI", "Section Extraction PPI");
|
@@ -0,0 +1,59 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
SectionExtraction.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Section Extraction PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _SECTION_EXTRACTION_PPI_H_
|
||||
#define _SECTION_EXTRACTION_PPI_H_
|
||||
|
||||
#define EFI_PEI_SECTION_EXTRACTION_PPI_GUID \
|
||||
{ \
|
||||
0x4F89E208, 0xE144, 0x4804, 0x9E, 0xC8, 0x0F, 0x89, 0x4F, 0x7E, 0x36, 0xD7 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_SECTION_EXTRACTION_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_GET_SECTION) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_SECTION_EXTRACTION_PPI * This,
|
||||
IN EFI_SECTION_TYPE * SectionType,
|
||||
IN EFI_GUID * SectionDefinitionGuid, OPTIONAL
|
||||
IN UINTN SectionInstance,
|
||||
IN VOID **Buffer,
|
||||
IN OUT UINT32 *BufferSize,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
);
|
||||
|
||||
//
|
||||
// Bit values for AuthenticationStatus
|
||||
//
|
||||
#define EFI_PEI_AUTH_STATUS_PLATFORM_OVERRIDE 0x01
|
||||
#define EFI_PEI_AUTH_STATUS_IMAGE_SIGNED 0x02
|
||||
#define EFI_PEI_AUTH_STATUS_NOT_TESTED 0x04
|
||||
#define EFI_PEI_AUTH_STATUS_TEST_FAILED 0x08
|
||||
|
||||
typedef struct _EFI_PEI_SECTION_EXTRACTION_PPI {
|
||||
EFI_PEI_GET_SECTION PeiGetSection;
|
||||
} EFI_PEI_SECTION_EXTRACTION_PPI;
|
||||
|
||||
extern EFI_GUID gPeiSectionExtractionPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Security.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Security Architectural Protocol PPI GUID as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (Security)
|
||||
|
||||
EFI_GUID gPeiSecurityPpiGuid = PEI_SECURITY_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gPeiSecurityPpiGuid, "Security PPI", "Security Arch PPI");
|
@@ -0,0 +1,48 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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:
|
||||
|
||||
Security.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Security Architectural PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _SECURITY_PPI_H_
|
||||
#define _SECURITY_PPI_H_
|
||||
|
||||
#define PEI_SECURITY_PPI_GUID \
|
||||
{ \
|
||||
0x1388066e, 0x3a57, 0x4efa, 0x98, 0xf3, 0xc1, 0x2f, 0x3a, 0x95, 0x8a, 0x29 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (PEI_SECURITY_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_SECURITY_AUTHENTICATION_STATE) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_SECURITY_PPI * This,
|
||||
IN UINT32 AuthenticationStatus,
|
||||
IN EFI_FFS_FILE_HEADER * FfsFileHeader,
|
||||
IN OUT BOOLEAN *StartCrisisRecovery
|
||||
);
|
||||
|
||||
typedef struct _PEI_SECURITY_PPI {
|
||||
PEI_SECURITY_AUTHENTICATION_STATE AuthenticationState;
|
||||
} PEI_SECURITY_PPI;
|
||||
|
||||
extern EFI_GUID gPeiSecurityPpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
Security2.c
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "Pei.h"
|
||||
#include EFI_PPI_DEFINITION (Security2)
|
||||
|
||||
EFI_GUID gEfiPeiSecurity2PpiGuid = EFI_PEI_SECURITY2_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPeiSecurity2PpiGuid, "Security2 PPI", "Security2 Arch PPI");
|
@@ -0,0 +1,50 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
Security2.h
|
||||
|
||||
Abstract:
|
||||
|
||||
PI 1.0 spec definition.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#ifndef __SECURITY2_PPI_H__
|
||||
#define __SECURITY2_PPI_H__
|
||||
|
||||
#define EFI_PEI_SECURITY2_PPI_GUID \
|
||||
{ 0xdcd0be23, 0x9586, 0x40f4, 0xb6, 0x43, 0x6, 0x52, 0x2c, 0xed, 0x4e, 0xde}
|
||||
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PEI_SECURITY2_PPI);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_SECURITY_AUTHENTICATION_STATE) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_SECURITY2_PPI *This,
|
||||
IN UINT32 AuthenticationStatus,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
IN OUT BOOLEAN *DeferExection
|
||||
);
|
||||
|
||||
typedef struct _EFI_PEI_SECURITY2_PPI {
|
||||
EFI_PEI_SECURITY_AUTHENTICATION_STATE AuthenticationState;
|
||||
} EFI_PEI_SECURITY2_PPI;
|
||||
|
||||
|
||||
extern EFI_GUID gEfiPeiSecurity2PpiGuid;
|
||||
|
||||
#endif
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user