TianoCore EDK2 master
Unaligned.c File Reference
#include "BaseLibInternals.h"

Go to the source code of this file.

Functions

UINT16 EFIAPI ReadUnaligned16 (IN CONST UINT16 *Buffer)
 
UINT16 EFIAPI WriteUnaligned16 (OUT UINT16 *Buffer, IN UINT16 Value)
 
UINT32 EFIAPI ReadUnaligned24 (IN CONST UINT32 *Buffer)
 
UINT32 EFIAPI WriteUnaligned24 (OUT UINT32 *Buffer, IN UINT32 Value)
 
UINT32 EFIAPI ReadUnaligned32 (IN CONST UINT32 *Buffer)
 
UINT32 EFIAPI WriteUnaligned32 (OUT UINT32 *Buffer, IN UINT32 Value)
 
UINT64 EFIAPI ReadUnaligned64 (IN CONST UINT64 *Buffer)
 
UINT64 EFIAPI WriteUnaligned64 (OUT UINT64 *Buffer, IN UINT64 Value)
 

Detailed Description

Unaligned access functions of BaseLib for ARM.

volatile was added to work around optimization issues.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Unaligned.c.

Function Documentation

◆ ReadUnaligned16()

UINT16 EFIAPI ReadUnaligned16 ( IN CONST UINT16 Buffer)

Reads a 16-bit value from memory that may be unaligned.

This function returns the 16-bit value pointed to by Buffer. The function guarantees that the read operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 16-bit value that may be unaligned.
Returns
The 16-bit value read from Buffer.

Definition at line 29 of file Unaligned.c.

◆ ReadUnaligned24()

UINT32 EFIAPI ReadUnaligned24 ( IN CONST UINT32 Buffer)

Reads a 24-bit value from memory that may be unaligned.

This function returns the 24-bit value pointed to by Buffer. The function guarantees that the read operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 24-bit value that may be unaligned.
Returns
The 24-bit value read from Buffer.

Definition at line 89 of file Unaligned.c.

◆ ReadUnaligned32()

UINT32 EFIAPI ReadUnaligned32 ( IN CONST UINT32 Buffer)

Reads a 32-bit value from memory that may be unaligned.

This function returns the 32-bit value pointed to by Buffer. The function guarantees that the read operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 32-bit value that may be unaligned.
Returns
The 32-bit value read from Buffer.

Definition at line 145 of file Unaligned.c.

◆ ReadUnaligned64()

UINT64 EFIAPI ReadUnaligned64 ( IN CONST UINT64 Buffer)

Reads a 64-bit value from memory that may be unaligned.

This function returns the 64-bit value pointed to by Buffer. The function guarantees that the read operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 64-bit value that may be unaligned.
Returns
The 64-bit value read from Buffer.

Definition at line 204 of file Unaligned.c.

◆ WriteUnaligned16()

UINT16 EFIAPI WriteUnaligned16 ( OUT UINT16 Buffer,
IN UINT16  Value 
)

Writes a 16-bit value to memory that may be unaligned.

This function writes the 16-bit value specified by Value to Buffer. Value is returned. The function guarantees that the write operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 16-bit value that may be unaligned.
Value16-bit value to write to Buffer.
Returns
The 16-bit value to write to Buffer.

Definition at line 61 of file Unaligned.c.

◆ WriteUnaligned24()

UINT32 EFIAPI WriteUnaligned24 ( OUT UINT32 Buffer,
IN UINT32  Value 
)

Writes a 24-bit value to memory that may be unaligned.

This function writes the 24-bit value specified by Value to Buffer. Value is returned. The function guarantees that the write operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 24-bit value that may be unaligned.
Value24-bit value to write to Buffer.
Returns
The 24-bit value to write to Buffer.

Definition at line 118 of file Unaligned.c.

◆ WriteUnaligned32()

UINT32 EFIAPI WriteUnaligned32 ( OUT UINT32 Buffer,
IN UINT32  Value 
)

Writes a 32-bit value to memory that may be unaligned.

This function writes the 32-bit value specified by Value to Buffer. Value is returned. The function guarantees that the write operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 32-bit value that may be unaligned.
Value32-bit value to write to Buffer.
Returns
The 32-bit value to write to Buffer.

Definition at line 177 of file Unaligned.c.

◆ WriteUnaligned64()

UINT64 EFIAPI WriteUnaligned64 ( OUT UINT64 Buffer,
IN UINT64  Value 
)

Writes a 64-bit value to memory that may be unaligned.

This function writes the 64-bit value specified by Value to Buffer. Value is returned. The function guarantees that the write operation does not produce an alignment fault.

If the Buffer is NULL, then ASSERT().

Parameters
BufferThe pointer to a 64-bit value that may be unaligned.
Value64-bit value to write to Buffer.
Returns
The 64-bit value to write to Buffer.

Definition at line 236 of file Unaligned.c.