Functions | |
UINT64 EFIAPI | IoReadWorker (IN UINTN Port, IN EFI_CPU_IO_PROTOCOL_WIDTH Width) |
UINT64 EFIAPI | IoWriteWorker (IN UINTN Port, IN EFI_CPU_IO_PROTOCOL_WIDTH Width, IN UINT64 Data) |
UINT64 EFIAPI | MmioReadWorker (IN UINTN Address, IN EFI_CPU_IO_PROTOCOL_WIDTH Width) |
UINT64 EFIAPI | MmioWriteWorker (IN UINTN Address, IN EFI_CPU_IO_PROTOCOL_WIDTH Width, IN UINT64 Data) |
Copyright (c) 2010, 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.
UINT64 EFIAPI IoReadWorker | ( | IN UINTN | Port, | |
IN EFI_CPU_IO_PROTOCOL_WIDTH | Width | |||
) |
Reads registers in the EFI CPU I/O space.
Reads the I/O port specified by Port with registers width specified by Width. The read value is returned. If such operations are not supported, then ASSERT(). This function must guarantee that all I/O read and write operations are serialized.
Port | The base address of the I/O operation. The caller is responsible for aligning the Address if required. | |
Width | The width of the I/O operation. |
References ASSERT, ASSERT_EFI_ERROR, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_LO, EFI_SAL_SUCCESS, EsalCall(), _EFI_CPU_IO2_PROTOCOL::Io, IoReadFunctionId, EFI_CPU_IO_PROTOCOL_ACCESS::Read, and SAL_RETURN_REGS::Status.
Referenced by IoRead16(), IoRead32(), IoRead64(), and IoRead8().
UINT64 EFIAPI IoWriteWorker | ( | IN UINTN | Port, | |
IN EFI_CPU_IO_PROTOCOL_WIDTH | Width, | |||
IN UINT64 | Data | |||
) |
Writes registers in the EFI CPU I/O space.
Writes the I/O port specified by Port with registers width and value specified by Width and Data respectively. Data is returned. If such operations are not supported, then ASSERT(). This function must guarantee that all I/O read and write operations are serialized.
Port | The base address of the I/O operation. The caller is responsible for aligning the Address if required. | |
Width | The width of the I/O operation. | |
Data | The value to write to the I/O port. |
References ASSERT, ASSERT_EFI_ERROR, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_LO, EFI_SAL_SUCCESS, EsalCall(), _EFI_CPU_IO2_PROTOCOL::Io, IoWriteFunctionId, SAL_RETURN_REGS::Status, and EFI_CPU_IO_PROTOCOL_ACCESS::Write.
Referenced by IoWrite16(), IoWrite32(), IoWrite64(), and IoWrite8().
UINT64 EFIAPI MmioReadWorker | ( | IN UINTN | Address, | |
IN EFI_CPU_IO_PROTOCOL_WIDTH | Width | |||
) |
Reads memory-mapped registers in the EFI system memory space.
Reads the MMIO registers specified by Address with registers width specified by Width. The read value is returned. If such operations are not supported, then ASSERT(). This function must guarantee that all MMIO read and write operations are serialized.
Address | The MMIO register to read. The caller is responsible for aligning the Address if required. | |
Width | The width of the I/O operation. |
References ASSERT, ASSERT_EFI_ERROR, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_LO, EFI_SAL_SUCCESS, EsalCall(), _EFI_CPU_IO2_PROTOCOL::Mem, MemReadFunctionId, EFI_CPU_IO_PROTOCOL_ACCESS::Read, and SAL_RETURN_REGS::Status.
Referenced by MmioRead16(), MmioRead32(), MmioRead64(), and MmioRead8().
UINT64 EFIAPI MmioWriteWorker | ( | IN UINTN | Address, | |
IN EFI_CPU_IO_PROTOCOL_WIDTH | Width, | |||
IN UINT64 | Data | |||
) |
Writes memory-mapped registers in the EFI system memory space.
Writes the MMIO registers specified by Address with registers width and value specified by Width and Data respectively. Data is returned. If such operations are not supported, then ASSERT(). This function must guarantee that all MMIO read and write operations are serialized.
Address | The MMIO register to read. The caller is responsible for aligning the Address if required. | |
Width | The width of the I/O operation. | |
Data | The value to write to the I/O port. |
Writes the MMIO registers specified by Address with registers width and value specified by Width and Data respectively. Data is returned. If such operations are not supported, then ASSERT(). This function must guarantee that all MMIO read and write operations are serialized.
Address | The MMIO register to read. The caller is responsible for aligning the Address if required. | |
Width | The width of the I/O operation. | |
Data | The value to write to memory-mapped registers |
References ASSERT, ASSERT_EFI_ERROR, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_LO, EFI_SAL_SUCCESS, EsalCall(), _EFI_CPU_IO2_PROTOCOL::Mem, MemWriteFunctionId, SAL_RETURN_REGS::Status, and EFI_CPU_IO_PROTOCOL_ACCESS::Write.
Referenced by MmioWrite16(), MmioWrite32(), MmioWrite64(), and MmioWrite8().