XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Variables
CpuIo.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_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.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that 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.

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

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 } }

Typedef Documentation

◆ EFI_PEI_CPU_IO_PPI

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

Enumeration Type Documentation

◆ EFI_PEI_CPU_IO_PPI_WIDTH

EFI_PEI_CPU_IO_PPI_WIDTH.

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

Variable Documentation

◆ gEfiPeiCpuIoPpiInstalledGuid

EFI_GUID gEfiPeiCpuIoPpiInstalledGuid
extern