From b0de74900192ab1a4a6157e76703eacfb4448f37 Mon Sep 17 00:00:00 2001 From: Guo Mang Date: Thu, 27 Apr 2017 11:23:01 +0800 Subject: IntelFrameworkPkg: Move to new location Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang --- IntelFrameworkPkg/Include/Framework/BootScript.h | 47 -- IntelFrameworkPkg/Include/Framework/DxeCis.h | 176 ------- .../Include/Framework/FirmwareVolumeHeader.h | 85 ---- .../Include/Framework/FirmwareVolumeImageFormat.h | 38 -- .../FrameworkInternalFormRepresentation.h | 403 --------------- IntelFrameworkPkg/Include/Framework/Hob.h | 34 -- IntelFrameworkPkg/Include/Framework/PeiCis.h | 211 -------- IntelFrameworkPkg/Include/Framework/SmmCis.h | 557 --------------------- IntelFrameworkPkg/Include/Framework/StatusCode.h | 161 ------ 9 files changed, 1712 deletions(-) delete mode 100644 IntelFrameworkPkg/Include/Framework/BootScript.h delete mode 100644 IntelFrameworkPkg/Include/Framework/DxeCis.h delete mode 100644 IntelFrameworkPkg/Include/Framework/FirmwareVolumeHeader.h delete mode 100644 IntelFrameworkPkg/Include/Framework/FirmwareVolumeImageFormat.h delete mode 100644 IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h delete mode 100644 IntelFrameworkPkg/Include/Framework/Hob.h delete mode 100644 IntelFrameworkPkg/Include/Framework/PeiCis.h delete mode 100644 IntelFrameworkPkg/Include/Framework/SmmCis.h delete mode 100644 IntelFrameworkPkg/Include/Framework/StatusCode.h (limited to 'IntelFrameworkPkg/Include/Framework') diff --git a/IntelFrameworkPkg/Include/Framework/BootScript.h b/IntelFrameworkPkg/Include/Framework/BootScript.h deleted file mode 100644 index 9a16d722ee..0000000000 --- a/IntelFrameworkPkg/Include/Framework/BootScript.h +++ /dev/null @@ -1,47 +0,0 @@ -/** @file - This file contains the boot script defintions that are shared between the - Boot Script Executor PPI and the Boot Script Save Protocol. - -Copyright (c) 2009 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _BOOT_SCRIPT_H_ -#define _BOOT_SCRIPT_H_ - -#include -/// -/// The framework implementation defines follow opcode that are different from the PI specification: -/// Add FRAMEWORK_ prefix to avoid naming conflict. -/// -/// S3 Boot Script Table identifier. -/// -#define FRAMEWORK_EFI_ACPI_S3_RESUME_SCRIPT_TABLE 0x00 -/// -/// The opcode is used to add a record for memory reads of the memory location and continues when the -/// exit criteria is satisfied, or after a defined duration. -/// -#define FRAMEWORK_EFI_BOOT_SCRIPT_MEM_POLL_OPCODE 0x09 -/// -/// The opcode is used to add a record for dispatching specified arbitrary code into a specified -/// boot script table. -/// -#define FRAMEWORK_EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE 0x0D -/// -/// The opcode indicates the start of the boot script table. -/// -#define FRAMEWORK_EFI_BOOT_SCRIPT_TABLE_OPCODE 0xAA -/// -/// The opcode indicates the end of the boot script table. -/// -#define FRAMEWORK_EFI_BOOT_SCRIPT_TERMINATE_OPCODE 0xFF - - -#endif diff --git a/IntelFrameworkPkg/Include/Framework/DxeCis.h b/IntelFrameworkPkg/Include/Framework/DxeCis.h deleted file mode 100644 index 0f1b737ac1..0000000000 --- a/IntelFrameworkPkg/Include/Framework/DxeCis.h +++ /dev/null @@ -1,176 +0,0 @@ -/** @file - Include file for definitions in the Intel Platform Innovation Framework for EFI - Driver Execution Environment Core Interface Specification (DXE CIS) Version 0.91. - -Copyright (c) 2007 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _DXECIS_H_ -#define _DXECIS_H_ - -#include - -/** - Functions of this type are used with the Framework MP Services Protocol and - the SMM Services Table to execute a procedure on enabled APs. The context - the AP should use durng execution is specified by Buffer. - - @param[in] Buffer The pointer to the procedure's argument. - -**/ -typedef -VOID -(EFIAPI *FRAMEWORK_EFI_AP_PROCEDURE)( - IN VOID *Buffer - ); - -/// -/// The Framework EFI Runtime Services Table as an extension to the EFI 1.10 Runtime Services Table. -/// -typedef struct { - // - // Table header for the Framework EFI Runtime Services Table - // - EFI_TABLE_HEADER Hdr; - // - // Time services - // - EFI_GET_TIME GetTime; - EFI_SET_TIME SetTime; - EFI_GET_WAKEUP_TIME GetWakeupTime; - EFI_SET_WAKEUP_TIME SetWakeupTime; - // - // Virtual memory services - // - EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; - EFI_CONVERT_POINTER ConvertPointer; - // - // Variable services - // - EFI_GET_VARIABLE GetVariable; - EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName; - EFI_SET_VARIABLE SetVariable; - // - // Misc - // - EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount; - EFI_RESET_SYSTEM ResetSystem; - /// - /// A Framework extension to the EFI 1.10 runtime table. - /// It was moved to a protocol to avoid conflict with UEFI 2.0. - /// - EFI_REPORT_STATUS_CODE ReportStatusCode; -} FRAMEWORK_EFI_RUNTIME_SERVICES; - -/// -/// The Framework EFI Boot Services Table. Complies with the DxeCis specification. -/// -typedef struct { - /// - /// The table header for the EFI Boot Services Table. - /// - EFI_TABLE_HEADER Hdr; - - // - // Task Priority Services - // - EFI_RAISE_TPL RaiseTPL; - EFI_RESTORE_TPL RestoreTPL; - - // - // Memory Services - // - EFI_ALLOCATE_PAGES AllocatePages; - EFI_FREE_PAGES FreePages; - EFI_GET_MEMORY_MAP GetMemoryMap; - EFI_ALLOCATE_POOL AllocatePool; - EFI_FREE_POOL FreePool; - - // - // Event & Timer Services - // - EFI_CREATE_EVENT CreateEvent; - EFI_SET_TIMER SetTimer; - EFI_WAIT_FOR_EVENT WaitForEvent; - EFI_SIGNAL_EVENT SignalEvent; - EFI_CLOSE_EVENT CloseEvent; - EFI_CHECK_EVENT CheckEvent; - - // - // Protocol Handler Services - // - EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface; - EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface; - EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface; - EFI_HANDLE_PROTOCOL HandleProtocol; - EFI_HANDLE_PROTOCOL PcHandleProtocol; - EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify; - EFI_LOCATE_HANDLE LocateHandle; - EFI_LOCATE_DEVICE_PATH LocateDevicePath; - EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable; - - // - // Image Services - // - EFI_IMAGE_LOAD LoadImage; - EFI_IMAGE_START StartImage; - EFI_EXIT Exit; - EFI_IMAGE_UNLOAD UnloadImage; - EFI_EXIT_BOOT_SERVICES ExitBootServices; - - // - // Miscellaneous Services - // - EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount; - EFI_STALL Stall; - EFI_SET_WATCHDOG_TIMER SetWatchdogTimer; - - // - // DriverSupport Services - // - EFI_CONNECT_CONTROLLER ConnectController; - EFI_DISCONNECT_CONTROLLER DisconnectController; - - // - // Open and Close Protocol Services - // - EFI_OPEN_PROTOCOL OpenProtocol; - EFI_CLOSE_PROTOCOL CloseProtocol; - EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation; - - // - // Library Services - // - EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle; - EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer; - EFI_LOCATE_PROTOCOL LocateProtocol; - EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces; - EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces; - - // - // 32-bit CRC Services - // - EFI_CALCULATE_CRC32 CalculateCrc32; - - // - // Miscellaneous Services - // - EFI_COPY_MEM CopyMem; - EFI_SET_MEM SetMem; -} FRAMEWORK_EFI_BOOT_SERVICES; - -#define EFI_EVENT_RUNTIME_CONTEXT 0x20000000 -#define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400 -#define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203 -#define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204 - -#endif - diff --git a/IntelFrameworkPkg/Include/Framework/FirmwareVolumeHeader.h b/IntelFrameworkPkg/Include/Framework/FirmwareVolumeHeader.h deleted file mode 100644 index 7b471f1c75..0000000000 --- a/IntelFrameworkPkg/Include/Framework/FirmwareVolumeHeader.h +++ /dev/null @@ -1,85 +0,0 @@ -/** @file - Defines the data structure that is the volume header found at the beginning of - all firmware volumes that are either memory mapped or have an - associated FirmwareVolumeBlock protocol. - -Copyright (c) 2006 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - @par Revision Reference: - These definitions are from the Firmware Volume Block Spec 0.9. - -**/ - -#ifndef __EFI_FIRMWARE_VOLUME_HEADER_H__ -#define __EFI_FIRMWARE_VOLUME_HEADER_H__ - -/// -/// Firmware Volume Block Attributes bit definitions. -///@{ -#define EFI_FVB_READ_DISABLED_CAP 0x00000001 -#define EFI_FVB_READ_ENABLED_CAP 0x00000002 -#define EFI_FVB_READ_STATUS 0x00000004 - -#define EFI_FVB_WRITE_DISABLED_CAP 0x00000008 -#define EFI_FVB_WRITE_ENABLED_CAP 0x00000010 -#define EFI_FVB_WRITE_STATUS 0x00000020 - -#define EFI_FVB_LOCK_CAP 0x00000040 -#define EFI_FVB_LOCK_STATUS 0x00000080 - -#define EFI_FVB_STICKY_WRITE 0x00000200 -#define EFI_FVB_MEMORY_MAPPED 0x00000400 -#define EFI_FVB_ERASE_POLARITY 0x00000800 - -#define EFI_FVB_ALIGNMENT_CAP 0x00008000 -#define EFI_FVB_ALIGNMENT_2 0x00010000 -#define EFI_FVB_ALIGNMENT_4 0x00020000 -#define EFI_FVB_ALIGNMENT_8 0x00040000 -#define EFI_FVB_ALIGNMENT_16 0x00080000 -#define EFI_FVB_ALIGNMENT_32 0x00100000 -#define EFI_FVB_ALIGNMENT_64 0x00200000 -#define EFI_FVB_ALIGNMENT_128 0x00400000 -#define EFI_FVB_ALIGNMENT_256 0x00800000 -#define EFI_FVB_ALIGNMENT_512 0x01000000 -#define EFI_FVB_ALIGNMENT_1K 0x02000000 -#define EFI_FVB_ALIGNMENT_2K 0x04000000 -#define EFI_FVB_ALIGNMENT_4K 0x08000000 -#define EFI_FVB_ALIGNMENT_8K 0x10000000 -#define EFI_FVB_ALIGNMENT_16K 0x20000000 -#define EFI_FVB_ALIGNMENT_32K 0x40000000 -#define EFI_FVB_ALIGNMENT_64K 0x80000000 -///@} - -/// This is a simple macro defined as the set of all FV Block Attributes signifying capabilities. -#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 \ - ) - -/** A parameterized macro defining a boolean expression that tests the state of a particular bit. - * - * @param FvbAttributes Indicates a test for CLEAR if EFI_FVB_ERASE_POLARITY is 1, else test for SET. - * - * @param TestAttributes The set of bits to test. - * - * @param Bit A value indicating the bit(s) to test. - * If multiple bits are set, the logical OR of their tests is the expression's value. -**/ -#define EFI_TEST_FFS_ATTRIBUTES_BIT( FvbAttributes, TestAttributes, Bit) \ - ((BOOLEAN) \ - ((FvbAttributes & EFI_FVB_ERASE_POLARITY) ? (((~TestAttributes) & Bit) == Bit) : ((TestAttributes & Bit) == Bit)) \ - ) - -/// A simple macro defined as the set of all FV Block Attribute bits that indicate status. -#define EFI_FVB_STATUS (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS) - -#endif /* __EFI_FIRMWARE_VOLUME_HEADER_H__ */ diff --git a/IntelFrameworkPkg/Include/Framework/FirmwareVolumeImageFormat.h b/IntelFrameworkPkg/Include/Framework/FirmwareVolumeImageFormat.h deleted file mode 100644 index 81a9045e6f..0000000000 --- a/IntelFrameworkPkg/Include/Framework/FirmwareVolumeImageFormat.h +++ /dev/null @@ -1,38 +0,0 @@ -/** @file - This file defines the data structures that are architecturally defined for file - images loaded via the FirmwareVolume protocol. The Firmware Volume specification - is the basis for these definitions. - -Copyright (c) 2006 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - @par Revision Reference: - These definitions are from the Firmware Volume Spec 0.9. - -**/ - -#ifndef __FIRMWARE_VOLUME_IMAGE_FORMAT_H__ -#define __FIRMWARE_VOLUME_IMAGE_FORMAT_H__ - -// -// Bit values for AuthenticationStatus -// -#define EFI_AGGREGATE_AUTH_STATUS_PLATFORM_OVERRIDE 0x000001 -#define EFI_AGGREGATE_AUTH_STATUS_IMAGE_SIGNED 0x000002 -#define EFI_AGGREGATE_AUTH_STATUS_NOT_TESTED 0x000004 -#define EFI_AGGREGATE_AUTH_STATUS_TEST_FAILED 0x000008 -#define EFI_AGGREGATE_AUTH_STATUS_ALL 0x00000f - -#define EFI_LOCAL_AUTH_STATUS_PLATFORM_OVERRIDE 0x010000 -#define EFI_LOCAL_AUTH_STATUS_IMAGE_SIGNED 0x020000 -#define EFI_LOCAL_AUTH_STATUS_NOT_TESTED 0x040000 -#define EFI_LOCAL_AUTH_STATUS_TEST_FAILED 0x080000 -#define EFI_LOCAL_AUTH_STATUS_ALL 0x0f0000 - -#endif diff --git a/IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h b/IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h deleted file mode 100644 index 61d020ec37..0000000000 --- a/IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h +++ /dev/null @@ -1,403 +0,0 @@ -/** @file - This file defines the encoding for the VFR (Visual Form Representation) language. - Framework 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 - -Copyright (c) 2007 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - @par Revision Reference: - These definitions are from the Framework Specification HII 0.92. - -**/ - -#ifndef __FRAMEWORK_INTERNAL_FORMREPRESENTATION_H__ -#define __FRAMEWORK_INTERNAL_FORMREPRESENTATION_H__ - -typedef UINT16 STRING_REF; - -// -// IFR Op codes -// -#define FRAMEWORK_EFI_IFR_FORM_OP 0x01 -#define FRAMEWORK_EFI_IFR_SUBTITLE_OP 0x02 -#define FRAMEWORK_EFI_IFR_TEXT_OP 0x03 -#define EFI_IFR_GRAPHIC_OP 0x04 -#define FRAMEWORK_EFI_IFR_ONE_OF_OP 0x05 -#define FRAMEWORK_EFI_IFR_CHECKBOX_OP 0x06 -#define FRAMEWORK_EFI_IFR_NUMERIC_OP 0x07 -#define FRAMEWORK_EFI_IFR_PASSWORD_OP 0x08 -#define FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP 0x09 ///< ONEOF OPTION field. -#define FRAMEWORK_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 FRAMEWORK_EFI_IFR_FORM_SET_OP 0x0E -#define FRAMEWORK_EFI_IFR_REF_OP 0x0F -#define EFI_IFR_END_ONE_OF_OP 0x10 -#define FRAMEWORK_EFI_IFR_END_OP EFI_IFR_END_ONE_OF_OP -#define FRAMEWORK_EFI_IFR_INCONSISTENT_IF_OP 0x11 -#define FRAMEWORK_EFI_IFR_EQ_ID_VAL_OP 0x12 -#define FRAMEWORK_EFI_IFR_EQ_ID_ID_OP 0x13 -#define FRAMEWORK_EFI_IFR_EQ_ID_LIST_OP 0x14 -#define FRAMEWORK_EFI_IFR_AND_OP 0x15 -#define FRAMEWORK_EFI_IFR_OR_OP 0x16 -#define FRAMEWORK_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 FRAMEWORK_EFI_IFR_DATE_OP 0x1A -#define FRAMEWORK_EFI_IFR_TIME_OP 0x1B -#define FRAMEWORK_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 FRAMEWORK_EFI_IFR_ORDERED_LIST_OP 0x23 -#define FRAMEWORK_EFI_IFR_VARSTORE_OP 0x24 -#define EFI_IFR_VARSTORE_SELECT_OP 0x25 -#define EFI_IFR_VARSTORE_SELECT_PAIR_OP 0x26 -#define EFI_IFR_LAST_OPCODE EFI_IFR_VARSTORE_SELECT_PAIR_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 because 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, but we do 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; -} FRAMEWORK_EFI_IFR_OP_HEADER; - -typedef struct { - FRAMEWORK_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; the size of the NV data as defined in the script. -} FRAMEWORK_EFI_IFR_FORM_SET; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 FormId; - STRING_REF FormTitle; -} FRAMEWORK_EFI_IFR_FORM; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 LabelId; -} EFI_IFR_LABEL; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - STRING_REF SubTitle; -} FRAMEWORK_EFI_IFR_SUBTITLE; - -typedef struct { - FRAMEWORK_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; ///< The value to be passed to the caller to identify this particular op-code. -} FRAMEWORK_EFI_IFR_TEXT; - -// -// goto -// -typedef struct { - FRAMEWORK_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; ///< The value to be passed to the caller to identify this particular op-code. -} FRAMEWORK_EFI_IFR_REF; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; -} EFI_IFR_END_FORM; - -typedef struct { - FRAMEWORK_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 { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId; ///< The ID designating what the question is about... - 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. -} FRAMEWORK_EFI_IFR_ONE_OF; - -typedef struct { - FRAMEWORK_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. -} FRAMEWORK_EFI_IFR_ORDERED_LIST; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId; ///< The ID designating what the question is about... - 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; ///< If non-zero, it means that it is the default option. - UINT16 Key; ///< Value to be passed to caller to identify this particular op-code. -} FRAMEWORK_EFI_IFR_CHECKBOX, EFI_IFR_CHECK_BOX; - -typedef struct { - FRAMEWORK_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. - UINT8 Flags; ///< If non-zero, it means that it is the default option. - UINT16 Key; ///< Value to be passed to caller to identify this particular op-code. -} FRAMEWORK_EFI_IFR_ONE_OF_OPTION; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId; ///< The ID designating what the question is about... - 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; ///< The value to be passed to caller to identify this particular op-code. - UINT16 Minimum; - UINT16 Maximum; - UINT16 Step; ///< Zero means manual input. Otherwise, arrow selection is called for. - UINT16 Default; -} FRAMEWORK_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, and 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 { - FRAMEWORK_EFI_IFR_NUMERIC Hour; - FRAMEWORK_EFI_IFR_NUMERIC Minute; - FRAMEWORK_EFI_IFR_NUMERIC Second; -} FRAMEWORK_EFI_IFR_TIME; - -typedef struct { - FRAMEWORK_EFI_IFR_NUMERIC Year; - FRAMEWORK_EFI_IFR_NUMERIC Month; - FRAMEWORK_EFI_IFR_NUMERIC Day; -} FRAMEWORK_EFI_IFR_DATE; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId;///< The ID designating what the question is about... - 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; ///< The 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; -} FRAMEWORK_EFI_IFR_PASSWORD; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId; ///< The ID designating what the question is about... - 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; ///< The value to be passed to caller to identify this particular op-code. - UINT8 MinSize; ///< Minimum allowable sized password. - UINT8 MaxSize; ///< Maximum allowable sized password. -} FRAMEWORK_EFI_IFR_STRING; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; -} EFI_IFR_END_ONE_OF; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 Value; - UINT16 Key; -} EFI_IFR_HIDDEN; - -/// -/// Inconsistent with specification here: -/// The following defintion may not comply with Framework Specification HII 0.92. To -/// keep the inconsistant is for implementation needed. -///@{ -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT8 Flags; -} EFI_IFR_SUPPRESS; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT8 Flags; -} EFI_IFR_GRAY_OUT; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - STRING_REF Popup; - UINT8 Flags; -} EFI_IFR_INCONSISTENT; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId; ///< The offset into variable storage. - UINT8 Width; ///< The size of variable storage. - UINT16 Value; ///< The value to compare against. -} FRAMEWORK_EFI_IFR_EQ_ID_VAL; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId; ///< The offset into variable storage. - UINT8 Width; ///< The size of variable storage. - UINT16 ListLength; - UINT16 ValueList[1]; -} FRAMEWORK_EFI_IFR_EQ_ID_LIST; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 QuestionId1; ///< The offset into variable storage for first value to compare. - UINT8 Width; ///< The size of variable storage (must be same for both). - UINT16 QuestionId2; ///< The offset into variable storage for second value to compare. -} FRAMEWORK_EFI_IFR_EQ_ID_ID; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 VariableId; ///< The offset into variable storage. - UINT16 Value; ///< The value to compare against. -} EFI_IFR_EQ_VAR_VAL; -///@} - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; -} FRAMEWORK_EFI_IFR_AND; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; -} FRAMEWORK_EFI_IFR_OR; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; -} FRAMEWORK_EFI_IFR_NOT; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; -} EFI_IFR_END_EXPR, EFI_IFR_END_IF; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 FormId; - STRING_REF Prompt; - STRING_REF Help; - UINT8 Flags; - UINT16 Key; -} EFI_IFR_SAVE_DEFAULTS; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - STRING_REF Help; - STRING_REF Text; - STRING_REF TextTwo; ///< Optional text. -} EFI_IFR_INVENTORY; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - EFI_GUID Guid; ///< GUID for the variable. - UINT16 VarId; ///< The variable store ID, as referenced elsewhere in the form. - UINT16 Size; ///< The size of the variable storage. -} FRAMEWORK_EFI_IFR_VARSTORE; - -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 VarId; ///< The 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 FRAMEWORK_EFI_IFR_VARSTORE_SELECT statement and assume that all following -/// IFR opcodes use the VarId as defined here. -/// -typedef struct { - FRAMEWORK_EFI_IFR_OP_HEADER Header; - UINT16 VarId; ///< The variable store ID, as referenced elsewhere in the form. - UINT16 SecondaryVarId; ///< The variable store ID, as referenced elsewhere in the form. -} EFI_IFR_VARSTORE_SELECT_PAIR; - -/// -/// Save defaults and restore defaults have same structure. -/// -#define EFI_IFR_RESTORE_DEFAULTS EFI_IFR_SAVE_DEFAULTS - -typedef struct { - FRAMEWORK_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; - -#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 diff --git a/IntelFrameworkPkg/Include/Framework/Hob.h b/IntelFrameworkPkg/Include/Framework/Hob.h deleted file mode 100644 index 070a23d192..0000000000 --- a/IntelFrameworkPkg/Include/Framework/Hob.h +++ /dev/null @@ -1,34 +0,0 @@ -/** @file - This file defines the data structures per HOB specification v0.9. - -Copyright (c) 2007 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - @par Revision Reference: - These definitions are from the HOB Spec 0.9 that were not adopted by the PI specifications. - -**/ - -#ifndef _HOB_H_ -#define _HOB_H_ - -/// -/// Capsule volume HOB -- identical to a firmware volume. -/// This macro is defined to comply with the hob Framework Spec. And the marco was -/// retired in the PI1.0 specification. -/// -#define EFI_HOB_TYPE_CV 0x0008 - -typedef struct { - EFI_HOB_GENERIC_HEADER Header; - EFI_PHYSICAL_ADDRESS BaseAddress; - UINT64 Length; -} EFI_HOB_CAPSULE_VOLUME; - -#endif diff --git a/IntelFrameworkPkg/Include/Framework/PeiCis.h b/IntelFrameworkPkg/Include/Framework/PeiCis.h deleted file mode 100644 index d823339eee..0000000000 --- a/IntelFrameworkPkg/Include/Framework/PeiCis.h +++ /dev/null @@ -1,211 +0,0 @@ -/** @file - The Include file for definitions in the Intel Platform Innovation Framework for EFI - Pre-EFI Initialization Core Interface Specification (PEI CIS) Version 0.91. - -Copyright (c) 2006 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef __PEICIS_H__ -#define __PEICIS_H__ - -#include -// -// Framework PEI Specification Revision information -// -#define FRAMEWORK_PEI_SPECIFICATION_MAJOR_REVISION 0 -#define FRAMEWORK_PEI_SPECIFICATION_MINOR_REVISION 91 - - -// -// PEI services signature and Revision defined in Framework PEI spec -// -#define FRAMEWORK_PEI_SERVICES_SIGNATURE 0x5652455320494550ULL -#define FRAMEWORK_PEI_SERVICES_REVISION ((FRAMEWORK_PEI_SPECIFICATION_MAJOR_REVISION<<16) | (FRAMEWORK_PEI_SPECIFICATION_MINOR_REVISION)) - - - -typedef struct _FRAMEWORK_EFI_PEI_SERVICES FRAMEWORK_EFI_PEI_SERVICES; - -/** - The PEI Dispatcher will invoke each PEIM one time. During this pass, the PEI - Dispatcher will pass control to the PEIM at the AddressOfEntryPoint in the PE Header. - - @param FfsHeader The pointer to the FFS file header. - @param PeiServices Describes the list of possible PEI Services. - - @return Status code - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEIM_ENTRY_POINT)( - IN EFI_FFS_FILE_HEADER *FfsHeader, - IN EFI_PEI_SERVICES **PeiServices - ); - -/** - This service abstracts the capability of the PEI - Foundation to discover instances of firmware volumes in the system. - Given the input file pointer, this service searches for the next - matching file in the Firmware File System (FFS) volume. - - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - @param Instance This instance of the firmware volume to find. The value 0 is the Boot Firmware Volume (BFV). - @param FwVolHeader The pointer to the firmware volume header of the volume to return. - - @retval EFI_SUCCESS The volume was found. - @retval EFI_NOT_FOUND The volume was not found. - @retval EFI_INVALID_PARAMETER FwVolHeader is NULL - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_FFS_FIND_NEXT_VOLUME)( - IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices, - IN UINTN Instance, - IN OUT EFI_FIRMWARE_VOLUME_HEADER **FwVolHeader - ); - -/** - This service abstracts the capability of the PEI - Foundation to discover instances of firmware files in the system. - Given the input file pointer, this service searches for the next matching - file in the Firmware File System (FFS) volume. - - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - @param SearchType A filter to find files only of this type. - @param FwVolHeader The pointer to the firmware volume header of the volume to search. This parameter - must point to a valid FFS volume. - @param FileHeader The pointer to the current file from which to begin searching. Upon return this pointer will be - updated to reflect the file found. - - @retval EFI_SUCCESS The file was found. - @retval EFI_NOT_FOUND The file was not found. - @retval EFI_NOT_FOUND The header checksum was not zero. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_FFS_FIND_NEXT_FILE)( - IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices, - IN EFI_FV_FILETYPE SearchType, - IN EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader, - IN OUT EFI_FFS_FILE_HEADER **FileHeader - ); - -/** - Given the input file pointer, this service searches for the next - matching file in the Firmware File System (FFS) volume. - - @param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation. - @param SectionType The value of the section type to find. - @param FfsFileHeader A pointer to the file header that contains the set of sections to be searched. - @param SectionData A pointer to the discovered section, if successful. - - @retval EFI_SUCCESS The section was found. - @retval EFI_NOT_FOUND The section was not found. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_FFS_FIND_SECTION_DATA)( - IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices, - IN EFI_SECTION_TYPE SectionType, - IN EFI_FFS_FILE_HEADER *FfsFileHeader, - IN OUT VOID **SectionData - ); - -/// -/// FRAMEWORK_EFI_PEI_SERVICES is a collection of functions whose implementation is provided by the PEI -/// Foundation. The table may be located in the temporary or permanent memory, depending upon the capabilities -/// and phase of execution of PEI. -/// -/// These services fall into various classes, including the following: -/// - Managing the boot mode. -/// - Allocating both early and permanent memory. -/// - Supporting the Firmware File System (FFS). -/// - Abstracting the PPI database abstraction. -/// - Creating Hand-Off Blocks (HOBs). -/// -struct _FRAMEWORK_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 - // - EFI_PEI_FFS_FIND_NEXT_VOLUME FfsFindNextVolume; - EFI_PEI_FFS_FIND_NEXT_FILE FfsFindNextFile; - EFI_PEI_FFS_FIND_SECTION_DATA FfsFindSectionData; - // - // 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; - // - // (the following interfaces are installed by publishing PEIM) - // Status Code - // - EFI_PEI_REPORT_STATUS_CODE ReportStatusCode; - // - // Reset - // - EFI_PEI_RESET_SYSTEM ResetSystem; - /// - /// Inconsistent with specification here: - /// In Framework Spec, PeiCis0.91, CpuIo and PciCfg are NOT pointers. - /// - - // - // I/O Abstractions - // - EFI_PEI_CPU_IO_PPI *CpuIo; - EFI_PEI_PCI_CFG_PPI *PciCfg; -}; -/// -/// Enumeration of reset types defined in the Framework Specification PeiCis. -/// -typedef enum { - /// - /// Used to induce a system-wide reset. This sets all circuitry within the - /// system to its initial state. This type of reset is asynchronous to system - /// operation and operates withgout regard to cycle boundaries. EfiColdReset - /// is tantamount to a system power cycle. - /// - EfiPeiResetCold, - /// - /// Used to induce a system-wide initialization. The processors are set to their - /// initial state, and pending cycles are not corrupted. If the system does - /// not support this reset type, then an EfiResetCold must be performed. - /// - EfiPeiResetWarm, -} EFI_PEI_RESET_TYPE; - -#endif - diff --git a/IntelFrameworkPkg/Include/Framework/SmmCis.h b/IntelFrameworkPkg/Include/Framework/SmmCis.h deleted file mode 100644 index 7aefd5b41d..0000000000 --- a/IntelFrameworkPkg/Include/Framework/SmmCis.h +++ /dev/null @@ -1,557 +0,0 @@ -/** @file - Include file for definitions in the Intel Platform Innovation Framework for EFI - System Management Mode Core Interface Specification (SMM CIS) version 0.91. - -Copyright (c) 2007 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _SMM_CIS_H_ -#define _SMM_CIS_H_ - -// -// Share some common definitions with PI SMM -// -#include -#include - -typedef struct _EFI_SMM_SYSTEM_TABLE EFI_SMM_SYSTEM_TABLE; - -// -// SMM Base specification constant and types -// -#define EFI_SMM_SYSTEM_TABLE_REVISION (0 << 16) | (0x09) - -/** - Allocates pool memory from SMRAM for IA-32, or runtime memory for - the Itanium processor family. - - @param PoolType The type of pool to allocate. The only supported type - is EfiRuntimeServicesData. - @param Size The number of bytes to allocate from the pool. - @param Buffer A pointer to a pointer to the allocated buffer if the - call succeeds. Otherwise, undefined. - - @retval EFI_SUCCESS The requested number of bytes was allocated. - @retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated. - @retval EFI_UNSUPPORTED In runtime. - @note Inconsistent with specification here: - In Framework Spec, this definition is named EFI_SMM_ALLOCATE_POOL. - To avoid a naming conflict, the definition is renamed. -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SMMCORE_ALLOCATE_POOL)( - IN EFI_MEMORY_TYPE PoolType, - IN UINTN Size, - OUT VOID **Buffer - ); - -/** - Returns pool memory to the system. - - @param Buffer The pointer to the buffer to free. - - @retval EFI_SUCCESS The memory was returned to the system. - @retval EFI_INVALID_PARAMETER Buffer was invalid. - @retval EFI_UNSUPPORTED In runtime. - @note Inconsistent with specification here: - In Framework Spec, this definition is named EFI_SMM_FREE_POOL. - To avoid a naming conflict, the definition is renamed. -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SMMCORE_FREE_POOL)( - IN VOID *Buffer - ); - -/** - Allocates memory pages from the system. - - @param Type The type of allocation to perform. - @param MemoryType The only supported type is EfiRuntimeServicesData. - @param NumberofPages The number of contiguous 4 KB pages to allocate. - @param Memory Pointer to a physical address. On input, the way in which - the address is used depends on the value of Type. On output, the address - is set to the base of the page range that was allocated. - - @retval EFI_SUCCESS The requested pages were allocated. - @retval EFI_OUT_OF_RESOURCES The pages requested could not be allocated. - @retval EFI_NOT_FOUND The requested pages could not be found. - @retval EFI_INVALID_PARAMETER Type is not AllocateAnyPages or AllocateMaxAddress - or AllocateAddress. Or, MemoryType is in the range EfiMaxMemoryType..0x7FFFFFFF. - @note Inconsistent with specification here: - In the Framework Spec, this definition is named EFI_SMM_ALLOCATE_PAGES. - To avoid a naming conflict, the definition here is renamed. -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SMMCORE_ALLOCATE_PAGES)( - IN EFI_ALLOCATE_TYPE Type, - IN EFI_MEMORY_TYPE MemoryType, - IN UINTN NumberOfPages, - OUT EFI_PHYSICAL_ADDRESS *Memory - ); - -/** - Frees memory pages for the system. - - @param Memory The base physical address of the pages to be freed. - @param NumberOfPages The number of contiguous 4 KB pages to free. - - @retval EFI_SUCCESS The requested memory pages were freed. - @retval EFI_INVALID_PARAMETER Memory is not a page-aligned address or NumberOfPages is invalid. - @retval EFI_NOT_FOUND The requested memory pages were not allocated with SmmAllocatePages(). - - @note Inconsistent with specification here: - In the Framework Spec, this definition is named EFI_SMM_FREE_PAGES. - To avoid a naming conflict, the definition here is renamed. -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SMMCORE_FREE_PAGES)( - IN EFI_PHYSICAL_ADDRESS Memory, - IN UINTN NumberOfPages - ); - -/// -/// The processor save-state information for IA-32 processors. This information is important in that the -/// SMM drivers may need to ascertain the state of the processor before invoking the SMI. -/// -typedef struct { - /// - /// Reserved for future processors. As such, software should not attempt to interpret or - /// write to this region. - /// - UINT8 Reserved1[248]; - /// - /// The location of the processor SMBASE, which is the location where the processor - /// will pass control upon receipt of an SMI. - /// - UINT32 SMBASE; - /// - /// The revision of the SMM save state. This value is set by the processor. - /// - UINT32 SMMRevId; - /// - /// The value of the I/O restart field. Allows for restarting an in-process I/O instruction. - /// - UINT16 IORestart; - /// - /// Describes behavior that should be commenced in response to a halt instruction. - /// - UINT16 AutoHALTRestart; - /// - /// Reserved for future processors. As such, software should not attempt to interpret or - /// write to this region. - /// - UINT8 Reserved2[164]; - - // - // Registers in IA-32 processors. - // - UINT32 ES; - UINT32 CS; - UINT32 SS; - UINT32 DS; - UINT32 FS; - UINT32 GS; - UINT32 LDTBase; - UINT32 TR; - UINT32 DR7; - UINT32 DR6; - UINT32 EAX; - UINT32 ECX; - UINT32 EDX; - UINT32 EBX; - UINT32 ESP; - UINT32 EBP; - UINT32 ESI; - UINT32 EDI; - UINT32 EIP; - UINT32 EFLAGS; - UINT32 CR3; - UINT32 CR0; -} EFI_SMI_CPU_SAVE_STATE; - -/// -/// The processor save-state information for the Itanium processor family. This information is -/// important in that the SMM drivers may need to ascertain the state of the processor before invoking -/// the PMI. This structure is mandatory and must be 512 byte aligned. -/// -typedef struct { - UINT64 reserved; - UINT64 r1; - UINT64 r2; - UINT64 r3; - UINT64 r4; - UINT64 r5; - UINT64 r6; - UINT64 r7; - UINT64 r8; - UINT64 r9; - UINT64 r10; - UINT64 r11; - UINT64 r12; - UINT64 r13; - UINT64 r14; - UINT64 r15; - UINT64 r16; - UINT64 r17; - UINT64 r18; - UINT64 r19; - UINT64 r20; - UINT64 r21; - UINT64 r22; - UINT64 r23; - UINT64 r24; - UINT64 r25; - UINT64 r26; - UINT64 r27; - UINT64 r28; - UINT64 r29; - UINT64 r30; - UINT64 r31; - - UINT64 pr; - - UINT64 b0; - UINT64 b1; - UINT64 b2; - UINT64 b3; - UINT64 b4; - UINT64 b5; - UINT64 b6; - UINT64 b7; - - // application registers - UINT64 ar_rsc; - UINT64 ar_bsp; - UINT64 ar_bspstore; - UINT64 ar_rnat; - - UINT64 ar_fcr; - - UINT64 ar_eflag; - UINT64 ar_csd; - UINT64 ar_ssd; - UINT64 ar_cflg; - UINT64 ar_fsr; - UINT64 ar_fir; - UINT64 ar_fdr; - - UINT64 ar_ccv; - - UINT64 ar_unat; - - UINT64 ar_fpsr; - - UINT64 ar_pfs; - UINT64 ar_lc; - UINT64 ar_ec; - - // control registers - UINT64 cr_dcr; - UINT64 cr_itm; - UINT64 cr_iva; - UINT64 cr_pta; - UINT64 cr_ipsr; - UINT64 cr_isr; - UINT64 cr_iip; - UINT64 cr_ifa; - UINT64 cr_itir; - UINT64 cr_iipa; - UINT64 cr_ifs; - UINT64 cr_iim; - UINT64 cr_iha; - - // debug registers - UINT64 dbr0; - UINT64 dbr1; - UINT64 dbr2; - UINT64 dbr3; - UINT64 dbr4; - UINT64 dbr5; - UINT64 dbr6; - UINT64 dbr7; - - UINT64 ibr0; - UINT64 ibr1; - UINT64 ibr2; - UINT64 ibr3; - UINT64 ibr4; - UINT64 ibr5; - UINT64 ibr6; - UINT64 ibr7; - - // virtual registers - UINT64 int_nat; // nat bits for R1-R31 - -} EFI_PMI_SYSTEM_CONTEXT; - -/// -/// The processor save-state information for IA-32 and Itanium processors. This information is -/// important in that the SMM drivers may need to ascertain the state of the processor before invoking -/// the SMI or PMI. -/// -typedef union { - /// - /// The processor save-state information for IA-32 processors. - /// - EFI_SMI_CPU_SAVE_STATE Ia32SaveState; - /// - /// Note: Inconsistency with the Framework SMM CIS spec - Itanium save state not included. - /// - /// The processor save-state information for Itanium processors. - /// - /// EFI_PMI_SYSTEM_CONTEXT ItaniumSaveState; -} EFI_SMM_CPU_SAVE_STATE; - -/// -/// The optional floating point save-state information for IA-32 processors. If the optional floating -/// point save is indicated for any handler, the following data structure must be preserved. -/// -typedef struct { - UINT16 Fcw; - UINT16 Fsw; - UINT16 Ftw; - UINT16 Opcode; - UINT32 Eip; - UINT16 Cs; - UINT16 Rsvd1; - UINT32 DataOffset; - UINT16 Ds; - UINT8 Rsvd2[10]; - UINT8 St0Mm0[10], Rsvd3[6]; - UINT8 St0Mm1[10], Rsvd4[6]; - UINT8 St0Mm2[10], Rsvd5[6]; - UINT8 St0Mm3[10], Rsvd6[6]; - UINT8 St0Mm4[10], Rsvd7[6]; - UINT8 St0Mm5[10], Rsvd8[6]; - UINT8 St0Mm6[10], Rsvd9[6]; - UINT8 St0Mm7[10], Rsvd10[6]; - UINT8 Rsvd11[22*16]; -} EFI_SMI_OPTIONAL_FPSAVE_STATE; - -/// -/// The optional floating point save-state information for the Itanium processor family. If the optional -/// floating point save is indicated for any handler, then this data structure must be preserved. -/// -typedef struct { - UINT64 f2[2]; - UINT64 f3[2]; - UINT64 f4[2]; - UINT64 f5[2]; - UINT64 f6[2]; - UINT64 f7[2]; - UINT64 f8[2]; - UINT64 f9[2]; - UINT64 f10[2]; - UINT64 f11[2]; - UINT64 f12[2]; - UINT64 f13[2]; - UINT64 f14[2]; - UINT64 f15[2]; - UINT64 f16[2]; - UINT64 f17[2]; - UINT64 f18[2]; - UINT64 f19[2]; - UINT64 f20[2]; - UINT64 f21[2]; - UINT64 f22[2]; - UINT64 f23[2]; - UINT64 f24[2]; - UINT64 f25[2]; - UINT64 f26[2]; - UINT64 f27[2]; - UINT64 f28[2]; - UINT64 f29[2]; - UINT64 f30[2]; - UINT64 f31[2]; -} EFI_PMI_OPTIONAL_FLOATING_POINT_CONTEXT; - -/// -/// The processor save-state information for IA-32 and Itanium processors. If the optional floating -/// point save is indicated for any handler, then this data structure must be preserved. -/// -typedef union { - /// - /// The optional floating point save-state information for IA-32 processors. - /// - EFI_SMI_OPTIONAL_FPSAVE_STATE Ia32FpSave; - /// - /// The optional floating point save-state information for Itanium processors. - /// - EFI_PMI_OPTIONAL_FLOATING_POINT_CONTEXT ItaniumFpSave; -} EFI_SMM_FLOATING_POINT_SAVE_STATE; - -/** - This function is the main entry point for an SMM handler dispatch - or communicate-based callback. - - @param SmmImageHandle A unique value returned by the SMM infrastructure - in response to registration for a communicate-based callback or dispatch. - @param CommunicationBuffer - An optional buffer that will be populated - by the SMM infrastructure in response to a non-SMM agent (preboot or runtime) - invoking the EFI_SMM_BASE_PROTOCOL.Communicate() service. - @param SourceSize If CommunicationBuffer is non-NULL, this field - indicates the size of the data payload in this buffer. - - @return Status Code - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SMM_HANDLER_ENTRY_POINT)( - IN EFI_HANDLE SmmImageHandle, - IN OUT VOID *CommunicationBuffer OPTIONAL, - IN OUT UINTN *SourceSize OPTIONAL - ); - -/** - The SmmInstallConfigurationTable() function is used to maintain the list - of configuration tables that are stored in the System Management System - Table. The list is stored as an array of (GUID, Pointer) pairs. The list - must be allocated from pool memory with PoolType set to EfiRuntimeServicesData. - - @param SystemTable A pointer to the SMM System Table. - @param Guid A pointer to the GUID for the entry to add, update, or remove. - @param Table A pointer to the buffer of the table to add. - @param TableSize The size of the table to install. - - @retval EFI_SUCCESS The (Guid, Table) pair was added, updated, or removed. - @retval EFI_INVALID_PARAMETER Guid is not valid. - @retval EFI_NOT_FOUND An attempt was made to delete a non-existent entry. - @retval EFI_OUT_OF_RESOURCES There is not enough memory available to complete the operation. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SMM_INSTALL_CONFIGURATION_TABLE)( - IN EFI_SMM_SYSTEM_TABLE *SystemTable, - IN EFI_GUID *Guid, - IN VOID *Table, - IN UINTN TableSize - ); - -// -// System Management System Table (SMST) -// -struct _EFI_SMM_SYSTEM_TABLE { - /// - /// The table header for the System Management System Table (SMST). - /// - EFI_TABLE_HEADER Hdr; - - /// - /// A pointer to a NULL-terminated Unicode string containing the vendor name. It is - /// permissible for this pointer to be NULL. - /// - CHAR16 *SmmFirmwareVendor; - /// - /// The particular revision of the firmware. - /// - UINT32 SmmFirmwareRevision; - - /// - /// Adds, updates, or removes a configuration table entry from the SMST. - /// - EFI_SMM_INSTALL_CONFIGURATION_TABLE SmmInstallConfigurationTable; - - // - // I/O Services - // - /// - /// A GUID that designates the particular CPU I/O services. - /// - EFI_GUID EfiSmmCpuIoGuid; - /// - /// Provides the basic memory and I/O interfaces that are used to abstract accesses to - /// devices. - /// - EFI_SMM_CPU_IO_INTERFACE SmmIo; - - // - // Runtime memory service - // - /// - /// - /// Allocates pool memory from SMRAM for IA-32 or runtime memory for the - /// Itanium processor family. - /// - EFI_SMMCORE_ALLOCATE_POOL SmmAllocatePool; - /// - /// Returns pool memory to the system. - /// - EFI_SMMCORE_FREE_POOL SmmFreePool; - /// - /// Allocates memory pages from the system. - /// - EFI_SMMCORE_ALLOCATE_PAGES SmmAllocatePages; - /// - /// Frees memory pages for the system. - /// - EFI_SMMCORE_FREE_PAGES SmmFreePages; - - // - // MP service - // - - /// Inconsistent with specification here: - /// In Framework Spec, this definition does not exist. This method is introduced in PI1.1 specification for - /// the implementation needed. - EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp; - - // - // CPU information records - // - /// - /// A 1-relative number between 1 and the NumberOfCpus field. This field designates - /// which processor is executing the SMM infrastructure. This number also serves as an - /// index into the CpuSaveState and CpuOptionalFloatingPointState - /// fields. - /// - UINTN CurrentlyExecutingCpu; - /// - /// The number of EFI Configuration Tables in the buffer - /// SmmConfigurationTable. - /// - UINTN NumberOfCpus; - /// - /// A pointer to the EFI Configuration Tables. The number of entries in the table is - /// NumberOfTableEntries. - /// - EFI_SMM_CPU_SAVE_STATE *CpuSaveState; - /// - /// A pointer to a catenation of the EFI_SMM_FLOATING_POINT_SAVE_STATE. - /// The size of this entire table is NumberOfCpus* size of the - /// EFI_SMM_FLOATING_POINT_SAVE_STATE. These fields are populated only if - /// there is at least one SMM driver that has registered for a callback with the - /// FloatingPointSave field in EFI_SMM_BASE_PROTOCOL.RegisterCallback() set to TRUE. - /// - EFI_SMM_FLOATING_POINT_SAVE_STATE *CpuOptionalFloatingPointState; - - // - // Extensibility table - // - /// - /// The number of EFI Configuration Tables in the buffer - /// SmmConfigurationTable. - /// - UINTN NumberOfTableEntries; - /// - /// A pointer to the EFI Configuration Tables. The number of entries in the table is - /// NumberOfTableEntries. - /// - EFI_CONFIGURATION_TABLE *SmmConfigurationTable; -}; - -#endif diff --git a/IntelFrameworkPkg/Include/Framework/StatusCode.h b/IntelFrameworkPkg/Include/Framework/StatusCode.h deleted file mode 100644 index e237b15b90..0000000000 --- a/IntelFrameworkPkg/Include/Framework/StatusCode.h +++ /dev/null @@ -1,161 +0,0 @@ -/** @file - Status Code Definitions, according to Intel Platform Innovation Framework - for EFI Status Codes Specification - -Copyright (c) 2007 - 2010, 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 that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - @par Revision Reference: - Intel Platform Innovation Framework for EFI Status Codes Specification - Version 0.92. - -**/ - -#ifndef _FRAMEWORK_STATUS_CODE_H_ -#define _FRAMEWORK_STATUS_CODE_H_ - -// -// Required for X64 defines for CPU exception types -// -#include - -/// -/// Software Class DXE BS Driver Subclass Progress Code definitions. -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -///@{ -#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. -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -///@{ -#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 Subclass definitions. -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -#define EFI_SOFTWARE_X64_EXCEPTION (EFI_SOFTWARE | 0x00130000) - -/// -/// Software Class X64 Exception Subclass Error Code definitions. -/// These exceptions are derived from the debug protocol definitions in the EFI -/// specification. -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -///@{ -#define EFI_SW_EC_X64_DIVIDE_ERROR EXCEPT_X64_DIVIDE_ERROR -#define EFI_SW_EC_X64_DEBUG EXCEPT_X64_DEBUG -#define EFI_SW_EC_X64_NMI EXCEPT_X64_NMI -#define EFI_SW_EC_X64_BREAKPOINT EXCEPT_X64_BREAKPOINT -#define EFI_SW_EC_X64_OVERFLOW EXCEPT_X64_OVERFLOW -#define EFI_SW_EC_X64_BOUND EXCEPT_X64_BOUND -#define EFI_SW_EC_X64_INVALID_OPCODE EXCEPT_X64_INVALID_OPCODE -#define EFI_SW_EC_X64_DOUBLE_FAULT EXCEPT_X64_DOUBLE_FAULT -#define EFI_SW_EC_X64_INVALID_TSS EXCEPT_X64_INVALID_TSS -#define EFI_SW_EC_X64_SEG_NOT_PRESENT EXCEPT_X64_SEG_NOT_PRESENT -#define EFI_SW_EC_X64_STACK_FAULT EXCEPT_X64_STACK_FAULT -#define EFI_SW_EC_X64_GP_FAULT EXCEPT_X64_GP_FAULT -#define EFI_SW_EC_X64_PAGE_FAULT EXCEPT_X64_PAGE_FAULT -#define EFI_SW_EC_X64_FP_ERROR EXCEPT_X64_FP_ERROR -#define EFI_SW_EC_X64_ALIGNMENT_CHECK EXCEPT_X64_ALIGNMENT_CHECK -#define EFI_SW_EC_X64_MACHINE_CHECK EXCEPT_X64_MACHINE_CHECK -#define EFI_SW_EC_X64_SIMD EXCEPT_X64_SIMD -///@} - -/// -/// Software Class EFI After Life 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 DXE Core Subclass Error Code definitions. -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -#define EFI_SW_CSM_LEGACY_ROM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000) - -/// -/// IO Bus Class ATA/ATAPI Subclass Progress Code definitions. -/// -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -///@{ -#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 ATA/ATAPI Subclass Error Code definitions. -/// -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -///@{ -#define EFI_IOB_ATA_BUS_SMART_NOTSUPPORTED (EFI_SUBCLASS_SPECIFIC | 0x00000000) -#define EFI_IOB_ATA_BUS_SMART_DISABLED (EFI_SUBCLASS_SPECIFIC | 0x00000001) -///@} - -/// -/// The reason that the processor was disabled. -/// -/// Inconsistent with specification here: -/// The Framework Specification, StatusCodes 0.92, does not define the macros. -/// -///@{ -#define EFI_CPU_CAUSE_NOT_DISABLED 0x0000 -///@} - -/// -/// Software Class PEI Module Subclass Progress Code definitions. -/// -///@{ -#define EFI_SW_PEIM_PC_RECOVERY_BEGIN EFI_SW_PEI_PC_RECOVERY_BEGIN -#define EFI_SW_PEIM_PC_CAPSULE_LOAD EFI_SW_PEI_PC_CAPSULE_LOAD -#define EFI_SW_PEIM_PC_CAPSULE_START EFI_SW_PEI_PC_CAPSULE_START -#define EFI_SW_PEIM_PC_RECOVERY_USER EFI_SW_PEI_PC_RECOVERY_USER -#define EFI_SW_PEIM_PC_RECOVERY_AUTO EFI_SW_PEI_PC_RECOVERY_AUTO -///@} - -/// -/// Software Class PEI Core Subclass Error Code definitions. -/// -///@{ -#define EFI_SW_PEIM_CORE_EC_DXE_CORRUPT EFI_SW_PEI_CORE_EC_DXE_CORRUPT -#define EFI_SW_PEIM_CORE_EC_DXEIPL_NOT_FOUND EFI_SW_PEI_CORE_EC_DXEIPL_NOT_FOUND -///@} - -#endif -- cgit v1.2.3