MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MmCpuIo.h File Reference

Data Structures

struct  EFI_MM_IO_ACCESS
 
struct  _EFI_MM_CPU_IO_PROTOCOL
 

Macros

#define EFI_MM_CPU_IO_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_MM_CPU_IO_PROTOCOL 
EFI_MM_CPU_IO_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_MM_CPU_IO )(IN CONST EFI_MM_CPU_IO_PROTOCOL *This, IN EFI_MM_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN OUT VOID *Buffer)
 

Enumerations

enum  EFI_MM_IO_WIDTH { MM_IO_UINT8 = 0, MM_IO_UINT16 = 1, MM_IO_UINT32 = 2, MM_IO_UINT64 = 3 }
 

Variables

EFI_GUID gEfiMmCpuIoProtocolGuid
 

Detailed Description

MM CPU I/O 2 protocol as defined in the PI 1.5 specification.

This protocol provides CPU I/O and memory access within MM.

Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define EFI_MM_CPU_IO_PROTOCOL_GUID
Value:
{ \
0x3242A9D8, 0xCE70, 0x4AA0, { 0x95, 0x5D, 0x5E, 0x7B, 0x14, 0x0D, 0xE4, 0xD2 } \
}

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_MM_CPU_IO)(IN CONST EFI_MM_CPU_IO_PROTOCOL *This, IN EFI_MM_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN OUT VOID *Buffer)

Provides the basic memory and I/O interfaces used toabstract accesses to devices.

The I/O operations are carried out exactly as requested. The caller is responsible for any alignment and I/O width issues that the bus, device, platform, or type of I/O might require.

Parameters
[in]ThisThe EFI_MM_CPU_IO_PROTOCOL instance.
[in]WidthSignifies the width of the I/O operations.
[in]AddressThe base address of the I/O operations. The caller is responsible for aligning the Address if required.
[in]CountThe number of I/O operations to perform.
[in,out]BufferFor read operations, the destination buffer to store the results. For write operations, the source buffer from which to write data.
Return values
EFI_SUCCESSThe data was read from or written to the device.
EFI_UNSUPPORTEDThe Address is not valid for this system.
EFI_INVALID_PARAMETERWidth or Count, or both, were invalid.
EFI_OUT_OF_RESOURCESThe request could not be completed due to a lack of resources.

Enumeration Type Documentation

Width of the MM CPU I/O operations

Enumerator
MM_IO_UINT8 
MM_IO_UINT16 
MM_IO_UINT32 
MM_IO_UINT64 

Variable Documentation

EFI_GUID gEfiMmCpuIoProtocolGuid