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

Go to the source code of this file.

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)
 

Detailed Description

Internal include file of SMM CPU IO Library. It includes all necessary protocol/library class's header file for implementation of IoLib library instance. It is included all source code of this library instance.

Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file SmmCpuIoLibInternal.h.

Function Documentation

◆ IoReadWorker()

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.

Parameters
PortThe base address of the I/O operation. The caller is responsible for aligning the Address if required.
WidthThe width of the I/O operation.
Returns
Data read from registers in the EFI CPU I/O space.

Definition at line 31 of file IoLib.c.

◆ IoWriteWorker()

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.

Parameters
PortThe base address of the I/O operation. The caller is responsible for aligning the Address if required.
WidthThe width of the I/O operation.
DataThe value to write to the I/O port.
Returns
The parameter of Data.

Definition at line 62 of file IoLib.c.

◆ MmioReadWorker()

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.

Parameters
AddressThe MMIO register to read. The caller is responsible for aligning the Address if required.
WidthThe width of the I/O operation.
Returns
Data read from registers in the EFI system memory space.

Definition at line 92 of file IoLib.c.

◆ MmioWriteWorker()

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.

Parameters
AddressThe MMIO register to read. The caller is responsible for aligning the Address if required.
WidthThe width of the I/O operation.
DataThe value to write to the I/O port.
Returns
Data read from registers in the EFI system memory space.

Definition at line 123 of file IoLib.c.