Functions | |
UINT64 EFIAPI | IoReadWorker (IN UINTN Port, IN EFI_SMM_IO_WIDTH Width) |
UINT64 EFIAPI | IoWriteWorker (IN UINTN Port, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Data) |
UINT64 EFIAPI | MmioReadWorker (IN UINTN Address, IN EFI_SMM_IO_WIDTH Width) |
UINT64 EFIAPI | MmioWriteWorker (IN UINTN Address, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Data) |
Copyright (c) 2009 - 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_SMM_IO_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_EFI_ERROR, gSmst, _EFI_SMM_CPU_IO2_PROTOCOL::Io, EFI_SMM_IO_ACCESS2::Read, and _EFI_SMM_SYSTEM_TABLE2::SmmIo.
UINT64 EFIAPI IoWriteWorker | ( | IN UINTN | Port, | |
IN EFI_SMM_IO_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_EFI_ERROR, gSmst, _EFI_SMM_CPU_IO2_PROTOCOL::Io, _EFI_SMM_SYSTEM_TABLE2::SmmIo, and EFI_SMM_IO_ACCESS2::Write.
UINT64 EFIAPI MmioReadWorker | ( | IN UINTN | Address, | |
IN EFI_SMM_IO_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_EFI_ERROR, gSmst, _EFI_SMM_CPU_IO2_PROTOCOL::Mem, EFI_SMM_IO_ACCESS2::Read, and _EFI_SMM_SYSTEM_TABLE2::SmmIo.
UINT64 EFIAPI MmioWriteWorker | ( | IN UINTN | Address, | |
IN EFI_SMM_IO_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. |
References ASSERT_EFI_ERROR, gSmst, _EFI_SMM_CPU_IO2_PROTOCOL::Mem, _EFI_SMM_SYSTEM_TABLE2::SmmIo, and EFI_SMM_IO_ACCESS2::Write.