TianoCore EDK2 master
Loading...
Searching...
No Matches
IoLibMmioBuffer.c File Reference

Go to the source code of this file.

Functions

UINT8 *EFIAPI MmioReadBuffer8 (IN UINTN StartAddress, IN UINTN Length, OUT UINT8 *Buffer)
 
UINT16 *EFIAPI MmioReadBuffer16 (IN UINTN StartAddress, IN UINTN Length, OUT UINT16 *Buffer)
 
UINT32 *EFIAPI MmioReadBuffer32 (IN UINTN StartAddress, IN UINTN Length, OUT UINT32 *Buffer)
 
UINT64 *EFIAPI MmioReadBuffer64 (IN UINTN StartAddress, IN UINTN Length, OUT UINT64 *Buffer)
 
UINT8 *EFIAPI MmioWriteBuffer8 (IN UINTN StartAddress, IN UINTN Length, IN CONST UINT8 *Buffer)
 
UINT16 *EFIAPI MmioWriteBuffer16 (IN UINTN StartAddress, IN UINTN Length, IN CONST UINT16 *Buffer)
 
UINT32 *EFIAPI MmioWriteBuffer32 (IN UINTN StartAddress, IN UINTN Length, IN CONST UINT32 *Buffer)
 
UINT64 *EFIAPI MmioWriteBuffer64 (IN UINTN StartAddress, IN UINTN Length, IN CONST UINT64 *Buffer)
 

Detailed Description

I/O Library MMIO Buffer Functions.

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

Definition in file IoLibMmioBuffer.c.

Function Documentation

◆ MmioReadBuffer16()

UINT16 *EFIAPI MmioReadBuffer16 ( IN UINTN  StartAddress,
IN UINTN  Length,
OUT UINT16 *  Buffer 
)

Copy data from the MMIO region to system memory by using 16-bit access.

Copy data from the MMIO region specified by starting address StartAddress to system memory specified by Buffer by using 16-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If StartAddress is not aligned on a 16-bit boundary, then ASSERT().

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().

If Length is not aligned on a 16-bit boundary, then ASSERT(). If Buffer is not aligned on a 16-bit boundary, then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied from.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer receiving the data read.
Returns
Buffer

Definition at line 75 of file IoLibMmioBuffer.c.

◆ MmioReadBuffer32()

UINT32 *EFIAPI MmioReadBuffer32 ( IN UINTN  StartAddress,
IN UINTN  Length,
OUT UINT32 *  Buffer 
)

Copy data from the MMIO region to system memory by using 32-bit access.

Copy data from the MMIO region specified by starting address StartAddress to system memory specified by Buffer by using 32-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If StartAddress is not aligned on a 32-bit boundary, then ASSERT().

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().

If Length is not aligned on a 32-bit boundary, then ASSERT(). If Buffer is not aligned on a 32-bit boundary, then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied from.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer receiving the data read.
Returns
Buffer

Definition at line 126 of file IoLibMmioBuffer.c.

◆ MmioReadBuffer64()

UINT64 *EFIAPI MmioReadBuffer64 ( IN UINTN  StartAddress,
IN UINTN  Length,
OUT UINT64 *  Buffer 
)

Copy data from the MMIO region to system memory by using 64-bit access.

Copy data from the MMIO region specified by starting address StartAddress to system memory specified by Buffer by using 64-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If StartAddress is not aligned on a 64-bit boundary, then ASSERT().

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().

If Length is not aligned on a 64-bit boundary, then ASSERT(). If Buffer is not aligned on a 64-bit boundary, then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied from.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer receiving the data read.
Returns
Buffer

Definition at line 177 of file IoLibMmioBuffer.c.

◆ MmioReadBuffer8()

UINT8 *EFIAPI MmioReadBuffer8 ( IN UINTN  StartAddress,
IN UINTN  Length,
OUT UINT8 *  Buffer 
)

Copy data from the MMIO region to system memory by using 8-bit access.

Copy data from the MMIO region specified by starting address StartAddress to system memory specified by Buffer by using 8-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied from.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer receiving the data read.
Returns
Buffer

Definition at line 31 of file IoLibMmioBuffer.c.

◆ MmioWriteBuffer16()

UINT16 *EFIAPI MmioWriteBuffer16 ( IN UINTN  StartAddress,
IN UINTN  Length,
IN CONST UINT16 *  Buffer 
)

Copy data from system memory to the MMIO region by using 16-bit access.

Copy data from system memory specified by Buffer to the MMIO region specified by starting address StartAddress by using 16-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If StartAddress is not aligned on a 16-bit boundary, then ASSERT().

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT().

If Length is not aligned on a 16-bit boundary, then ASSERT().

If Buffer is not aligned on a 16-bit boundary, then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied to.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer containing the data to write.
Returns
Buffer

Definition at line 269 of file IoLibMmioBuffer.c.

◆ MmioWriteBuffer32()

UINT32 *EFIAPI MmioWriteBuffer32 ( IN UINTN  StartAddress,
IN UINTN  Length,
IN CONST UINT32 *  Buffer 
)

Copy data from system memory to the MMIO region by using 32-bit access.

Copy data from system memory specified by Buffer to the MMIO region specified by starting address StartAddress by using 32-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If StartAddress is not aligned on a 32-bit boundary, then ASSERT().

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT().

If Length is not aligned on a 32-bit boundary, then ASSERT().

If Buffer is not aligned on a 32-bit boundary, then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied to.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer containing the data to write.
Returns
Buffer

Definition at line 322 of file IoLibMmioBuffer.c.

◆ MmioWriteBuffer64()

UINT64 *EFIAPI MmioWriteBuffer64 ( IN UINTN  StartAddress,
IN UINTN  Length,
IN CONST UINT64 *  Buffer 
)

Copy data from system memory to the MMIO region by using 64-bit access.

Copy data from system memory specified by Buffer to the MMIO region specified by starting address StartAddress by using 64-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If StartAddress is not aligned on a 64-bit boundary, then ASSERT().

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT().

If Length is not aligned on a 64-bit boundary, then ASSERT().

If Buffer is not aligned on a 64-bit boundary, then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied to.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer containing the data to write.
Returns
Buffer

Definition at line 375 of file IoLibMmioBuffer.c.

◆ MmioWriteBuffer8()

UINT8 *EFIAPI MmioWriteBuffer8 ( IN UINTN  StartAddress,
IN UINTN  Length,
IN CONST UINT8 *  Buffer 
)

Copy data from system memory to the MMIO region by using 8-bit access.

Copy data from system memory specified by Buffer to the MMIO region specified by starting address StartAddress by using 8-bit access. The total number of byte to be copied is specified by Length. Buffer is returned.

If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT().

Parameters
StartAddressThe starting address for the MMIO region to be copied to.
LengthThe size, in bytes, of Buffer.
BufferThe pointer to a system memory buffer containing the data to write.
Returns
Buffer

Definition at line 224 of file IoLibMmioBuffer.c.