XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Variables
MmCpuIo.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Macro Definition Documentation

◆ EFI_MM_CPU_IO_PROTOCOL_GUID

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

Typedef Documentation

◆ EFI_MM_CPU_IO

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.

◆ EFI_MM_CPU_IO_PROTOCOL

Enumeration Type Documentation

◆ EFI_MM_IO_WIDTH

Width of the MM CPU I/O operations

Enumerator
MM_IO_UINT8 
MM_IO_UINT16 
MM_IO_UINT32 
MM_IO_UINT64 

Variable Documentation

◆ gEfiMmCpuIoProtocolGuid

EFI_GUID gEfiMmCpuIoProtocolGuid
extern