diff options
Diffstat (limited to 'EDK/Foundation/Library/EdkIIGlueLib/Include/Common')
5 files changed, 1166 insertions, 0 deletions
diff --git a/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueBaseTypes.h b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueBaseTypes.h new file mode 100644 index 0000000..81180e9 --- /dev/null +++ b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueBaseTypes.h @@ -0,0 +1,90 @@ +/*++ + +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: + + EdkIIGlueBaseTypes.h + +Abstract: + + Defines additional data types for use by Base modules + +--*/ + +#ifndef __EDKII_GLUE_BASE_TYPES_H__ +#define __EDKII_GLUE_BASE_TYPES_H__ + +#include "..\EdkIIGlueConfig.h" + +#define BREAKPOINT EFI_BREAKPOINT +#define DEADLOOP EFI_DEADLOOP + +#define MAX_BIT EFI_MAX_BIT +#define MAX_ADDRESS EFI_MAX_ADDRESS + +#ifndef UINT8_MAX + #define UINT8_MAX 0xff +#endif + +// +// EFI Error Codes common to all execution phases +// + +typedef INTN RETURN_STATUS; + +/// +/// Set the upper bit to indicate EFI Error. +/// +#define ENCODE_ERROR(a) (MAX_BIT | (a)) + +#define ENCODE_WARNING(a) (a) +#define RETURN_ERROR(a) ((a) < 0) + +#define RETURN_SUCCESS 0 +#define RETURN_LOAD_ERROR ENCODE_ERROR (1) +#define RETURN_INVALID_PARAMETER ENCODE_ERROR (2) +#define RETURN_UNSUPPORTED ENCODE_ERROR (3) +#define RETURN_BAD_BUFFER_SIZE ENCODE_ERROR (4) +#define RETURN_BUFFER_TOO_SMALL ENCODE_ERROR (5) +#define RETURN_NOT_READY ENCODE_ERROR (6) +#define RETURN_DEVICE_ERROR ENCODE_ERROR (7) +#define RETURN_WRITE_PROTECTED ENCODE_ERROR (8) +#define RETURN_OUT_OF_RESOURCES ENCODE_ERROR (9) +#define RETURN_VOLUME_CORRUPTED ENCODE_ERROR (10) +#define RETURN_VOLUME_FULL ENCODE_ERROR (11) +#define RETURN_NO_MEDIA ENCODE_ERROR (12) +#define RETURN_MEDIA_CHANGED ENCODE_ERROR (13) +#define RETURN_NOT_FOUND ENCODE_ERROR (14) +#define RETURN_ACCESS_DENIED ENCODE_ERROR (15) +#define RETURN_NO_RESPONSE ENCODE_ERROR (16) +#define RETURN_NO_MAPPING ENCODE_ERROR (17) +#define RETURN_TIMEOUT ENCODE_ERROR (18) +#define RETURN_NOT_STARTED ENCODE_ERROR (19) +#define RETURN_ALREADY_STARTED ENCODE_ERROR (20) +#define RETURN_ABORTED ENCODE_ERROR (21) +#define RETURN_ICMP_ERROR ENCODE_ERROR (22) +#define RETURN_TFTP_ERROR ENCODE_ERROR (23) +#define RETURN_PROTOCOL_ERROR ENCODE_ERROR (24) +#define RETURN_INCOMPATIBLE_VERSION ENCODE_ERROR (25) +#define RETURN_SECURITY_VIOLATION ENCODE_ERROR (26) +#define RETURN_CRC_ERROR ENCODE_ERROR (27) +#define RETURN_END_OF_MEDIA ENCODE_ERROR (28) +#define RETURN_END_OF_FILE ENCODE_ERROR (31) + +#define RETURN_WARN_UNKNOWN_GLYPH ENCODE_WARNING (1) +#define RETURN_WARN_DELETE_FAILURE ENCODE_WARNING (2) +#define RETURN_WARN_WRITE_FAILURE ENCODE_WARNING (3) +#define RETURN_WARN_BUFFER_TOO_SMALL ENCODE_WARNING (4) + +typedef UINT64 PHYSICAL_ADDRESS; + +#endif diff --git a/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesBase.h b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesBase.h new file mode 100644 index 0000000..aafcdd2 --- /dev/null +++ b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesBase.h @@ -0,0 +1,118 @@ +/*++ + +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: + + EdkIIGlueDefinitionChangesBase.h + +Abstract: + + Data structure definition changes from EDK to EDKII + +--*/ + +#ifndef __EDKII_GLUE_DEFINITION_CHANGES_BASE_H__ +#define __EDKII_GLUE_DEFINITION_CHANGES_BASE_H__ + +#if (EFI_SPECIFICATION_VERSION >= 0x0002000A) +#include "TianoHii.h" +#else +#include "EfiInternalFormRepresentation.h" +#endif +#include "EfiPxe.h" + + +// ---------------------------------------------------------------------------------- +// Data Hub Record GUID Name changes +// ---------------------------------------------------------------------------------- +#define gEfiProcessorSubClassGuid gProcessorSubClassName +#define gEfiCacheSubClassGuid gCacheSubClassName +#define gEfiMiscSubClassGuid gMiscSubClassName +#define gEfiProcessorProducerGuid gProcessorProducerGuid +#define gEfiMemoryProducerGuid gMemoryProducerGuid +#define gEfiMiscProducerGuid gMiscProducerGuid + + +// ---------------------------------------------------------------------------------- +// Hob.h: Get the data and data size field of GUID +// ---------------------------------------------------------------------------------- +#define GET_GUID_HOB_DATA(GuidHob) ((VOID *) (((UINT8 *) &((GuidHob)->Name)) + sizeof (EFI_GUID))) +#define GET_GUID_HOB_DATA_SIZE(GuidHob) (((GuidHob)->Header).HobLength - sizeof (EFI_HOB_GUID_TYPE)) + +// ---------------------------------------------------------------------------------- +// InternalFormRepresentation.h: +// ---------------------------------------------------------------------------------- +#if (EFI_SPECIFICATION_VERSION < 0x0002000A) +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_CHECKBOX; + +typedef struct { + EFI_IFR_OP_HEADER Header; + UINT8 Flags; +} EFI_IFR_GRAY_OUT; + +typedef struct { + EFI_IFR_OP_HEADER Header; +} EFI_IFR_END_EXPR; +#endif + +// ------------------------ +// define GUID as EFI_GUID +// ------------------------ +typedef EFI_GUID GUID; + + +// ------------------- +// EdkII Names - Edk Names +// ------------------- +#define EFI_GLOBAL_VARIABLE EFI_GLOBAL_VARIABLE_GUID +#define MPS_TABLE_GUID EFI_MPS_TABLE_GUID +#define SAL_SYSTEM_TABLE_GUID EFI_SAL_SYSTEM_TABLE_GUID +#define SMBIOS_TABLE_GUID EFI_SMBIOS_TABLE_GUID +#define EFI_OPTIONAL_PTR EFI_OPTIONAL_POINTER +#define PXE_FRAME_TYPE_FILTERED_MULTICAST PXE_FRAME_TYPE_MULTICAST +#define IMAGE_FILE_MACHINE_I386 EFI_IMAGE_MACHINE_IA32 +#define IMAGE_FILE_MACHINE_IA64 EFI_IMAGE_MACHINE_IA64 +#define IMAGE_FILE_MACHINE_EBC EFI_IMAGE_MACHINE_EBC +#define IMAGE_FILE_MACHINE_X64 EFI_IMAGE_MACHINE_X64 +#define EVENT_TIMER EFI_EVENT_TIMER +#define EVENT_RUNTIME EFI_EVENT_RUNTIME +#define EVENT_RUNTIME_CONTEXT EFI_EVENT_RUNTIME_CONTEXT +#define EVENT_NOTIFY_WAIT EFI_EVENT_NOTIFY_WAIT +#define EVENT_NOTIFY_SIGNAL EFI_EVENT_NOTIFY_SIGNAL +#define EVENT_SIGNAL_EXIT_BOOT_SERVICES EFI_EVENT_SIGNAL_EXIT_BOOT_SERVICES +#define EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE +#define TPL_APPLICATION EFI_TPL_APPLICATION +#define TPL_CALLBACK EFI_TPL_CALLBACK +#define TPL_NOTIFY EFI_TPL_NOTIFY +#define TPL_HIGH_LEVEL EFI_TPL_HIGH_LEVEL + +// +// Typos in R8.x +// +#define gEfiHobMemoryAllocModuleGuid gEfiHobMemeryAllocModuleGuid +#define gEfiHobMemoryAllocStackGuid gEfiHobMemeryAllocStackGuid +#define gEfiHobMemoryAllocBspStoreGuid gEfiHobMemeryAllocBspStoreGuid + +// +// typedef Edk types - EdkII types +// +typedef PXE_CPB_START PXE_CPB_START_30; + +#endif diff --git a/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesDxe.h b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesDxe.h new file mode 100644 index 0000000..dcedbe5 --- /dev/null +++ b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesDxe.h @@ -0,0 +1,95 @@ +/*++ + +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: + + EdkIIGlueDefinitionChangesDxe.h + +Abstract: + + Data structure definition changes from EDK to EDKII + +--*/ + +#ifndef __EDKII_GLUE_DEFINITION_CHANGES_DXE_H__ +#define __EDKII_GLUE_DEFINITION_CHANGES_DXE_H__ + +#if (EFI_SPECIFICATION_VERSION >= 0x0002000A) +#include "TianoHii.h" +#else +#include "EfiInternalFormRepresentation.h" +#endif + +#include "EdkIIGlueDefinitionChangesBase.h" + +#if (TIANO_RELEASE_VERSION <= 0x00080005) + #define gEfiStatusCodeRuntimeProtocolGuid gEfiStatusCodeArchProtocolGuid +#endif + +// +// typedef Edk types - EdkII types +// +typedef EFI_MEMORY_ARRAY_START_ADDRESS EFI_MEMORY_ARRAY_START_ADDRESS_DATA; +typedef EFI_MEMORY_DEVICE_START_ADDRESS EFI_MEMORY_DEVICE_START_ADDRESS_DATA; +typedef EFI_MISC_LAST_PCI_BUS EFI_MISC_LAST_PCI_BUS_DATA; +typedef EFI_MISC_BIOS_VENDOR EFI_MISC_BIOS_VENDOR_DATA; +typedef EFI_MISC_SYSTEM_MANUFACTURER EFI_MISC_SYSTEM_MANUFACTURER_DATA; +typedef EFI_MISC_BASE_BOARD_MANUFACTURER EFI_MISC_BASE_BOARD_MANUFACTURER_DATA; +typedef EFI_MISC_CHASSIS_MANUFACTURER EFI_MISC_CHASSIS_MANUFACTURER_DATA; +typedef EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA; +typedef EFI_MISC_SYSTEM_SLOT_DESIGNATION EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA; +typedef EFI_MISC_ONBOARD_DEVICE EFI_MISC_ONBOARD_DEVICE_DATA; +typedef EFI_MISC_ONBOARD_DEVICE_TYPE_DATA EFI_MISC_PORTING_DEVICE_TYPE_DATA; +typedef EFI_MISC_OEM_STRING EFI_MISC_OEM_STRING_DATA; +typedef EFI_MISC_SYSTEM_OPTION_STRING EFI_MISC_SYSTEM_OPTION_STRING_DATA; +typedef EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA; +typedef EFI_MISC_SYSTEM_LANGUAGE_STRING EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA; +typedef EFI_MISC_BIS_ENTRY_POINT EFI_MISC_BIS_ENTRY_POINT_DATA; +typedef EFI_MISC_BOOT_INFORMATION_STATUS EFI_MISC_BOOT_INFORMATION_STATUS_DATA; +typedef EFI_MISC_SYSTEM_POWER_SUPPLY EFI_MISC_SYSTEM_POWER_SUPPLY_DATA ; +typedef EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA; + +// ------------------- +// EdkII Names - Edk Names +// ------------------- +#define gEfiAcpiSupportProtocolGuid gEfiAcpiSupportGuid +#define gEfiLoadPeImageProtocolGuid gEfiLoadPeImageGuid +#if (EFI_SPECIFICATION_VERSION < 0x0002000A) +#define EFI_GLYPH_NON_SPACING GLYPH_NON_SPACING +#define EFI_GLYPH_WIDE GLYPH_NON_BREAKING +#endif +#define BOOT_OBJECT_AUTHORIZATION_PARMSET_GUID BOOT_OBJECT_AUTHORIZATION_PARMSET_GUIDVALUE +#define EFI_EBC_PROTOCOL_GUID EFI_EBC_INTERPRETER_PROTOCOL_GUID +#define EFI_FILE_SYSTEM_VOLUME_LABEL_ID EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID +#define EFI_LOADED_IMAGE_PROTOCOL_REVISION EFI_LOADED_IMAGE_INFORMATION_REVISION +#define EFI_LOAD_FILE_PROTOCOL_GUID LOAD_FILE_PROTOCOL_GUID +#define EFI_PXE_BASE_CODE_PROTOCOL_REVISION EFI_PXE_BASE_CODE_INTERFACE_REVISION +#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION +#define EFI_SERIAL_IO_PROTOCOL_REVISION SERIAL_IO_INTERFACE_REVISION +#define EFI_FILE_PROTOCOL_REVISION EFI_FILE_HANDLE_REVISION +#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID EFI_SIMPLE_TEXT_IN_PROTOCOL_GUID + + +// +// typedef Edk types - EdkII types +// +typedef EFI_VOLUME_OPEN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME; +typedef EFI_TEXT_OUTPUT_STRING EFI_TEXT_STRING; +#if (EFI_SPECIFICATION_VERSION < 0x0002000A) +typedef SCREEN_DESCRIPTOR EFI_SCREEN_DESCRIPTOR; +#endif +typedef EFI_SIMPLE_TEXT_IN_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL; +typedef EFI_SIMPLE_TEXT_OUT_PROTOCOL EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL; +//typedef EFI_TO_LEGACY16_INIT_TABLE EFI_TO_COMPATIBILITY16_INIT_TABLE; +//typedef DISPATCH_OPROM_TABLE EFI_DISPATCH_OPROM_TABLE; + +#endif diff --git a/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesPeim.h b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesPeim.h new file mode 100644 index 0000000..373c9b4 --- /dev/null +++ b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDefinitionChangesPeim.h @@ -0,0 +1,165 @@ +/*++ + +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: + + EdkIIGlueDefinitionChangesPeim.h + +Abstract: + + Data structure definition changes from EDK to EDKII + +--*/ + +#ifndef __EDKII_GLUE_DEFINITION_CHANGES_PEIM_H__ +#define __EDKII_GLUE_DEFINITION_CHANGES_PEIM_H__ + +#if (EFI_SPECIFICATION_VERSION >= 0x0002000A) +#include "TianoHii.h" +#else +#include "EfiInternalFormRepresentation.h" +#endif + +#include "EdkIIGlueDefinitionChangesBase.h" + +#include "EfiPciCfg.h" + +// +// typedef Edk types - EdkII types +// +typedef EFI_MEMORY_ARRAY_START_ADDRESS EFI_MEMORY_ARRAY_START_ADDRESS_DATA; +typedef EFI_MEMORY_DEVICE_START_ADDRESS EFI_MEMORY_DEVICE_START_ADDRESS_DATA; +typedef EFI_MISC_LAST_PCI_BUS EFI_MISC_LAST_PCI_BUS_DATA; +typedef EFI_MISC_BIOS_VENDOR EFI_MISC_BIOS_VENDOR_DATA; +typedef EFI_MISC_SYSTEM_MANUFACTURER EFI_MISC_SYSTEM_MANUFACTURER_DATA; +typedef EFI_MISC_BASE_BOARD_MANUFACTURER EFI_MISC_BASE_BOARD_MANUFACTURER_DATA; +typedef EFI_MISC_CHASSIS_MANUFACTURER EFI_MISC_CHASSIS_MANUFACTURER_DATA; +typedef EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA; +typedef EFI_MISC_SYSTEM_SLOT_DESIGNATION EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA; +typedef EFI_MISC_ONBOARD_DEVICE EFI_MISC_ONBOARD_DEVICE_DATA; +typedef EFI_MISC_ONBOARD_DEVICE_TYPE_DATA EFI_MISC_PORTING_DEVICE_TYPE_DATA; +typedef EFI_MISC_OEM_STRING EFI_MISC_OEM_STRING_DATA; +typedef EFI_MISC_SYSTEM_OPTION_STRING EFI_MISC_SYSTEM_OPTION_STRING_DATA; +typedef EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA; +typedef EFI_MISC_SYSTEM_LANGUAGE_STRING EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA; +typedef EFI_MISC_BIS_ENTRY_POINT EFI_MISC_BIS_ENTRY_POINT_DATA; +typedef EFI_MISC_BOOT_INFORMATION_STATUS EFI_MISC_BOOT_INFORMATION_STATUS_DATA; +typedef EFI_MISC_SYSTEM_POWER_SUPPLY EFI_MISC_SYSTEM_POWER_SUPPLY_DATA ; +typedef EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA; + +// ------------------- +// EdkII Names - Edk Names +// ------------------- +#define gEfiPeiCpuIoPpiInServiceTableGuid gPeiCpuIoPpiInServiceTableGuid +#define gEfiEndOfPeiSignalPpiGuid gEndOfPeiSignalPpiGuid +#define gEfiPeiFvFileLoaderPpiGuid gPeiFvFileLoaderPpiGuid +#define gEfiPeiMasterBootModePpiGuid gPeiMasterBootModePpiGuid +#define gEfiPeiMemoryDiscoveredPpiGuid gPeiMemoryDiscoveredPpiGuid +#define gEfiPciCfgPpiInServiceTableGuid gPeiPciCfgPpiInServiceTableGuid +#define gEfiPeiReadOnlyVariablePpiGuid gPeiReadOnlyVariablePpiGuid +#define gEfiPeiRecoveryModulePpiGuid gPeiRecoveryModulePpiGuid +#define gEfiPeiResetPpiGuid gPeiResetPpiGuid +#define gEfiPeiS3ResumePpiGuid gPeiS3ResumePpiGuid +#define gEfiPeiSectionExtractionPpiGuid gPeiSectionExtractionPpiGuid +#define gEfiPeiSecurityPpiGuid gPeiSecurityPpiGuid +#define gEfiPeiStatusCodePpiGuid gPeiStatusCodePpiGuid +#define gEfiPeiBootScriptExecuterPpiGuid gPeiBootScriptExecuterPpiGuid +#define gEfiPeiSmbusPpiGuid gPeiSmbusPpiGuid +#define gEfiPeiBlockIoPpiGuid gPeiBlockIoPpiGuid +#define gEfiPeiDeviceRecoveryModulePpiGuid gPeiDeviceRecoveryModulePpiGuid +#define gEfiPeiStallPpiGuid gPeiStallPpiGuid +#define gEfiPeiPciCfgPpiInServiceTableGuid gPeiPciCfgPpiInServiceTableGuid +#define gEfiPeiAtaControllerPpiGuid gPeiAtaControllerPpiGuid +#define EFI_PEI_CPU_IO_PPI_INSTALLED_GUID PEI_CPU_IO_PPI_GUID +#define EFI_PEI_RESET_PPI_GUID PEI_RESET_PPI_GUID +#define EFI_PEI_PCI_CFG_PPI_INSTALLED_GUID PEI_PCI_CFG_PPI_GUID +#define EFI_PEI_REPORT_PROGRESS_CODE_PPI_GUID PEI_STATUS_CODE_PPI_GUID +#define EFI_PEI_BOOT_IN_RECOVERY_MODE_PEIM_PPI PEI_BOOT_IN_RECOVERY_MODE_PEIM_PPI +#define EFI_PEI_END_OF_PEI_PHASE_PPI_GUID PEI_END_OF_PEI_PHASE_PPI_GUID +#define EFI_PEI_MASTER_BOOT_MODE_PEIM_PPI PEI_MASTER_BOOT_MODE_PEIM_PPI +#define EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID +#define EFI_PEI_READ_ONLY_VARIABLE_ACCESS_PPI_GUID PEI_READ_ONLY_VARIABLE_ACCESS_PPI_GUID +#define EFI_PEI_RECOVERY_MODULE_PPI_GUID PEI_RECOVERY_MODULE_INTERFACE_PPI +#define EFI_PEI_S3_RESUME_PPI_GUID PEI_S3_RESUME_PPI_GUID +#define EFI_PEI_SECURITY_PPI_GUID PEI_SECURITY_PPI_GUID +#define EFI_PEI_STALL_PPI_GUID PEI_STALL_PPI_GUID +#define EFI_PEI_SMBUS_PPI_GUID PEI_SMBUS_PPI_GUID +#define EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI_GUID PEI_BOOT_SCRIPT_EXECUTER_PPI_GUID +#define EFI_PEI_FIND_FV_PPI_GUID EFI_FIND_FV_PPI_GUID +#define EFI_PEI_VIRTUAL_BLOCK_IO_PPI PEI_BLOCK_IO_PPI_GUID +#define EFI_PEI_DEVICE_RECOVERY_MODULE_PPI_GUID PEI_DEVICE_RECOVERY_MODULE_INTERFACE_PPI + + +// +// typedef Edk types - EdkII types +// +typedef PEI_RECOVERY_MODULE_INTERFACE EFI_PEI_RECOVERY_MODULE_PPI; +typedef PEI_CPU_IO_PPI EFI_PEI_CPU_IO_PPI; +typedef PEI_STALL_PPI EFI_PEI_STALL_PPI; +typedef PEI_SMBUS_PPI EFI_PEI_SMBUS_PPI; +typedef PEI_READ_ONLY_VARIABLE_PPI EFI_PEI_READ_ONLY_VARIABLE_PPI; +typedef PEI_PCI_CFG_PPI EFI_PEI_PCI_CFG_PPI; +typedef PEI_STATUS_CODE_PPI EFI_PEI_PROGRESS_CODE_PPI; +typedef PEI_CPU_IO_PPI_WIDTH EFI_PEI_CPU_IO_PPI_WIDTH; +typedef PEI_CPU_IO_PPI_IO_MEM EFI_PEI_CPU_IO_PPI_IO_MEM; +typedef PEI_CPU_IO_PPI_ACCESS EFI_PEI_CPU_IO_PPI_ACCESS; +typedef PEI_CPU_IO_PPI_IO_READ8 EFI_PEI_CPU_IO_PPI_IO_READ8; +typedef PEI_CPU_IO_PPI_IO_READ16 EFI_PEI_CPU_IO_PPI_IO_READ16; +typedef PEI_CPU_IO_PPI_IO_READ32 EFI_PEI_CPU_IO_PPI_IO_READ32; +typedef PEI_CPU_IO_PPI_IO_READ64 EFI_PEI_CPU_IO_PPI_IO_READ64; +typedef PEI_CPU_IO_PPI_IO_WRITE8 EFI_PEI_CPU_IO_PPI_IO_WRITE8; +typedef PEI_CPU_IO_PPI_IO_WRITE16 EFI_PEI_CPU_IO_PPI_IO_WRITE16; +typedef PEI_CPU_IO_PPI_IO_WRITE32 EFI_PEI_CPU_IO_PPI_IO_WRITE32; +typedef PEI_CPU_IO_PPI_IO_WRITE64 EFI_PEI_CPU_IO_PPI_IO_WRITE64; +typedef PEI_CPU_IO_PPI_MEM_READ8 EFI_PEI_CPU_IO_PPI_MEM_READ8; +typedef PEI_CPU_IO_PPI_MEM_READ16 EFI_PEI_CPU_IO_PPI_MEM_READ16; +typedef PEI_CPU_IO_PPI_MEM_READ32 EFI_PEI_CPU_IO_PPI_MEM_READ32; +typedef PEI_CPU_IO_PPI_MEM_READ64 EFI_PEI_CPU_IO_PPI_MEM_READ64; +typedef PEI_CPU_IO_PPI_MEM_WRITE8 EFI_PEI_CPU_IO_PPI_MEM_WRITE8; +typedef PEI_CPU_IO_PPI_MEM_WRITE16 EFI_PEI_CPU_IO_PPI_MEM_WRITE16; +typedef PEI_CPU_IO_PPI_MEM_WRITE32 EFI_PEI_CPU_IO_PPI_MEM_WRITE32; +typedef PEI_CPU_IO_PPI_MEM_WRITE64 EFI_PEI_CPU_IO_PPI_MEM_WRITE64; +//;;## ...AMI_OVERRIDE... Support PI1.x typedef PEI_PCI_CFG_PPI_WIDTH EFI_PEI_PCI_CFG_PPI_WIDTH; +//;;## ...AMI_OVERRIDE... Support PI1.x typedef PEI_PCI_CFG_PPI_PCI_ADDRESS EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS; +typedef PEI_GET_VARIABLE EFI_PEI_GET_VARIABLE; +typedef PEI_GET_NEXT_VARIABLE_NAME EFI_PEI_GET_NEXT_VARIABLE_NAME; +typedef PEI_LOAD_RECOVERY_CAPSULE EFI_PEI_LOAD_RECOVERY_CAPSULE; +typedef PEI_RESET_PPI EFI_PEI_RESET_PPI; +typedef PEI_S3_RESUME_PPI EFI_PEI_S3_RESUME_PPI; +typedef PEI_S3_RESUME_PPI_RESTORE_CONFIG EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG; +typedef SEC_PLATFORM_INFORMATION EFI_SEC_PLATFORM_INFORMATION; +typedef PEI_SECURITY_PPI EFI_PEI_SECURITY_PPI; +typedef PEI_SECURITY_AUTHENTICATION_STATE EFI_PEI_SECURITY_AUTHENTICATION_STATE; +typedef PEI_STALL EFI_PEI_STALL; +typedef PEI_SMBUS_PPI_EXECUTE_OPERATION EFI_PEI_SMBUS_PPI_EXECUTE_OPERATION; +typedef PEI_SMBUS_NOTIFY_FUNCTION EFI_PEI_SMBUS_NOTIFY_FUNCTION; +typedef PEI_SMBUS_PPI_ARP_DEVICE EFI_PEI_SMBUS_PPI_ARP_DEVICE; +typedef PEI_SMBUS_PPI_GET_ARP_MAP EFI_PEI_SMBUS_PPI_GET_ARP_MAP; +typedef PEI_SMBUS_PPI_NOTIFY EFI_PEI_SMBUS_PPI_NOTIFY; +typedef PEI_BOOT_SCRIPT_EXECUTE EFI_PEI_BOOT_SCRIPT_EXECUTE; +typedef PEI_BOOT_SCRIPT_EXECUTER_PPI EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI; +typedef EFI_FIND_FV_FINDFV EFI_PEI_FIND_FV_FINDFV; +typedef EFI_FIND_FV_PPI EFI_PEI_FIND_FV_PPI; +typedef PEI_RECOVERY_BLOCK_IO_INTERFACE EFI_PEI_RECOVERY_BLOCK_IO_PPI; +typedef PEI_LBA EFI_PEI_LBA; +typedef PEI_BLOCK_IO_MEDIA EFI_PEI_BLOCK_IO_MEDIA; +typedef PEI_BLOCK_DEVICE_TYPE EFI_PEI_BLOCK_DEVICE_TYPE; +typedef PEI_GET_NUMBER_BLOCK_DEVICES EFI_PEI_GET_NUMBER_BLOCK_DEVICES; +typedef PEI_GET_DEVICE_MEDIA_INFORMATION EFI_PEI_GET_DEVICE_MEDIA_INFORMATION; +typedef PEI_READ_BLOCKS EFI_PEI_READ_BLOCKS; +typedef PEI_DEVICE_RECOVERY_MODULE_INTERFACE EFI_PEI_DEVICE_RECOVERY_MODULE_PPI; +typedef PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE EFI_PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE; +typedef PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO EFI_PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO; +typedef PEI_DEVICE_LOAD_RECOVERY_CAPSULE EFI_PEI_DEVICE_LOAD_RECOVERY_CAPSULE; + + +#endif diff --git a/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDependencies.h b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDependencies.h new file mode 100644 index 0000000..3d5aafe --- /dev/null +++ b/EDK/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDependencies.h @@ -0,0 +1,698 @@ +/*++ + +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: + + EdkIIGlueDepedencies.h + +Abstract: + + Header file that lists dependency relations among library instances + +--*/ + +#ifndef __EDKII_GLUE_DEPENDENCIES_H__ +#define __EDKII_GLUE_DEPENDENCIES_H__ + + +// +// Declarations of dependencies among EdkII Glue Library instances and R8 Libraries +// Pay attention to the order of following #define structures +// + + +// +// PeiDxeDebugLibReportStatusCode +// Actually almost every module and GlueLib instance needs this library, but GlueLib +// instances don't have to list this library in their own inf files. Module inf +// does this. +// +#if defined(__EDKII_GLUE_PEI_DEBUG_LIB_REPORT_STATUS_CODE__) || defined(__EDKII_GLUE_DXE_DEBUG_LIB_REPORT_STATUS_CODE__) + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif +#endif + +// +// BaseDebugLibNull +// +#ifdef __EDKII_GLUE_BASE_DEBUG_LIB_NULL__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_PRINT_LIB__ + #define __EDKII_GLUE_BASE_PRINT_LIB__ + #endif +#endif + +// +// EdkDxeRuntimeDriverLib +// +#ifdef __EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__ + #ifndef __EDKII_GLUE_UEFI_LIB__ + #define __EDKII_GLUE_UEFI_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif +#endif + + +// +// BasePciLibCf8 +// +#ifdef __EDKII_GLUE_BASE_PCI_LIB_CF8__ + #ifndef __EDKII_GLUE_BASE_PCI_CF8_LIB__ + #define __EDKII_GLUE_BASE_PCI_CF8_LIB__ + #endif +#endif + +// +// BasePciLibPciExpress +// +#ifdef __EDKII_GLUE_BASE_PCI_LIB_PCI_EXPRESS__ + #ifndef __EDKII_GLUE_BASE_PCI_EXPRESS_LIB__ + #define __EDKII_GLUE_BASE_PCI_EXPRESS_LIB__ + #endif +#endif + +// +// BasePciCf8Lib +// +#ifdef __EDKII_GLUE_BASE_PCI_CF8_LIB__ + #ifndef __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #define __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #endif +#endif + +// BasePciExpressLib +// +#ifdef __EDKII_GLUE_BASE_PCI_EXPRESS_LIB__ + #ifndef __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #define __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #endif +#endif + +// +// BaseTimerLibLocalApic +// +#ifdef __EDKII_GLUE_BASE_TIMER_LIB_LOCAL_APIC__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #define __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #endif +#endif + +// +// DxeReportStatusCodeLib +// +#ifdef __EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #define __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #endif + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__ + #endif +#endif + +// +// SmmRuntimeDxeReportStatusCodeLib - typically used by SMM driver and Runtime driver +// +#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__ + #endif +#endif + +// +// PeiReportStatusCodeLib +// +#ifdef __EDKII_GLUE_PEI_REPORT_STATUS_CODE_LIB__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #define __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #endif + #ifndef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #define __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #endif + // + // If necessary, __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ can be + // replaced with __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB__ + // +#endif + +// +// BasePeCoffLib +// +#ifdef __EDKII_GLUE_BASE_PE_COFF_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif +#endif + +// +// BaseUefiDecompressLib +// +#ifdef __EDKII_GLUE_BASE_UEFI_DECOMPRESS_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif +#endif + +// +// DxeHobLib +// +#ifdef __EDKII_GLUE_DXE_HOB_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_LIB__ + #define __EDKII_GLUE_UEFI_LIB__ + #endif +#endif + +// +// HiiLib +// +#ifdef __EDKII_GLUE_HII_LIB__ + #ifndef __EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__ + #define __EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__ + #endif +#endif + +// +// UefiDevicePathLib +// +#ifdef __EDKII_GLUE_UEFI_DEVICE_PATH_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif + #ifndef __EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__ + #define __EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__ + #endif +#endif + +// +// DxeServicesTableLib +// +#ifdef __EDKII_GLUE_DXE_SERVICES_TABLE_LIB__ + #ifndef __EDKII_GLUE_UEFI_LIB__ + #define __EDKII_GLUE_UEFI_LIB__ + #endif +#endif + +// +// UefiLib +// +#ifdef __EDKII_GLUE_UEFI_LIB__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif + #ifndef __EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__ + #define __EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__ + #endif +#endif + +// +// DxeMemoryAllocationLib +// +#ifdef __EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif +#endif + +// +// DxeSmbusLib +// +#ifdef __EDKII_GLUE_DXE_SMBUS_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif +#endif + +// +// PeiHobLib +// +#ifdef __EDKII_GLUE_PEI_HOB_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_PEI_SERVICES_LIB__ + #define __EDKII_GLUE_PEI_SERVICES_LIB__ + #endif +#endif + +// +// PeiMemoryAllocationLib +// +#ifdef __EDKII_GLUE_PEI_MEMORY_ALLOCATION_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #define __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #endif + // + // If necessary, __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ can be + // replaced with __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB__ + // +#endif + +// +// PeiResourcePublicationLib +// +#ifdef __EDKII_GLUE_PEI_RESOURCE_PUBLICATION_LIB__ + #ifndef __EDKII_GLUE_PEI_SERVICES_LIB__ + #define __EDKII_GLUE_PEI_SERVICES_LIB__ + #endif +#endif + +// +// PeiServicesLib +// +#ifdef __EDKII_GLUE_PEI_SERVICES_LIB__ + #ifndef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #define __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #endif + // + // If necessary, __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ can be + // replaced with __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB__ + // +#endif + +// +// PeiSmbusLib +// +#ifdef __EDKII_GLUE_PEI_SMBUS_LIB__ + #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__ + #define __EDKII_GLUE_BASE_MEMORY_LIB__ + #endif + #ifndef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #define __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #endif + // + // If necessary, __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ can be + // replaced with __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB__ + // +#endif + +// +// PeiServicesTablePointerLibMm7 +// +#ifdef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif +#endif + +// +// UefiDriverModelLib +// +#ifdef __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__ + #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ + #endif +#endif + + +// +// UefiBootServicesTableLib +#ifdef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ +#endif + +// +// BasePrintLib +// +#ifdef __EDKII_GLUE_BASE_PRINT_LIB__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif +#endif + +// +// BaseMemoryLib +// +#ifdef __EDKII_GLUE_BASE_MEMORY_LIB__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif +#endif + +// +// BasePostCodeLibPort80 +// +#ifdef __EDKII_GLUE_BASE_POST_CODE_LIB_PORT_80__ + #ifndef __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #define __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #endif +#endif + +// +// BaseIoLibIntrinsic +// +#ifdef __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif +#endif + +// +// BaseCacheMaintenanceLib +// +#ifdef __EDKII_GLUE_BASE_CACHE_MAINTENANCE_LIB__ + #ifndef __EDKII_GLUE_BASE_LIB__ + #define __EDKII_GLUE_BASE_LIB__ + #endif +#endif + +// +// BaseLib +// +#ifdef __EDKII_GLUE_BASE_LIB__ +#endif + +// +// UefiRuntimeServicesTableLib +// +#ifdef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__ + +#endif + +// +// BasePeCoffGetEntryPointLib +// +#ifdef __EDKII_GLUE_BASE_PE_COFF_GET_ENTRY_POINT_LIB__ +#endif + +// +// PeiServicesTablePointerLib +// +#ifdef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB__ +#endif + +// +// BasePostCodeLibDebug +// +#ifdef __EDKII_GLUE_BASE_POST_CODE_LIB_DEBUG__ + // + // A DebugLib instance + // Usually either EdkIIGluePeiDebugLibReportStatusCodeLib or EdkIIGlueDxeDebugLibReportStatusCodeLib is listed in module inf + // +#endif + +// +// PeiDxePostCodeLibReportStatusCode +// +#ifdef __EDKII_GLUE_PEI_DXE_POST_CODE_LIB_REPORT_STATUS_CODE__ + // + // PEI or DXE ReportStatusCodeLib instance + // Usually EdkIIGluePei/DxeReportStatusCodeLib is listed in module inf + // +#endif + + +// +// Check against multiple instances of same library class being used +// +#if defined(__EDKII_GLUE_PEI_DEBUG_LIB_REPORT_STATUS_CODE__) && defined(__EDKII_GLUE_BASE_DEBUG_LIB_NULL__) + #error EdkIIGluePeiDebugLibReportStatusCode and EdkIIGlueBaseDebugLibNull: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_DXE_DEBUG_LIB_REPORT_STATUS_CODE__) && defined(__EDKII_GLUE_BASE_DEBUG_LIB_NULL__) + #error EdkIIGlueDxeDebugLibReportStatusCode and EdkIIGlueBaseDebugLibNull: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_PEI_DEBUG_LIB_REPORT_STATUS_CODE__) && defined(__EDKII_GLUE_DXE_DEBUG_LIB_REPORT_STATUS_CODE__) + #error EdkIIGluePeiDebugLibReportStatusCode and EdkIIGlueDxeDebugLibReportStatusCode: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_BASE_PCI_LIB_PCI_EXPRESS__) && defined(__EDKII_GLUE_BASE_PCI_LIB_CF8__) + #error EdkIIGluePciLibPciExpress and EdkIIGluePciLibCf8: can only be mutual exclusively used. +#endif + +#if defined (__EDKII_GLUE_DXE_HOB_LIB__) && defined(__EDKII_GLUE_PEI_HOB_LIB__) + #error EdkIIGlueDxeHobLib and EdkIIGluePeiHobLib: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_BASE_POST_CODE_LIB_PORT_80__) && defined(__EDKII_GLUE_BASE_POST_CODE_LIB_DEBUG__) + #error EdkIIGlueBasePostCodeLibPort80 and EdkIIGlueBasePostCodeLibDebug: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_BASE_POST_CODE_LIB_PORT_80__) && defined(__EDKII_GLUE_PEI_DXE_POST_CODE_LIB_REPORT_STATUS_CODE__) + #error EdkIIGlueBasePostCodeLibPort80 and EdkIIGluePeiDxePostCodeLibReportStatusCode: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_BASE_POST_CODE_LIB_DEBUG__) && defined(__EDKII_GLUE_PEI_DXE_POST_CODE_LIB_REPORT_STATUS_CODE__) + #error EdkIIGlueBasePostCodeLibDebug and EdkIIGluePeiDxePostCodeLibReportStatusCode: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB__) && defined(__EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__) + #error EdkIIGluePeiServicesTablePointerLib and EdkIIGluePeiServicesTablePointerLibMm7: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__) && defined(__EDKII_GLUE_PEI_REPORT_STATUS_CODE_LIB__) + #error EdkIIGlueDxeReportStatusCodeLib and EdkIIGluePeiReportStatusCodeLib: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__) && defined(__EDKII_GLUE_PEI_REPORT_STATUS_CODE_LIB__) + #error EdkIIGlueSmmRuntimeDxeReportStatusCodeLib and EdkIIGluePeiReportStatusCodeLib: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__) && defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__) + #error EdkIIGlueDxeReportStatusCodeLib and EdkIIGlueSmmRuntimeDxeReportStatusCodeLib: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__) && defined(__EDKII_GLUE_PEI_MEMORY_ALLOCATION_LIB__) + #error EdkIIGlueDxeMemoryAllocationLib and EdkIIGluePeiMemoryAllocationLib: can only be mutual exclusively used. +#endif + +#if defined(__EDKII_GLUE_DXE_SMBUS_LIB__) && defined(__EDKII_GLUE_PEI_SMBUS_LIB__) + #error EdkIIGlueDxeSmbusLib and EdkIIGluePeiSmbusLib: can only be mutual exclusively used. +#endif + +// +// Some instances must be supplied +// +#ifdef __EDKII_GLUE_PEI_DEBUG_LIB_REPORT_STATUS_CODE__ + #if !defined(__EDKII_GLUE_PEI_REPORT_STATUS_CODE_LIB__) + #error You use EdkIIGluePeiDebugLibReportStatusCode, \ + so EdkIIGluePeiReportStatusCodeLib must be supplied + #endif +#endif + +#ifdef __EDKII_GLUE_DXE_DEBUG_LIB_REPORT_STATUS_CODE__ + #if !defined(__EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__) \ + && !defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__) + #error You use EdkIIGlueDxeDebugLibReportStatusCode, \ + so either EdkIIGlueDxeReportStatusCodeLib, or EdkIIGlueSmmRuntimeDxeReportStatusCodeLib must be supplied + #endif +#endif + +#ifdef __EDKII_GLUE_BASE_POST_CODE_LIB_DEBUG__ + #if !defined(__EDKII_GLUE_PEI_DEBUG_LIB_REPORT_STATUS_CODE__) \ + && !defined(__EDKII_GLUE_DXE_DEBUG_LIB_REPORT_STATUS_CODE__) \ + && !defined(__EDKII_GLUE_BASE_DEBUG_LIB_NULL__) + #error You use EdkIIGlueBasePostCodeLibDebug, so either EdkIIGluePeiDebugLibReportStatusCode, EdkIIGlueDxeDebugLibReportStatusCode, \ + or EdkIIGlueBaseDebugLibNull must be supplied + #endif +#endif + +// +// EdkIIGlueUefiDriverModelLib used, but no Driver Binding Protocol defined +// +#ifdef __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__ + #ifndef __EDKII_GLUE_DRIVER_BINDING_PROTOCOL_INSTANCE__ + #error "EdkIIGlueUefiDriverModelLib used, but no Driver Binding Protocol defined. Please define __EDKII_GLUE_DRIVER_BINDING_PROTOCOL_INSTANCE__." + #endif +#endif + +// +// EdkII Glue Library Constructors: +// NOTE: the constructors must be called according to dependency order +// +// UefiBootServicesTableLib UefiBootServicesTableLibConstructor() +// UefiRuntimeServicesTableLib UefiRuntimeServicesTableLibConstructor() +// EdkDxeRuntimeDriverLib RuntimeDriverLibConstruct() +// SmmRuntimeDxeReportStatusCodeLib ReportStatusCodeLibConstruct() +// DxeHobLib HobLibConstructor() +// UefiDriverModelLib UefiDriverModelLibConstructor() +// PeiServicesTablePointerLib PeiServicesTablePointerLibConstructor() +// PeiServicesTablePointerLibMm7 PeiServicesTablePointerLibConstructor() +// DxeSmbusLib SmbusLibConstructor() +// DxeServicesTableLib DxeServicesTableLibConstructor() +// + +#ifdef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ +EFI_STATUS +UefiBootServicesTableLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__ +EFI_STATUS +UefiRuntimeServicesTableLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__ +EFI_STATUS +RuntimeDriverLibConstruct ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__ +EFI_STATUS +EFIAPI +ReportStatusCodeLibConstruct ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_DXE_HOB_LIB__ +EFI_STATUS +HobLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__ +EFI_STATUS +UefiDriverModelLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB__ +EFI_STATUS +PeiServicesTablePointerLibConstructor ( + IN EFI_FFS_FILE_HEADER *FfsHeader, + IN EFI_PEI_SERVICES **PeiServices + ); +#endif + +#ifdef __EDKII_GLUE_PEI_SERVICES_TABLE_POINTER_LIB_MM7__ +EFI_STATUS +PeiServicesTablePointerLibConstructor ( + IN EFI_FFS_FILE_HEADER *FfsHeader, + IN EFI_PEI_SERVICES **PeiServices + ); +#endif + +#ifdef __EDKII_GLUE_DXE_SMBUS_LIB__ +EFI_STATUS +EFIAPI +SmbusLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_DXE_SERVICES_TABLE_LIB__ +EFI_STATUS +DxeServicesTableLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +// +// EdkII Glue Library Destructors: +// NOTE: the destructors must be called according to dependency order +// +// UefiDriverModelLibDestructor UefiDriverModelLibDestructor() +// SmmRuntimeDxeReportStatusCodeLib ReportStatusCodeLibDestruct() +// EdkDxeRuntimeDriverLib RuntimeDriverLibDeconstruct() +// +#ifdef __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__ +EFI_STATUS +UefiDriverModelLibDestructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__ +EFI_STATUS +EFIAPI +ReportStatusCodeLibDestruct ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +#endif + +#ifdef __EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__ +EFI_STATUS +RuntimeDriverLibDeconstruct ( + VOID + ); +#endif + +#endif |