From: rsun3 Date: Fri, 20 Nov 2009 03:21:02 +0000 (+0000) Subject: Rename PI SMM definitions which has same name with those of Framework SMM spec but... X-Git-Tag: edk2-stable201903~16866 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=a2bb197e806240386b5bbb8e77a7d4f2208d14ce Rename PI SMM definitions which has same name with those of Framework SMM spec but with different content (Note these renamings are not yet in public PI spec or errata now); Remove common definitions shared between PI and Framework Spec from include files for Framework SMM Spec, and change includes files for Framework SMM Spec to include PI SMM include files. The goal is to allow a module include both PI and Framework SMM definitions without conflict. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9453 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/IntelFrameworkPkg/Include/Framework/SmmCis.h b/IntelFrameworkPkg/Include/Framework/SmmCis.h index b8fce5494e..59cc701dbe 100644 --- a/IntelFrameworkPkg/Include/Framework/SmmCis.h +++ b/IntelFrameworkPkg/Include/Framework/SmmCis.h @@ -16,6 +16,12 @@ #ifndef _SMM_CIS_H_ #define _SMM_CIS_H_ +// +// Share some common definitions with PI SMM +// +#include +#include + #define EFI_SMM_CPU_IO_GUID \ { \ 0x5f439a0b, 0x45d8, 0x4682, {0xa4, 0xf4, 0xf0, 0x57, 0x6b, 0x51, 0x34, 0x41 } \ @@ -28,21 +34,8 @@ typedef struct _EFI_SMM_CPU_IO_INTERFACE EFI_SMM_CPU_IO_INTERFACE; // // SMM Base specification constant and types // -#define SMM_SMST_SIGNATURE SIGNATURE_32 ('S', 'M', 'S', 'T') #define EFI_SMM_SYSTEM_TABLE_REVISION (0 << 16) | (0x09) -// -// ******************************************************* -// EFI_SMM_IO_WIDTH -// ******************************************************* -// -typedef enum { - SMM_IO_UINT8 = 0, - SMM_IO_UINT16 = 1, - SMM_IO_UINT32 = 2, - SMM_IO_UINT64 = 3 -} EFI_SMM_IO_WIDTH; - /** Provides the basic memory and I/O interfaces that are used to abstract accesses to devices. @@ -181,35 +174,6 @@ EFI_STATUS IN UINTN NumberOfPages ); -/** - Lets the caller get one distinct application processor (AP) in the enabled processor pool to execite a - caller-provided code stream while in SMM. - - @param Procedure A pointer to the code stream to be run on the designated AP of the system. - @param CpuNumber The zero-based index of the processor number of the AP on which the code stream is - supposed to run. If the processor number points to the current processor or a disabled - processor, then it will not run the supplied code. - @param ProcArguments Allows the caller to pass a list of parameters to the code that is run by - the AP. It is an optional common mailbox between APs and the BSP to share information. - - @retval EFI_SUCCESS The call was successful and the return parameters are valid. - @retval EFI_INVALID_PARAMETER The input arguments are out of range. - @retval EFI_INVALID_PARAMETER The CPU requested is not available on this SMI invocation. - @retval EFI_INVALID_PARAMETER The CPU cannot support an additional service invocation. - - @note: Inconsistent with specification here: - In Framework Spec, this definition does not exist. This method is introduced in PI1.0 spec for - implementation needs. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SMM_STARTUP_THIS_AP)( - IN FRAMEWORK_EFI_AP_PROCEDURE Procedure, - IN UINTN CpuNumber, - IN OUT VOID *ProcArguments OPTIONAL - ); - /// /// 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. diff --git a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h index 870622a63f..045e06dfb3 100644 --- a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h +++ b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h @@ -25,32 +25,16 @@ #ifndef _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_ #define _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_ +// +// Share some common definitions with PI SMM +// +#include + #define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \ { \ 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \ } -/// -/// Describes the candidate regions for SMRAM that are -/// supported by this platform. -/// -typedef struct { - EFI_PHYSICAL_ADDRESS PhysicalStart; ///< Designates the physical address of the SMRAM in memory. - EFI_PHYSICAL_ADDRESS CpuStart; ///< Designates the address of the SMRAM, as seen by software executing on the processors. - UINT64 PhysicalSize; ///< Describes the number of bytes in the SMRAM region. - UINT64 RegionState; ///< Describes the accessibility attributes of the SMRAM. -} EFI_SMRAM_DESCRIPTOR; - -/// -/// Definition of SMRAM states, used as value for EFI_SMRAM_DESCRIPTOR.RegionState. -///@{ -#define EFI_SMRAM_OPEN 0x00000001 -#define EFI_SMRAM_CLOSED 0x00000002 -#define EFI_SMRAM_LOCKED 0x00000004 -#define EFI_CACHEABLE 0x00000008 -#define EFI_ALLOCATED 0x00000010 -///@} - /** * GUID specific data structure of HOB for reserving SMRAM regions. * diff --git a/IntelFrameworkPkg/Include/Protocol/SmmAccess.h b/IntelFrameworkPkg/Include/Protocol/SmmAccess.h index da6386dbef..f6c904b02d 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmAccess.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmAccess.h @@ -32,19 +32,6 @@ typedef struct _EFI_SMM_ACCESS_PROTOCOL EFI_SMM_ACCESS_PROTOCOL; 0x3792095a, 0xe309, 0x4c1e, {0xaa, 0x01, 0x85, 0xf5, 0x65, 0x5a, 0x17, 0xf1 } \ } -// -// SMM Access specification constant and types -// -// ******************************************************* -// EFI_SMRAM_STATE -// ******************************************************* -// -#define EFI_SMRAM_OPEN 0x00000001 -#define EFI_SMRAM_CLOSED 0x00000002 -#define EFI_SMRAM_LOCKED 0x00000004 -#define EFI_CACHEABLE 0x00000008 -#define EFI_ALLOCATED 0x00000010 - // // SMM Access specification Member Function // diff --git a/IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h b/IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h index 7c0ff89329..dd3ced55b7 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h @@ -23,6 +23,11 @@ #ifndef _EFI_SMM_STANDBY_BUTTON_DISPATCH_H_ #define _EFI_SMM_STANDBY_BUTTON_DISPATCH_H_ +// +// Share some common definitions with PI SMM +// +#include + // // Global ID for the Standby Button SMI Protocol // @@ -37,16 +42,6 @@ typedef struct _EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL EFI_SMM_STANDBY_BUTTON // Related Definitions // -/// -/// Standby Button. Example, Use for changing LEDs before ACPI OS is on. -/// - DXE/BDS Phase -/// - OS Install Phase -/// -typedef enum { - EfiStandbyButtonEntry, - EfiStandbyButtonExit -} EFI_STANDBY_BUTTON_PHASE; - typedef struct { /// Describes whether the child handler should be invoked upon the entry to the button /// activation or upon exit (i.e., upon receipt of the button press event or upon release of diff --git a/IntelFrameworkPkg/Include/Protocol/SmmSxDispatch.h b/IntelFrameworkPkg/Include/Protocol/SmmSxDispatch.h index 14d5a551b8..fd65f77b36 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmSxDispatch.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmSxDispatch.h @@ -19,6 +19,10 @@ #ifndef _EFI_SMM_SX_DISPATCH_H_ #define _EFI_SMM_SX_DISPATCH_H_ +// +// Share some common definitions with PI SMM +// +#include // // Global ID for the Sx SMI Protocol @@ -29,24 +33,6 @@ } typedef struct _EFI_SMM_SX_DISPATCH_PROTOCOL EFI_SMM_SX_DISPATCH_PROTOCOL; -// -// Related Definitions -// -typedef enum { - SxS0, - SxS1, - SxS2, - SxS3, - SxS4, - SxS5, - EfiMaximumSleepType -} EFI_SLEEP_TYPE; - -typedef enum { - SxEntry, - SxExit, - EfiMaximumPhase -} EFI_SLEEP_PHASE; typedef struct { EFI_SLEEP_TYPE Type; diff --git a/IntelFrameworkPkg/Include/Protocol/SmmUsbDispatch.h b/IntelFrameworkPkg/Include/Protocol/SmmUsbDispatch.h index 382461cb84..e72ce66687 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmUsbDispatch.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmUsbDispatch.h @@ -19,6 +19,10 @@ #ifndef _EFI_SMM_USB_DISPATCH_H_ #define _EFI_SMM_USB_DISPATCH_H_ +// +// Share some common definitions with PI SMM +// +#include // // Global ID for the USB Protocol @@ -30,14 +34,6 @@ typedef struct _EFI_SMM_USB_DISPATCH_PROTOCOL EFI_SMM_USB_DISPATCH_PROTOCOL; -// -// Related Definitions -// -typedef enum { - UsbLegacy, - UsbWake -} EFI_USB_SMI_TYPE; - typedef struct { /// /// Describes whether this child handler will be invoked in response to a USB legacy diff --git a/MdePkg/Include/Pi/PiSmmCis.h b/MdePkg/Include/Pi/PiSmmCis.h index dc71f639be..77556be0fe 100644 --- a/MdePkg/Include/Pi/PiSmmCis.h +++ b/MdePkg/Include/Pi/PiSmmCis.h @@ -19,7 +19,17 @@ #include #include -typedef struct _EFI_SMM_SYSTEM_TABLE EFI_SMM_SYSTEM_TABLE; +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_SYSTEM_TABLE -> EFI_SMM_SYSTEM_TABLE2 +/// EFI_SMM_SYSTEM_TABLE_REVISION -> EFI_SMM_SYSTEM_TABLE2_REVISION +/// EFI_SMM_INSTALL_CONFIGURATION_TABLE -> EFI_SMM_INSTALL_CONFIGURATION_TABLE2 +/// + +typedef struct _EFI_SMM_SYSTEM_TABLE2 EFI_SMM_SYSTEM_TABLE2; /// /// The System Management System Table (SMST) signature @@ -28,7 +38,7 @@ typedef struct _EFI_SMM_SYSTEM_TABLE EFI_SMM_SYSTEM_TABLE; /// /// The System Management System Table (SMST) revision is 1.0 /// -#define EFI_SMM_SYSTEM_TABLE_REVISION ((1 << 16) | (0x00)) +#define EFI_SMM_SYSTEM_TABLE2_REVISION ((1 << 16) | (0x00)) /** Adds, updates, or removes a configuration table entry from the System Management System Table. @@ -50,11 +60,11 @@ typedef struct _EFI_SMM_SYSTEM_TABLE EFI_SMM_SYSTEM_TABLE; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_INSTALL_CONFIGURATION_TABLE)( - IN CONST EFI_SMM_SYSTEM_TABLE *SystemTable, - IN CONST EFI_GUID *Guid, - IN VOID *Table, - IN UINTN TableSize +(EFIAPI *EFI_SMM_INSTALL_CONFIGURATION_TABLE2)( + IN CONST EFI_SMM_SYSTEM_TABLE2 *SystemTable, + IN CONST EFI_GUID *Guid, + IN VOID *Table, + IN UINTN TableSize ); /** @@ -261,40 +271,40 @@ VOID /// services for managing SMRAM allocation and providing basic I/O services. These services are /// intended for both preboot and runtime usage. /// -struct _EFI_SMM_SYSTEM_TABLE { +struct _EFI_SMM_SYSTEM_TABLE2 { /// /// The table header for the SMST. /// - EFI_TABLE_HEADER Hdr; + 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; + CHAR16 *SmmFirmwareVendor; /// /// The particular revision of the firmware. /// - UINT32 SmmFirmwareRevision; + UINT32 SmmFirmwareRevision; - EFI_SMM_INSTALL_CONFIGURATION_TABLE SmmInstallConfigurationTable; + EFI_SMM_INSTALL_CONFIGURATION_TABLE2 SmmInstallConfigurationTable; /// /// I/O Service /// - EFI_SMM_CPU_IO_PROTOCOL SmmIo; + EFI_SMM_CPU_IO_PROTOCOL SmmIo; /// /// Runtime memory services /// - EFI_ALLOCATE_POOL SmmAllocatePool; - EFI_FREE_POOL SmmFreePool; - EFI_ALLOCATE_PAGES SmmAllocatePages; - EFI_FREE_PAGES SmmFreePages; + EFI_ALLOCATE_POOL SmmAllocatePool; + EFI_FREE_POOL SmmFreePool; + EFI_ALLOCATE_PAGES SmmAllocatePages; + EFI_FREE_PAGES SmmFreePages; /// /// MP service /// - EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp; + EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp; /// /// CPU information records @@ -304,23 +314,23 @@ struct _EFI_SMM_SYSTEM_TABLE { /// A number between zero and and the NumberOfCpus field. This field designates /// which processor is executing the SMM infrastructure. /// - UINTN CurrentlyExecutingCpu; + UINTN CurrentlyExecutingCpu; /// /// The number of current operational processors in the platform. This is a 1 based counter. /// - UINTN NumberOfCpus; + UINTN NumberOfCpus; /// /// Points to an array, where each element describes the number of bytes in the /// corresponding save state specified by CpuSaveState. There are always /// NumberOfCpus entries in the array. /// - UINTN *CpuSaveStateSize; + UINTN *CpuSaveStateSize; /// /// Points to an array, where each element is a pointer to a CPU save state. The /// corresponding element in CpuSaveStateSize specifies the number of bytes in the /// save state area. There are always NumberOfCpus entries in the array. /// - VOID **CpuSaveState; + VOID **CpuSaveState; /// /// Extensibility table @@ -329,29 +339,29 @@ struct _EFI_SMM_SYSTEM_TABLE { /// /// The number of UEFI Configuration Tables in the buffer SmmConfigurationTable. /// - UINTN NumberOfTableEntries; + UINTN NumberOfTableEntries; /// /// A pointer to the UEFI Configuration Tables. The number of entries in the table is /// NumberOfTableEntries. /// - EFI_CONFIGURATION_TABLE *SmmConfigurationTable; + EFI_CONFIGURATION_TABLE *SmmConfigurationTable; /// /// Protocol services /// - EFI_INSTALL_PROTOCOL_INTERFACE SmmInstallProtocolInterface; - EFI_UNINSTALL_PROTOCOL_INTERFACE SmmUninstallProtocolInterface; - EFI_HANDLE_PROTOCOL SmmHandleProtocol; - EFI_SMM_REGISTER_PROTOCOL_NOTIFY SmmRegisterProtocolNotify; - EFI_LOCATE_HANDLE SmmLocateHandle; - EFI_LOCATE_PROTOCOL SmmLocateProtocol; + EFI_INSTALL_PROTOCOL_INTERFACE SmmInstallProtocolInterface; + EFI_UNINSTALL_PROTOCOL_INTERFACE SmmUninstallProtocolInterface; + EFI_HANDLE_PROTOCOL SmmHandleProtocol; + EFI_SMM_REGISTER_PROTOCOL_NOTIFY SmmRegisterProtocolNotify; + EFI_LOCATE_HANDLE SmmLocateHandle; + EFI_LOCATE_PROTOCOL SmmLocateProtocol; /// /// SMI Management functions /// - EFI_SMM_INTERRUPT_MANAGE SmiManage; - EFI_SMM_INTERRUPT_REGISTER SmiHandlerRegister; - EFI_SMM_INTERRUPT_UNREGISTER SmiHandlerUnRegister; + EFI_SMM_INTERRUPT_MANAGE SmiManage; + EFI_SMM_INTERRUPT_REGISTER SmiHandlerRegister; + EFI_SMM_INTERRUPT_UNREGISTER SmiHandlerUnRegister; }; #endif diff --git a/MdePkg/Include/Protocol/SmmAccess2.h b/MdePkg/Include/Protocol/SmmAccess2.h index 533c11d05e..d33578d275 100644 --- a/MdePkg/Include/Protocol/SmmAccess2.h +++ b/MdePkg/Include/Protocol/SmmAccess2.h @@ -27,6 +27,17 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_OPEN -> EFI_SMM_OPEN2 +/// EFI_SMM_CLOSE -> EFI_SMM_CLOSE2 +/// EFI_SMM_LOCK -> EFI_SMM_LOCK2 +/// EFI_SMM_CAPABILITIES -> EFI_SMM_CAPABILITIES2 +/// + #define EFI_SMM_ACCESS2_PROTOCOL_GUID \ { \ 0xc2702b74, 0x800c, 0x4131, {0x87, 0x46, 0x8f, 0xb5, 0xb8, 0x9c, 0xe4, 0xac } \ @@ -88,7 +99,7 @@ typedef struct _EFI_SMM_ACCESS2_PROTOCOL EFI_SMM_ACCESS2_PROTOCOL; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_OPEN)( +(EFIAPI *EFI_SMM_OPEN2)( IN EFI_SMM_ACCESS2_PROTOCOL *This ); @@ -106,7 +117,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_CLOSE)( +(EFIAPI *EFI_SMM_CLOSE2)( IN EFI_SMM_ACCESS2_PROTOCOL *This ); @@ -123,7 +134,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_LOCK)( +(EFIAPI *EFI_SMM_LOCK2)( IN EFI_SMM_ACCESS2_PROTOCOL *This ); @@ -140,7 +151,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_CAPABILITIES)( +(EFIAPI *EFI_SMM_CAPABILITIES2)( IN CONST EFI_SMM_ACCESS2_PROTOCOL *This, IN OUT UINTN *SmramMapSize, IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap @@ -152,10 +163,10 @@ EFI_STATUS /// that the north bridge or memory controller would publish this protocol. /// struct _EFI_SMM_ACCESS2_PROTOCOL { - EFI_SMM_OPEN Open; - EFI_SMM_CLOSE Close; - EFI_SMM_LOCK Lock; - EFI_SMM_CAPABILITIES GetCapabilities; + EFI_SMM_OPEN2 Open; + EFI_SMM_CLOSE2 Close; + EFI_SMM_LOCK2 Lock; + EFI_SMM_CAPABILITIES2 GetCapabilities; /// /// Indicates the current state of the SMRAM. Set to TRUE if SMRAM is locked. /// diff --git a/MdePkg/Include/Protocol/SmmControl2.h b/MdePkg/Include/Protocol/SmmControl2.h index 59eccdf6c3..8d29b1f7eb 100644 --- a/MdePkg/Include/Protocol/SmmControl2.h +++ b/MdePkg/Include/Protocol/SmmControl2.h @@ -27,6 +27,15 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_ACTIVATE -> EFI_SMM_ACTIVATE2 +/// EFI_SMM_DEACTIVATE -> EFI_SMM_DEACTIVATE2 +/// + #define EFI_SMM_CONTROL2_PROTOCOL_GUID \ { \ 0x843dc720, 0xab1e, 0x42cb, {0x93, 0x57, 0x8a, 0x0, 0x78, 0xf3, 0x56, 0x1b} \ @@ -54,7 +63,7 @@ typedef UINTN EFI_SMM_PERIOD; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_ACTIVATE)( +(EFIAPI *EFI_SMM_ACTIVATE2)( IN CONST EFI_SMM_CONTROL2_PROTOCOL *This, IN OUT UINT8 *CommandPort OPTIONAL, IN OUT UINT8 *DataPort OPTIONAL, @@ -76,7 +85,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_DEACTIVATE)( +(EFIAPI *EFI_SMM_DEACTIVATE2)( IN CONST EFI_SMM_CONTROL2_PROTOCOL *This, IN BOOLEAN Periodic OPTIONAL ); @@ -88,8 +97,8 @@ EFI_STATUS /// these signals. /// struct _EFI_SMM_CONTROL2_PROTOCOL { - EFI_SMM_ACTIVATE Trigger; - EFI_SMM_DEACTIVATE Clear; + EFI_SMM_ACTIVATE2 Trigger; + EFI_SMM_DEACTIVATE2 Clear; /// /// Minimum interval at which the platform can set the period. A maximum is not /// specified in that the SMM infrastructure code can emulate a maximum interval that is diff --git a/MdePkg/Include/Protocol/SmmCpuIo.h b/MdePkg/Include/Protocol/SmmCpuIo.h index 90d0e93428..fc48a6e5e6 100644 --- a/MdePkg/Include/Protocol/SmmCpuIo.h +++ b/MdePkg/Include/Protocol/SmmCpuIo.h @@ -17,6 +17,15 @@ #ifndef _SMM_CPU_IO_H_ #define _SMM_CPU_IO_H_ +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_CPU_IO -> EFI_SMM_CPU_IO2 +/// EFI_SMM_IO_ACCESS -> EFI_SMM_IO_ACCESS2 +/// + #define EFI_SMM_CPU_IO_PROTOCOL_GUID \ { \ 0x3242A9D8, 0xCE70, 0x4AA0, { 0x95, 0x5D, 0x5E, 0x7B, 0x14, 0x0D, 0xE4, 0xD2 } \ @@ -55,7 +64,7 @@ typedef enum { **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_CPU_IO)( +(EFIAPI *EFI_SMM_CPU_IO2)( IN CONST EFI_SMM_CPU_IO_PROTOCOL *This, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Address, @@ -67,19 +76,19 @@ typedef struct { /// /// This service provides the various modalities of memory and I/O read. /// - EFI_SMM_CPU_IO Read; + EFI_SMM_CPU_IO2 Read; /// /// This service provides the various modalities of memory and I/O write. /// - EFI_SMM_CPU_IO Write; -} EFI_SMM_IO_ACCESS; + EFI_SMM_CPU_IO2 Write; +} EFI_SMM_IO_ACCESS2; /// /// SMM CPU I/O Protocol provides CPU I/O and memory access within SMM. /// typedef struct _EFI_SMM_CPU_IO_PROTOCOL { - EFI_SMM_IO_ACCESS Mem; ///< Allows reads and writes to memory-mapped I/O space. - EFI_SMM_IO_ACCESS Io; ///< Allows reads and writes to I/O space. + EFI_SMM_IO_ACCESS2 Mem; ///< Allows reads and writes to memory-mapped I/O space. + EFI_SMM_IO_ACCESS2 Io; ///< Allows reads and writes to I/O space. }; extern EFI_GUID gEfiSmmCpuIoProtocolGuid; diff --git a/MdePkg/Include/Protocol/SmmGpiDispatch2.h b/MdePkg/Include/Protocol/SmmGpiDispatch2.h index 338e1b2a1c..2bc457e6ff 100644 --- a/MdePkg/Include/Protocol/SmmGpiDispatch2.h +++ b/MdePkg/Include/Protocol/SmmGpiDispatch2.h @@ -28,6 +28,15 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_GPI_REGISTER -> EFI_SMM_GPI_REGISTER2 +/// EFI_SMM_GPI_UNREGISTER -> EFI_SMM_GPI_UNREGISTER2 +/// + #define EFI_SMM_GPI_DISPATCH2_PROTOCOL_GUID \ { \ 0x25566b03, 0xb577, 0x4cbf, {0x95, 0x8c, 0xed, 0x66, 0x3e, 0xa2, 0x43, 0x80 } \ @@ -77,7 +86,7 @@ typedef struct _EFI_SMM_GPI_DISPATCH2_PROTOCOL EFI_SMM_GPI_DISPATCH2_PROTOCOL; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_GPI_REGISTER)( +(EFIAPI *EFI_SMM_GPI_REGISTER2)( IN CONST EFI_SMM_GPI_DISPATCH2_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, IN CONST EFI_SMM_GPI_REGISTER_CONTEXT *RegisterContext, @@ -98,7 +107,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_GPI_UNREGISTER)( +(EFIAPI *EFI_SMM_GPI_UNREGISTER2)( IN CONST EFI_SMM_GPI_DISPATCH2_PROTOCOL *This, IN EFI_HANDLE DispatchHandle ); @@ -110,8 +119,8 @@ EFI_STATUS /// for the General Purpose Input (GPI) SMI source generator. /// struct _EFI_SMM_GPI_DISPATCH2_PROTOCOL { - EFI_SMM_GPI_REGISTER Register; - EFI_SMM_GPI_UNREGISTER UnRegister; + EFI_SMM_GPI_REGISTER2 Register; + EFI_SMM_GPI_UNREGISTER2 UnRegister; /// /// Denotes the maximum value of inputs that can have handlers attached. /// diff --git a/MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h b/MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h index 0e791e1a00..252729fd5c 100644 --- a/MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h +++ b/MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h @@ -23,6 +23,16 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_PERIODIC_TIMER_REGISTER -> EFI_SMM_PERIODIC_TIMER_REGISTER2 +/// EFI_SMM_PERIODIC_TIMER_UNREGISTER -> EFI_SMM_PERIODIC_TIMER_UNREGISTER2 +/// EFI_SMM_PERIODIC_TIMER_INTERVAL -> EFI_SMM_PERIODIC_TIMER_INTERVAL2 +/// + #define EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL_GUID \ { \ 0x4cec368e, 0x8e8e, 0x4d71, {0x8b, 0xe1, 0x95, 0x8c, 0x45, 0xfc, 0x8a, 0x53 } \ @@ -105,7 +115,7 @@ typedef struct _EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL EFI_SMM_PERIODIC_TIME **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_PERIODIC_TIMER_REGISTER)( +(EFIAPI *EFI_SMM_PERIODIC_TIMER_REGISTER2)( IN CONST EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, IN CONST EFI_SMM_PERIODIC_TIMER_REGISTER_CONTEXT *RegisterContext, @@ -126,7 +136,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_PERIODIC_TIMER_UNREGISTER)( +(EFIAPI *EFI_SMM_PERIODIC_TIMER_UNREGISTER2)( IN CONST EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL *This, IN EFI_HANDLE DispatchHandle ); @@ -148,7 +158,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_PERIODIC_TIMER_INTERVAL)( +(EFIAPI *EFI_SMM_PERIODIC_TIMER_INTERVAL2)( IN CONST EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL *This, IN OUT UINT64 **SmiTickInterval ); @@ -159,9 +169,9 @@ EFI_STATUS /// This protocol provides the parent dispatch service for the periodical timer SMI source generator. /// struct _EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL { - EFI_SMM_PERIODIC_TIMER_REGISTER Register; - EFI_SMM_PERIODIC_TIMER_UNREGISTER UnRegister; - EFI_SMM_PERIODIC_TIMER_INTERVAL GetNextShorterInterval; + EFI_SMM_PERIODIC_TIMER_REGISTER2 Register; + EFI_SMM_PERIODIC_TIMER_UNREGISTER2 UnRegister; + EFI_SMM_PERIODIC_TIMER_INTERVAL2 GetNextShorterInterval; }; extern EFI_GUID gEfiSmmPeriodicTimerDispatch2ProtocolGuid; diff --git a/MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h b/MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h index b3cdb47653..eca6d80291 100644 --- a/MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h +++ b/MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h @@ -23,6 +23,15 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_POWER_BUTTON_REGISTER -> EFI_SMM_POWER_BUTTON_REGISTER2 +/// EFI_SMM_POWER_BUTTON_UNREGISTER -> EFI_SMM_POWER_BUTTON_UNREGISTER2 +/// + #define EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL_GUID \ { \ 0x1b1183fa, 0x1823, 0x46a7, {0x88, 0x72, 0x9c, 0x57, 0x87, 0x55, 0x40, 0x9d } \ @@ -75,7 +84,7 @@ typedef struct _EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL EFI_SMM_POWER_BUTTON_DIS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_POWER_BUTTON_REGISTER)( +(EFIAPI *EFI_SMM_POWER_BUTTON_REGISTER2)( IN CONST EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, IN EFI_SMM_POWER_BUTTON_REGISTER_CONTEXT *RegisterContext, @@ -96,7 +105,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_POWER_BUTTON_UNREGISTER)( +(EFIAPI *EFI_SMM_POWER_BUTTON_UNREGISTER2)( IN CONST EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL *This, IN EFI_HANDLE DispatchHandle ); @@ -107,8 +116,8 @@ EFI_STATUS /// This protocol provides the parent dispatch service for the power button SMI source generator. /// struct _EFI_SMM_POWER_BUTTON_DISPATCH2_PROTOCOL { - EFI_SMM_POWER_BUTTON_REGISTER Register; - EFI_SMM_POWER_BUTTON_UNREGISTER UnRegister; + EFI_SMM_POWER_BUTTON_REGISTER2 Register; + EFI_SMM_POWER_BUTTON_UNREGISTER2 UnRegister; }; extern EFI_GUID gEfiSmmPowerButtonDispatch2ProtocolGuid; diff --git a/MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h b/MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h index 82c944a191..ddfa230d07 100644 --- a/MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h +++ b/MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h @@ -23,6 +23,15 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_STANDBY_BUTTON_REGISTER -> EFI_SMM_STANDBY_BUTTON_REGISTER2 +/// EFI_SMM_STANDBY_BUTTON_UNREGISTER -> EFI_SMM_STANDBY_BUTTON_UNREGISTER2 +/// + #define EFI_SMM_STANDBY_BUTTON_DISPATCH2_PROTOCOL_GUID \ { \ 0x7300c4a1, 0x43f2, 0x4017, {0xa5, 0x1b, 0xc8, 0x1a, 0x7f, 0x40, 0x58, 0x5b } \ @@ -76,7 +85,7 @@ typedef struct _EFI_SMM_STANDBY_BUTTON_DISPATCH2_PROTOCOL EFI_SMM_STANDBY_BUTTON **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_STANDBY_BUTTON_REGISTER)( +(EFIAPI *EFI_SMM_STANDBY_BUTTON_REGISTER2)( IN CONST EFI_SMM_STANDBY_BUTTON_DISPATCH2_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, IN EFI_SMM_STANDBY_BUTTON_REGISTER_CONTEXT *RegisterContext, @@ -97,7 +106,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_STANDBY_BUTTON_UNREGISTER)( +(EFIAPI *EFI_SMM_STANDBY_BUTTON_UNREGISTER2)( IN CONST EFI_SMM_STANDBY_BUTTON_DISPATCH2_PROTOCOL *This, IN EFI_HANDLE DispatchHandle ); @@ -109,8 +118,8 @@ EFI_STATUS /// button SMI source generator. /// struct _EFI_SMM_STANDBY_BUTTON_DISPATCH2_PROTOCOL { - EFI_SMM_STANDBY_BUTTON_REGISTER Register; - EFI_SMM_STANDBY_BUTTON_UNREGISTER UnRegister; + EFI_SMM_STANDBY_BUTTON_REGISTER2 Register; + EFI_SMM_STANDBY_BUTTON_UNREGISTER2 UnRegister; }; extern EFI_GUID gEfiSmmStandbyButtonDispatch2ProtocolGuid; diff --git a/MdePkg/Include/Protocol/SmmSwDispatch2.h b/MdePkg/Include/Protocol/SmmSwDispatch2.h index 2732c3dd75..c99a5b95d6 100644 --- a/MdePkg/Include/Protocol/SmmSwDispatch2.h +++ b/MdePkg/Include/Protocol/SmmSwDispatch2.h @@ -20,6 +20,15 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_SW_REGISTER -> EFI_SMM_SW_REGISTER2 +/// EFI_SMM_SW_UNREGISTER -> EFI_SMM_SW_UNREGISTER2 +/// + #define EFI_SMM_SW_DISPATCH2_PROTOCOL_GUID \ { \ 0x18a3c6dc, 0x5eea, 0x48c8, {0xa1, 0xc1, 0xb5, 0x33, 0x89, 0xf9, 0x89, 0x99 } \ @@ -88,7 +97,7 @@ typedef struct _EFI_SMM_SW_DISPATCH2_PROTOCOL EFI_SMM_SW_DISPATCH2_PROTOCOL; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_SW_REGISTER)( +(EFIAPI *EFI_SMM_SW_REGISTER2)( IN CONST EFI_SMM_SW_DISPATCH2_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, IN CONST EFI_SMM_SW_REGISTER_CONTEXT *RegisterContext, @@ -109,7 +118,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_SW_UNREGISTER)( +(EFIAPI *EFI_SMM_SW_UNREGISTER2)( IN CONST EFI_SMM_SW_DISPATCH2_PROTOCOL *This, IN EFI_HANDLE DispatchHandle ); @@ -122,8 +131,8 @@ EFI_STATUS /// interrupt in the EFI_SMM_SW_REGISTER_CONTEXT is denoted by MaximumSwiValue. /// struct _EFI_SMM_SW_DISPATCH2_PROTOCOL { - EFI_SMM_SW_REGISTER Register; - EFI_SMM_SW_UNREGISTER UnRegister; + EFI_SMM_SW_REGISTER2 Register; + EFI_SMM_SW_UNREGISTER2 UnRegister; /// /// A read-only field that describes the maximum value that can be used in the /// EFI_SMM_SW_DISPATCH2_PROTOCOL.Register() service. diff --git a/MdePkg/Include/Protocol/SmmSxDispatch2.h b/MdePkg/Include/Protocol/SmmSxDispatch2.h index 187a2ff8d8..fe0baa1960 100644 --- a/MdePkg/Include/Protocol/SmmSxDispatch2.h +++ b/MdePkg/Include/Protocol/SmmSxDispatch2.h @@ -20,6 +20,15 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_SX_REGISTER -> EFI_SMM_SX_REGISTER2 +/// EFI_SMM_SX_UNREGISTER -> EFI_SMM_SX_UNREGISTER2 +/// + #define EFI_SMM_SX_DISPATCH2_PROTOCOL_GUID \ { \ 0x456d2859, 0xa84b, 0x4e47, {0xa2, 0xee, 0x32, 0x76, 0xd8, 0x86, 0x99, 0x7d } \ @@ -93,7 +102,7 @@ typedef struct _EFI_SMM_SX_DISPATCH2_PROTOCOL EFI_SMM_SX_DISPATCH2_PROTOCOL; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_SX_REGISTER)( +(EFIAPI *EFI_SMM_SX_REGISTER2)( IN CONST EFI_SMM_SX_DISPATCH2_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, IN CONST EFI_SMM_SX_REGISTER_CONTEXT *RegisterContext, @@ -114,7 +123,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_SX_UNREGISTER)( +(EFIAPI *EFI_SMM_SX_UNREGISTER2)( IN CONST EFI_SMM_SX_DISPATCH2_PROTOCOL *This, IN EFI_HANDLE DispatchHandle ); @@ -126,8 +135,8 @@ EFI_STATUS /// respond to sleep state related events. /// struct _EFI_SMM_SX_DISPATCH2_PROTOCOL { - EFI_SMM_SX_REGISTER Register; - EFI_SMM_SX_UNREGISTER UnRegister; + EFI_SMM_SX_REGISTER2 Register; + EFI_SMM_SX_UNREGISTER2 UnRegister; }; extern EFI_GUID gEfiSmmSxDispatch2ProtocolGuid; diff --git a/MdePkg/Include/Protocol/SmmUsbDispatch2.h b/MdePkg/Include/Protocol/SmmUsbDispatch2.h index a95f8f63b6..27b4674bfe 100644 --- a/MdePkg/Include/Protocol/SmmUsbDispatch2.h +++ b/MdePkg/Include/Protocol/SmmUsbDispatch2.h @@ -23,6 +23,15 @@ #include +/// +/// Note: +/// To avoid name conflict between PI and Framework SMM spec, the following names defined +/// in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta. +/// +/// EFI_SMM_USB_REGISTER -> EFI_SMM_USB_REGISTER2 +/// EFI_SMM_USB_UNREGISTER -> EFI_SMM_USB_UNREGISTER2 +/// + #define EFI_SMM_USB_DISPATCH2_PROTOCOL_GUID \ { \ 0xee9b8d90, 0xc5a6, 0x40a2, {0xbd, 0xe2, 0x52, 0x55, 0x8d, 0x33, 0xcc, 0xa1 } \ @@ -85,7 +94,7 @@ typedef struct _EFI_SMM_USB_DISPATCH2_PROTOCOL EFI_SMM_USB_DISPATCH2_PROTOCOL; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_USB_REGISTER)( +(EFIAPI *EFI_SMM_USB_REGISTER2)( IN CONST EFI_SMM_USB_DISPATCH2_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, IN CONST EFI_SMM_USB_REGISTER_CONTEXT *RegisterContext, @@ -109,7 +118,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_USB_UNREGISTER)( +(EFIAPI *EFI_SMM_USB_UNREGISTER2)( IN CONST EFI_SMM_USB_DISPATCH2_PROTOCOL *This, IN EFI_HANDLE DispatchHandle ); @@ -120,8 +129,8 @@ EFI_STATUS /// This protocol provides the parent dispatch service for the USB SMI source generator. /// struct _EFI_SMM_USB_DISPATCH2_PROTOCOL { - EFI_SMM_USB_REGISTER Register; - EFI_SMM_USB_UNREGISTER UnRegister; + EFI_SMM_USB_REGISTER2 Register; + EFI_SMM_USB_UNREGISTER2 UnRegister; }; extern EFI_GUID gEfiSmmUsbDispatch2ProtocolGuid;