PHOENIX SMM SW SMI PROTOCOL
From PhoenixWiki
Contents |
GUID
#define PHOENIX_EFI_SMM_SW_SMI_PROTOCOL_GUID \
{ 0xff052503, 0x1af9, 0x4aeb, \
{ 0x83, 0xc4, 0xc2, 0xd4, 0xce, 0xb1, 0xc, 0xa3} }
Protocol Interface Structure
typedef struct _PHOENIX_SMM_SW_SMI_PROTOCOL {
PHOENIX_SMM_ALLOC_SW_SMI AllocateSwSmi;
PHOENIX_SMM_QUERY_SW_SMI QuerySwSmi;
UINTN SwSmiCommandPort;
} PHOENIX_SMM_SW_SMI_PROTOCOL;
Members
| Member | Description |
|---|---|
| AllocateSwSmi | Allocate one software SMI value for the specified GUID |
| QuerySwSmi | Query the GUID associated software SMI values |
| SwSmiCommandPort | An unsigned integer that specifies the Software SMI Command Port |
AllocateSwSmi()
Allocate the software SMI value for the specified type’s GUID
Prototype
typedef EFI_STATUS (EFIAPI *PHOENIX_SMM_ALLOC_SW_SMI)( IN CONST EFI_GUID *SwSmiType, IN OUT UINT8 *SwSmiValue );
Parameters
| Parameter | Description |
|---|---|
| SwSmiType | Points to the GUID which uniquely identifies this type of software SMI |
| SwSmiValue | On input, points to the desired software SMI value. If another value had been previously allocated for SwSmiType, then an error is returned and SwSmiValue is updated. If it is 0xFF, then a new value will be allocated. If it is 0xFF and a value had been previously allocated for SwSmiType, that value will be returned |
Description
This function allocates one unique software SMI value for the specified type’s GUID. If the value is already in use, debug versions report a warning via ReportStatusCode().
Status Codes Returned
| Status Code | Description |
|---|---|
| EFI_SUCCESS | A valid software SMI value was available for the specified SwSmiType. |
| EFI_INVALID_PARAMETER | Unable to allocate one value for the specified GUID or the desired input value is not valid. |
QuerySwSmi()
Query the software SMI value associated with type’s GUID
Prototype
typedef EFI_STATUS (EFIAPI *PHOENIX_SMM_ALLOC_SW_SMI)( IN CONST EFI_GUID *SwSmiType, OUT UINT8 *SwSmiValue );
Parameters
| Parameter | Description |
|---|---|
| SwSmiType | Points to the GUID which uniquely identifies the software SMI usage. |
| SwSmiValue | On return, points to the software SMI value associated with SwSmiType (if any). |
Description
This function finds the software SMI value associated with the software SMI type SwSmiType.
Status Codes Returned
| Status Code | Description |
|---|---|
| EFI_SUCCESS | The software SMI value was successfully returned. |
| EFI_NOT_FOUND | There was no software SMI value associated with the specified SwSmiType. |
| EFI_INVALID_PARAMETER | SwSmiType or SwSmiValue is NULL |
Copyright (C) 2008 Phoenix Technologies Ltd. All Rights Reserved.
