TianoCore EDK2 master
|
#include "CpuIoPei.h"
Go to the source code of this file.
Variables | |
EFI_PEI_CPU_IO_PPI | gCpuIoPpi |
EFI_PEI_PPI_DESCRIPTOR | gPpiList |
UINT8 | mInStride [] |
UINT8 | mOutStride [] |
Produces the CPU I/O PPI.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
Copyright (c) 2017, AMD Incorporated. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file CpuIoPei.c.
EFI_STATUS CpuIoCheckParameter | ( | IN BOOLEAN | MmioOperation, |
IN EFI_PEI_CPU_IO_PPI_WIDTH | Width, | ||
IN UINT64 | Address, | ||
IN UINTN | Count, | ||
IN VOID * | Buffer | ||
) |
Check parameters to a CPU I/O PPI service request.
[in] | MmioOperation | TRUE for an MMIO operation, FALSE for I/O Port operation. |
[in] | Width | The width of the access. Enumerated in bytes. |
[in] | Address | The physical address of the access. |
[in] | Count | The number of accesses to perform. |
[in] | Buffer | A pointer to the buffer of data. |
EFI_SUCCESS | The parameters for this request pass the checks. |
EFI_INVALID_PARAMETER | Width is invalid for this EFI system. |
EFI_INVALID_PARAMETER | Buffer is NULL. |
EFI_UNSUPPORTED | The address range specified by Address, Width, and Count is not valid for this EFI system. |
Definition at line 105 of file CpuIoPei.c.
EFI_STATUS EFIAPI CpuIoInitialize | ( | IN EFI_PEI_FILE_HANDLE | FileHandle, |
IN CONST EFI_PEI_SERVICES ** | PeiServices | ||
) |
The Entry point of the CPU I/O PEIM
This function is the Entry point of the CPU I/O PEIM which installs CpuIoPpi.
[in] | FileHandle | Pointer to image file handle. |
[in] | PeiServices | Pointer to PEI Services Table |
EFI_SUCCESS | CPU I/O PPI successfully installed |
Definition at line 885 of file CpuIoPei.c.
UINT16 EFIAPI CpuIoRead16 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
16-bit I/O read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 555 of file CpuIoPei.c.
UINT32 EFIAPI CpuIoRead32 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
32-bit I/O read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 577 of file CpuIoPei.c.
UINT64 EFIAPI CpuIoRead64 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
64-bit I/O read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 599 of file CpuIoPei.c.
UINT8 EFIAPI CpuIoRead8 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
8-bit I/O read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 533 of file CpuIoPei.c.
EFI_STATUS EFIAPI CpuIoServiceRead | ( | 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, | ||
OUT VOID * | Buffer | ||
) |
Reads I/O registers.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Width | The width of the access. Enumerated in bytes. |
[in] | Address | The physical address of the access. |
[in] | Count | The number of accesses to perform. |
[out] | Buffer | A pointer to the buffer of data. |
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Width is invalid for this EFI system. |
EFI_INVALID_PARAMETER | Buffer is NULL. |
EFI_UNSUPPORTED | The address range specified by Address, Width, and Count is not valid for this EFI system. |
Definition at line 350 of file CpuIoPei.c.
EFI_STATUS EFIAPI CpuIoServiceWrite | ( | 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 VOID * | Buffer | ||
) |
Write I/O registers.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Width | The width of the access. Enumerated in bytes. |
[in] | Address | The physical address of the access. |
[in] | Count | The number of accesses to perform. |
[in] | Buffer | A pointer to the buffer of data. |
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Width is invalid for this EFI system. |
EFI_INVALID_PARAMETER | Buffer is NULL. |
EFI_UNSUPPORTED | The address range specified by Address, Width, and Count is not valid for this EFI system. |
Definition at line 444 of file CpuIoPei.c.
VOID EFIAPI CpuIoWrite16 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 642 of file CpuIoPei.c.
VOID EFIAPI CpuIoWrite32 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 664 of file CpuIoPei.c.
VOID EFIAPI CpuIoWrite64 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 686 of file CpuIoPei.c.
VOID EFIAPI CpuIoWrite8 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 620 of file CpuIoPei.c.
EFI_STATUS EFIAPI CpuMemoryServiceRead | ( | 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, | ||
OUT VOID * | Buffer | ||
) |
Reads memory-mapped registers.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Width | The width of the access. Enumerated in bytes. |
[in] | Address | The physical address of the access. |
[in] | Count | The number of accesses to perform. |
[out] | Buffer | A pointer to the buffer of data. |
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Width is invalid for this EFI system. |
EFI_INVALID_PARAMETER | Buffer is NULL. |
EFI_UNSUPPORTED | The address range specified by Address, Width, and Count is not valid for this EFI system. |
Definition at line 200 of file CpuIoPei.c.
EFI_STATUS EFIAPI CpuMemoryServiceWrite | ( | 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 VOID * | Buffer | ||
) |
Writes memory-mapped registers.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Width | The width of the access. Enumerated in bytes. |
[in] | Address | The physical address of the access. |
[in] | Count | The number of accesses to perform. |
[in] | Buffer | A pointer to the buffer of data. |
EFI_SUCCESS | The function completed successfully. |
EFI_INVALID_PARAMETER | Width is invalid for this EFI system. |
EFI_INVALID_PARAMETER | Buffer is NULL. |
EFI_UNSUPPORTED | The address range specified by Address, Width, and Count is not valid for this EFI system. |
Definition at line 275 of file CpuIoPei.c.
UINT16 EFIAPI CpuMemRead16 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
16-bit memory read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 731 of file CpuIoPei.c.
UINT32 EFIAPI CpuMemRead32 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
32-bit memory read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 753 of file CpuIoPei.c.
UINT64 EFIAPI CpuMemRead64 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
64-bit memory read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 775 of file CpuIoPei.c.
UINT8 EFIAPI CpuMemRead8 | ( | IN CONST EFI_PEI_SERVICES ** | PeiServices, |
IN CONST EFI_PEI_CPU_IO_PPI * | This, | ||
IN UINT64 | Address | ||
) |
8-bit memory read operations.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
Definition at line 709 of file CpuIoPei.c.
VOID EFIAPI CpuMemWrite16 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 818 of file CpuIoPei.c.
VOID EFIAPI CpuMemWrite32 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 840 of file CpuIoPei.c.
VOID EFIAPI CpuMemWrite64 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 862 of file CpuIoPei.c.
VOID EFIAPI CpuMemWrite8 | ( | 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.
[in] | PeiServices | An indirect pointer to the PEI Services Table published by the PEI Foundation. |
[in] | This | Pointer to local data for the interface. |
[in] | Address | The physical address of the access. |
[in] | Data | The data to write. |
Definition at line 796 of file CpuIoPei.c.
EFI_PEI_CPU_IO_PPI gCpuIoPpi |
Definition at line 16 of file CpuIoPei.c.
EFI_PEI_PPI_DESCRIPTOR gPpiList |
Definition at line 46 of file CpuIoPei.c.
UINT8 mInStride[] |
Definition at line 55 of file CpuIoPei.c.
UINT8 mOutStride[] |
Definition at line 73 of file CpuIoPei.c.