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

Data Structures

struct  EFI_PEI_CPU_IO_PPI_ACCESS
 
struct  _EFI_PEI_CPU_IO_PPI
 

Macros

#define EFI_PEI_CPU_IO_PPI_INSTALLED_GUID   { 0xe6af1f7b, 0xfc3f, 0x46da, {0xa8, 0x28, 0xa3, 0xb4, 0x57, 0xa4, 0x42, 0x82 } }
 

Typedefs

typedef struct _EFI_PEI_CPU_IO_PPI EFI_PEI_CPU_IO_PPI
 
typedef EFI_STATUS(EFIAPIEFI_PEI_CPU_IO_PPI_IO_MEM )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN EFI_PEI_CPU_IO_PPI_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN OUT VOID *Buffer)
 
typedef UINT8(EFIAPIEFI_PEI_CPU_IO_PPI_IO_READ8 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef UINT16(EFIAPIEFI_PEI_CPU_IO_PPI_IO_READ16 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef UINT32(EFIAPIEFI_PEI_CPU_IO_PPI_IO_READ32 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef UINT64(EFIAPIEFI_PEI_CPU_IO_PPI_IO_READ64 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_IO_WRITE8 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT8 Data)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_IO_WRITE16 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT16 Data)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_IO_WRITE32 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT32 Data)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_IO_WRITE64 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT64 Data)
 
typedef UINT8(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_READ8 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef UINT16(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_READ16 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef UINT32(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_READ32 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef UINT64(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_READ64 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_WRITE8 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT8 Data)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_WRITE16 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT16 Data)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_WRITE32 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT32 Data)
 
typedef VOID(EFIAPIEFI_PEI_CPU_IO_PPI_MEM_WRITE64 )(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT64 Data)
 

Enumerations

enum  EFI_PEI_CPU_IO_PPI_WIDTH {
  EfiPeiCpuIoWidthUint8, EfiPeiCpuIoWidthUint16, EfiPeiCpuIoWidthUint32, EfiPeiCpuIoWidthUint64,
  EfiPeiCpuIoWidthFifoUint8, EfiPeiCpuIoWidthFifoUint16, EfiPeiCpuIoWidthFifoUint32, EfiPeiCpuIoWidthFifoUint64,
  EfiPeiCpuIoWidthFillUint8, EfiPeiCpuIoWidthFillUint16, EfiPeiCpuIoWidthFillUint32, EfiPeiCpuIoWidthFillUint64,
  EfiPeiCpuIoWidthMaximum
}
 

Variables

EFI_GUID gEfiPeiCpuIoPpiInstalledGuid
 

Detailed Description

This PPI provides a set of memory and I/O-based services. The perspective of the services is that of the processor, not the bus or system.

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

Revision Reference:
This PPI is introduced in PI Version 1.0.

Macro Definition Documentation

#define EFI_PEI_CPU_IO_PPI_INSTALLED_GUID   { 0xe6af1f7b, 0xfc3f, 0x46da, {0xa8, 0x28, 0xa3, 0xb4, 0x57, 0xa4, 0x42, 0x82 } }

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_MEM)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN EFI_PEI_CPU_IO_PPI_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN OUT VOID *Buffer)

Memory-based access services and I/O-based access services.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]WidthThe width of the access. Enumerated in bytes.
[in]AddressThe physical address of the access.
[in]CountThe number of accesses to perform.
[in,out]BufferA pointer to the buffer of data.
Return values
EFI_SUCCESSThe function completed successfully.
EFI_NOT_YET_AVAILABLEThe service has not been installed.
typedef UINT16(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_READ16)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

16-bit I/O read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
A 16-bit value returned from the I/O space.
typedef UINT32(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_READ32)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

32-bit I/O read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
A 32-bit value returned from the I/O space.
typedef UINT64(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_READ64)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

64-bit I/O read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
A 64-bit value returned from the I/O space.
typedef UINT8(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_READ8)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

8-bit I/O read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
An 8-bit value returned from the I/O space.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_WRITE16)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT16 Data)

16-bit I/O write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_WRITE32)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT32 Data)

32-bit I/O write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_WRITE64)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT64 Data)

64-bit I/O write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_IO_WRITE8)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT8 Data)

8-bit I/O write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.
typedef UINT16(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_READ16)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

16-bit memory read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
A 16-bit value returned from the memory space.
typedef UINT32(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_READ32)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

32-bit memory read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
A 32-bit value returned from the memory space.
typedef UINT64(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_READ64)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

64-bit memory read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
A 64-bit value returned from the memory space.
typedef UINT8(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_READ8)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address)

8-bit memory read operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
Returns
An 8-bit value returned from the memory space.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_WRITE16)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT16 Data)

16-bit memory write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_WRITE32)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT32 Data)

32-bit memory write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_WRITE64)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT64 Data)

64-bit memory write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.
typedef VOID(EFIAPI * EFI_PEI_CPU_IO_PPI_MEM_WRITE8)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_CPU_IO_PPI *This, IN UINT64 Address, IN UINT8 Data)

8-bit memory write operations.

Parameters
[in]PeiServicesAn indirect pointer to the PEI Services Table published by the PEI Foundation.
[in]ThisThe pointer to local data for the interface.
[in]AddressThe physical address of the access.
[in]DataThe data to write.

Enumeration Type Documentation

EFI_PEI_CPU_IO_PPI_WIDTH.

Enumerator
EfiPeiCpuIoWidthUint8 
EfiPeiCpuIoWidthUint16 
EfiPeiCpuIoWidthUint32 
EfiPeiCpuIoWidthUint64 
EfiPeiCpuIoWidthFifoUint8 
EfiPeiCpuIoWidthFifoUint16 
EfiPeiCpuIoWidthFifoUint32 
EfiPeiCpuIoWidthFifoUint64 
EfiPeiCpuIoWidthFillUint8 
EfiPeiCpuIoWidthFillUint16 
EfiPeiCpuIoWidthFillUint32 
EfiPeiCpuIoWidthFillUint64 
EfiPeiCpuIoWidthMaximum 

Variable Documentation

EFI_GUID gEfiPeiCpuIoPpiInstalledGuid