TianoCore EDK2 master
Loading...
Searching...
No Matches
CpuIo.h File Reference

Go to the source code of this file.

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(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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 

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.

Definition in file CpuIo.h.

Macro Definition Documentation

◆ EFI_PEI_CPU_IO_PPI_INSTALLED_GUID

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

Definition at line 16 of file CpuIo.h.

Typedef Documentation

◆ EFI_PEI_CPU_IO_PPI

Definition at line 19 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_MEM

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.

Definition at line 56 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_READ16

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.

Definition at line 111 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_READ32

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.

Definition at line 130 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_READ64

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.

Definition at line 149 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_READ8

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.

Definition at line 92 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_WRITE16

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.

Definition at line 186 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_WRITE32

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.

Definition at line 205 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_WRITE64

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.

Definition at line 224 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_IO_WRITE8

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.

Definition at line 167 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_READ16

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.

Definition at line 263 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_READ32

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.

Definition at line 282 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_READ64

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.

Definition at line 301 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_READ8

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.

Definition at line 244 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_WRITE16

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.

Definition at line 338 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_WRITE32

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.

Definition at line 357 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_WRITE64

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.

Definition at line 376 of file CpuIo.h.

◆ EFI_PEI_CPU_IO_PPI_MEM_WRITE8

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.

Definition at line 319 of file CpuIo.h.

Enumeration Type Documentation

◆ EFI_PEI_CPU_IO_PPI_WIDTH

EFI_PEI_CPU_IO_PPI_WIDTH.

Definition at line 24 of file CpuIo.h.