Provides the basic memory and I/O interfaces that are used to \r
abstract accesses to devices.\r
\r
- @param This The EFI_SMM_CPU_IO_INTERFACE instance. \r
- \r
- @param Width Signifies the width of the I/O operations. \r
- \r
- @param Address The base address of the I/O operations.\r
- \r
- @param Count The number of I/O operations to perform. \r
- \r
- @param Buffer For read operations, the destination buffer to store the results.\r
- For write operations, the source buffer from which to write data.\r
-\r
- @retval EFI_SUCCESS The data was read from or written to the device.\r
- \r
- @retval EFI_UNSUPPORTED The Address is not valid for this system.\r
- \r
+ @param This The EFI_SMM_CPU_IO_INTERFACE instance.\r
+ @param Width Signifies the width of the I/O operations.\r
+ @param Address The base address of the I/O operations.\r
+ @param Count The number of I/O operations to perform.\r
+ @param Buffer For read operations, the destination buffer to store the results.\r
+ For write operations, the source buffer from which to write data.\r
+\r
+ @retval EFI_SUCCESS The data was read from or written to the device.\r
+ @retval EFI_UNSUPPORTED The Address is not valid for this system.\r
@retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid.\r
- \r
- @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.\r
+ @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.\r
\r
**/\r
typedef\r
Allocates pool memory from SMRAM for IA-32 or runtime memory for \r
the Itanium processor family.\r
\r
- @param PoolType The type of pool to allocate.The only supported type is EfiRuntimeServicesData\r
- \r
- @param Size The number of bytes to allocate from the pool.\r
- \r
- @param Buffer A pointer to a pointer to the allocated buffer if the call \r
- succeeds; undefined otherwise.\r
+ @param PoolType The type of pool to allocate.The only supported type is EfiRuntimeServicesData\r
+ @param Size The number of bytes to allocate from the pool.\r
+ @param Buffer A pointer to a pointer to the allocated buffer if the call\r
+ succeeds; undefined otherwise.\r
\r
- @retval EFI_SUCCESS The requested number of bytes was allocated.\r
- \r
+ @retval EFI_SUCCESS The requested number of bytes was allocated.\r
@retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.\r
- \r
- @retval EFI_UNSUPPORTED In runtime.\r
+ @retval EFI_UNSUPPORTED In runtime.\r
\r
**/\r
typedef\r
/**\r
Returns pool memory to the system.\r
\r
- @param Buffer Pointer to the buffer to free.\r
+ @param Buffer Pointer to the buffer to free.\r
\r
- @retval EFI_SUCCESS The memory was returned to the system.\r
- \r
- @retval EFI_INVALID_PARAMETER Buffer was invalid. \r
- \r
- @retval EFI_UNSUPPORTED In runtime.\r
+ @retval EFI_SUCCESS The memory was returned to the system.\r
+ @retval EFI_INVALID_PARAMETER Buffer was invalid.\r
+ @retval EFI_UNSUPPORTED In runtime.\r
\r
**/\r
typedef\r
/**\r
Allocates memory pages from the system.\r
\r
- @param Type The type of allocation to perform. \r
- \r
- @param MemoryType The only supported type is EfiRuntimeServicesData\r
- \r
- @param NumberofPages The number of contiguous 4 KB pages to allocate\r
- \r
- @param Memory Pointer to a physical address. On input, the way in which \r
- the address is used depends on the value of Type. On output, the address \r
- is set to the base of the page range that was allocated.\r
-\r
- @retval EFI_SUCCESS The requested pages were allocated.\r
- \r
+ @param Type The type of allocation to perform.\r
+ @param MemoryType The only supported type is EfiRuntimeServicesData\r
+ @param NumberofPages The number of contiguous 4 KB pages to allocate\r
+ @param Memory Pointer to a physical address. On input, the way in which\r
+ the address is used depends on the value of Type. On output, the address\r
+ is set to the base of the page range that was allocated.\r
+\r
+ @retval EFI_SUCCESS The requested pages were allocated.\r
@retval EFI_OUT_OF_RESOURCES The pages requested could not be allocated.\r
- \r
- @retval EFI_NOT_FOUND The requested pages could not be found.\r
- \r
- @retval EFI_INVALID_PARAMETER Type is not AllocateAnyPages or AllocateMaxAddress \r
- or AllocateAddress. Or MemoryType is in the range EfiMaxMemoryType..0x7FFFFFFF.\r
+ @retval EFI_NOT_FOUND The requested pages could not be found.\r
+ @retval EFI_INVALID_PARAMETER Type is not AllocateAnyPages or AllocateMaxAddress\r
+ or AllocateAddress. Or MemoryType is in the range EfiMaxMemoryType..0x7FFFFFFF.\r
\r
**/\r
typedef\r
/**\r
Frees memory pages for the system.\r
\r
- @param Memory The base physical address of the pages to be freed\r
- \r
- @param NumberOfPages The number of contiguous 4 KB pages to free.\r
+ @param Memory The base physical address of the pages to be freed\r
+ @param NumberOfPages The number of contiguous 4 KB pages to free.\r
\r
- @retval EFI_SUCCESS The requested memory pages were freed.\r
- \r
- @retval EFI_INVALID_PARAMETER Memory is not a page-aligned address or NumberOfPages is invalid.\r
- \r
- @retval EFI_NOT_FOUND The requested memory pages were not allocated with SmmAllocatePages().\r
+ @retval EFI_SUCCESS The requested memory pages were freed.\r
+ @retval EFI_INVALID_PARAMETER Memory is not a page-aligned address or NumberOfPages is invalid.\r
+ @retval EFI_NOT_FOUND The requested memory pages were not allocated with SmmAllocatePages().\r
\r
**/\r
typedef\r
This function is the main entry point for an SMM handler dispatch \r
or communicate-based callback. \r
\r
- @param SmmImageHandle A unique value returned by the SMM infrastructure \r
- in response to registration for a communicate-based callback or dispatch. \r
- \r
- @param CommunicationBuffer An optional buffer that will be populated \r
- by the SMM infrastructure in response to a non-SMM agent (preboot or runtime) \r
- invoking the EFI_SMM_BASE_PROTOCOL.Communicate() service.\r
- \r
- @param SourceSize If CommunicationBuffer is non-NULL, this field \r
- indicates the size of the data payload in this buffer.\r
+ @param SmmImageHandle A unique value returned by the SMM infrastructure\r
+ in response to registration for a communicate-based callback or dispatch.\r
+ @param CommunicationBuffer \r
+ An optional buffer that will be populated\r
+ by the SMM infrastructure in response to a non-SMM agent (preboot or runtime)\r
+ invoking the EFI_SMM_BASE_PROTOCOL.Communicate() service.\r
+ @param SourceSize If CommunicationBuffer is non-NULL, this field\r
+ indicates the size of the data payload in this buffer.\r
\r
@return Status Code\r
\r
Table. The list is stored as an array of (GUID, Pointer) pairs. The list \r
must be allocated from pool memory with PoolType set to EfiRuntimeServicesData.\r
\r
- @param SystemTable A pointer to the SMM System Table.\r
- @param Guid A pointer to the GUID for the entry to add, update, or remove.\r
- @param Table A pointer to the buffer of the table to add.\r
- @param TableSize The size of the table to install.\r
+ @param SystemTable A pointer to the SMM System Table.\r
+ @param Guid A pointer to the GUID for the entry to add, update, or remove.\r
+ @param Table A pointer to the buffer of the table to add.\r
+ @param TableSize The size of the table to install.\r
\r
- @retval EFI_SUCCESS The (Guid, Table) pair was added, updated, or removed.\r
+ @retval EFI_SUCCESS The (Guid, Table) pair was added, updated, or removed.\r
@retval EFI_INVALID_PARAMETER Guid is not valid.\r
- @retval EFI_NOT_FOUND An attempt was made to delete a non-existent entry.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough memory available to complete the operation.\r
+ @retval EFI_NOT_FOUND An attempt was made to delete a non-existent entry.\r
+ @retval EFI_OUT_OF_RESOURCES There is not enough memory available to complete the operation.\r
\r
**/\r
typedef\r