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

Go to the source code of this file.

Functions

UINT16 ThumbMovtImmediateAddress (IN UINT16 *Instruction)
 
VOID ThumbMovtImmediatePatch (IN OUT UINT16 *Instruction, IN UINT16 Address)
 
UINT32 ThumbMovwMovtImmediateAddress (IN UINT16 *Instructions)
 
VOID ThumbMovwMovtImmediatePatch (IN OUT UINT16 *Instructions, IN UINT32 Address)
 
RETURN_STATUS PeCoffLoaderRelocateImageEx (IN UINT16 *Reloc, IN OUT CHAR8 *Fixup, IN OUT CHAR8 **FixupData, IN UINT64 Adjust)
 
BOOLEAN PeCoffLoaderImageFormatSupported (IN UINT16 Machine)
 
RETURN_STATUS PeHotRelocateImageEx (IN UINT16 *Reloc, IN OUT CHAR8 *Fixup, IN OUT CHAR8 **FixupData, IN UINT64 Adjust)
 

Detailed Description

Specific relocation fixups for ARM architecture.

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

Definition in file PeCoffLoaderEx.c.

Function Documentation

◆ PeCoffLoaderImageFormatSupported()

BOOLEAN PeCoffLoaderImageFormatSupported ( IN UINT16  Machine)

Returns TRUE if the machine type of PE/COFF image is supported. Supported does not mean the image can be executed it means the PE/COFF loader supports loading and relocating of the image type. It's up to the caller to support the entry point.

Parameters
MachineMachine type from the PE Header.
Returns
TRUE if this PE/COFF loader can load the image

Definition at line 179 of file PeCoffLoaderEx.c.

◆ PeCoffLoaderRelocateImageEx()

RETURN_STATUS PeCoffLoaderRelocateImageEx ( IN UINT16 *  Reloc,
IN OUT CHAR8 *  Fixup,
IN OUT CHAR8 **  FixupData,
IN UINT64  Adjust 
)

Performs an ARM-based specific relocation fixup and is a no-op on other instruction sets.

Parameters
RelocThe pointer to the relocation record.
FixupThe pointer to the address to fix up.
FixupDataThe pointer to a buffer to log the fixups.
AdjustThe offset to adjust the fixup.
Returns
Status code.

Definition at line 131 of file PeCoffLoaderEx.c.

◆ PeHotRelocateImageEx()

RETURN_STATUS PeHotRelocateImageEx ( IN UINT16 *  Reloc,
IN OUT CHAR8 *  Fixup,
IN OUT CHAR8 **  FixupData,
IN UINT64  Adjust 
)

Performs an ARM-based specific re-relocation fixup and is a no-op on other instruction sets. This is used to re-relocated the image into the EFI virtual space for runtime calls.

Parameters
RelocThe pointer to the relocation record.
FixupThe pointer to the address to fix up.
FixupDataThe pointer to a buffer to log the fixups.
AdjustThe offset to adjust the fixup.
Returns
Status code.

Definition at line 204 of file PeCoffLoaderEx.c.

◆ ThumbMovtImmediateAddress()

UINT16 ThumbMovtImmediateAddress ( IN UINT16 *  Instruction)

Pass in a pointer to an ARM MOVT or MOVW immediate instruciton and return the immediate data encoded in the instruction.

Parameters
InstructionPointer to ARM MOVT or MOVW immediate instruction
Returns
Immediate address encoded in the instruction

Definition at line 23 of file PeCoffLoaderEx.c.

◆ ThumbMovtImmediatePatch()

VOID ThumbMovtImmediatePatch ( IN OUT UINT16 *  Instruction,
IN UINT16  Address 
)

Update an ARM MOVT or MOVW immediate instruction immediate data.

Parameters
InstructionPointer to ARM MOVT or MOVW immediate instruction
AddressNew addres to patch into the instruction

Definition at line 52 of file PeCoffLoaderEx.c.

◆ ThumbMovwMovtImmediateAddress()

UINT32 ThumbMovwMovtImmediateAddress ( IN UINT16 *  Instructions)

Pass in a pointer to an ARM MOVW/MOVT instruciton pair and return the immediate data encoded in the two` instruction.

Parameters
InstructionsPointer to ARM MOVW/MOVT insturction pair
Returns
Immediate address encoded in the instructions

Definition at line 83 of file PeCoffLoaderEx.c.

◆ ThumbMovwMovtImmediatePatch()

VOID ThumbMovwMovtImmediatePatch ( IN OUT UINT16 *  Instructions,
IN UINT32  Address 
)

Update an ARM MOVW/MOVT immediate instruction instruction pair.

Parameters
InstructionsPointer to ARM MOVW/MOVT instruction pair
AddressNew addres to patch into the instructions

Definition at line 103 of file PeCoffLoaderEx.c.