diff options
author | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-11-20 03:21:02 +0000 |
---|---|---|
committer | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-11-20 03:21:02 +0000 |
commit | a2bb197e806240386b5bbb8e77a7d4f2208d14ce (patch) | |
tree | 3c99ad1823c37be2709390b3c60df6fbc41cb75a | |
parent | aa2614b7284dde81ce2e846eb065c85bc0dcc5da (diff) | |
download | edk2-a2bb197e806240386b5bbb8e77a7d4f2208d14ce.zip edk2-a2bb197e806240386b5bbb8e77a7d4f2208d14ce.tar.gz edk2-a2bb197e806240386b5bbb8e77a7d4f2208d14ce.tar.bz2 |
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
-rw-r--r-- | IntelFrameworkPkg/Include/Framework/SmmCis.h | 48 | ||||
-rw-r--r-- | IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h | 26 | ||||
-rw-r--r-- | IntelFrameworkPkg/Include/Protocol/SmmAccess.h | 13 | ||||
-rw-r--r-- | IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h | 15 | ||||
-rw-r--r-- | IntelFrameworkPkg/Include/Protocol/SmmSxDispatch.h | 22 | ||||
-rw-r--r-- | IntelFrameworkPkg/Include/Protocol/SmmUsbDispatch.h | 12 | ||||
-rw-r--r-- | MdePkg/Include/Pi/PiSmmCis.h | 76 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmAccess2.h | 27 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmControl2.h | 17 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmCpuIo.h | 21 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmGpiDispatch2.h | 17 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h | 22 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h | 17 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h | 17 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmSwDispatch2.h | 17 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmSxDispatch2.h | 17 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/SmmUsbDispatch2.h | 17 |
17 files changed, 208 insertions, 193 deletions
diff --git a/IntelFrameworkPkg/Include/Framework/SmmCis.h b/IntelFrameworkPkg/Include/Framework/SmmCis.h index b8fce54..59cc701 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 <Pi/PiSmmCis.h>
+#include <Protocol/SmmCpuIo.h>
+
#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 870622a..045e06d 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 <Protocol/SmmAccess2.h>
+
#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 da6386d..f6c904b 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmAccess.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmAccess.h @@ -33,19 +33,6 @@ typedef struct _EFI_SMM_ACCESS_PROTOCOL EFI_SMM_ACCESS_PROTOCOL; }
//
-// 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 7c0ff89..dd3ced5 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmStandbyButtonDispatch.h @@ -24,6 +24,11 @@ #define _EFI_SMM_STANDBY_BUTTON_DISPATCH_H_
//
+// Share some common definitions with PI SMM
+//
+#include <Protocol/SmmStandbyButtonDispatch2.h>
+
+//
// Global ID for the Standby Button SMI Protocol
//
#define EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL_GUID \
@@ -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 14d5a55..fd65f77 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 <Protocol/SmmSxDispatch2.h>
//
// 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 382461c..e72ce66 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 <Protocol/SmmUsbDispatch2.h>
//
// 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 dc71f63..77556be 100644 --- a/MdePkg/Include/Pi/PiSmmCis.h +++ b/MdePkg/Include/Pi/PiSmmCis.h @@ -19,7 +19,17 @@ #include <Pi/PiMultiPhase.h>
#include <Protocol/SmmCpuIo.h>
-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 533c11d..d33578d 100644 --- a/MdePkg/Include/Protocol/SmmAccess2.h +++ b/MdePkg/Include/Protocol/SmmAccess2.h @@ -27,6 +27,17 @@ #include <PiDxe.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_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 59eccdf..8d29b1f 100644 --- a/MdePkg/Include/Protocol/SmmControl2.h +++ b/MdePkg/Include/Protocol/SmmControl2.h @@ -27,6 +27,15 @@ #include <PiDxe.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_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 90d0e93..fc48a6e 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 338e1b2..2bc457e 100644 --- a/MdePkg/Include/Protocol/SmmGpiDispatch2.h +++ b/MdePkg/Include/Protocol/SmmGpiDispatch2.h @@ -28,6 +28,15 @@ #include <Pi/PiSmmCis.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_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 0e791e1..252729f 100644 --- a/MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h +++ b/MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h @@ -23,6 +23,16 @@ #include <Pi/PiSmmCis.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_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 b3cdb47..eca6d80 100644 --- a/MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h +++ b/MdePkg/Include/Protocol/SmmPowerButtonDispatch2.h @@ -23,6 +23,15 @@ #include <Pi/PiSmmCis.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_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 82c944a..ddfa230 100644 --- a/MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h +++ b/MdePkg/Include/Protocol/SmmStandbyButtonDispatch2.h @@ -23,6 +23,15 @@ #include <Pi/PiSmmCis.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_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 2732c3d..c99a5b9 100644 --- a/MdePkg/Include/Protocol/SmmSwDispatch2.h +++ b/MdePkg/Include/Protocol/SmmSwDispatch2.h @@ -20,6 +20,15 @@ #include <Pi/PiSmmCis.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_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 187a2ff..fe0baa1 100644 --- a/MdePkg/Include/Protocol/SmmSxDispatch2.h +++ b/MdePkg/Include/Protocol/SmmSxDispatch2.h @@ -20,6 +20,15 @@ #include <Pi/PiSmmCis.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_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 a95f8f6..27b4674 100644 --- a/MdePkg/Include/Protocol/SmmUsbDispatch2.h +++ b/MdePkg/Include/Protocol/SmmUsbDispatch2.h @@ -23,6 +23,15 @@ #include <Pi/PiSmmCis.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_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;
|