1/** @file 2 Specific relocation fixups for none Itanium architecture. 3 4 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13**/ 14 15#include "BasePeCoffLibInternals.h" 16 17 18/** 19 Performs an Itanium-based specific relocation fixup and is a no-op on other 20 instruction sets. 21 22 @param Reloc The pointer to the relocation record. 23 @param Fixup The pointer to the address to fix up. 24 @param FixupData The pointer to a buffer to log the fixups. 25 @param Adjust The offset to adjust the fixup. 26 27 @return Status code. 28 29**/ 30RETURN_STATUS 31PeCoffLoaderRelocateImageEx ( 32 IN UINT16 *Reloc, 33 IN OUT CHAR8 *Fixup, 34 IN OUT CHAR8 **FixupData, 35 IN UINT64 Adjust 36 ) 37{ 38 return RETURN_UNSUPPORTED; 39} 40 41/** 42 Returns TRUE if the machine type of PE/COFF image is supported. Supported 43 does not mean the image can be executed it means the PE/COFF loader supports 44 loading and relocating of the image type. It's up to the caller to support 45 the entry point. 46 47 The IA32/X64 version PE/COFF loader/relocater both support IA32, X64 and EBC images. 48 49 @param Machine The machine type from the PE Header. 50 51 @return TRUE if this PE/COFF loader can load the image 52 53**/ 54BOOLEAN 55PeCoffLoaderImageFormatSupported ( 56 IN UINT16 Machine 57 ) 58{ 59 if ((Machine == IMAGE_FILE_MACHINE_I386) || (Machine == IMAGE_FILE_MACHINE_X64) || 60 (Machine == IMAGE_FILE_MACHINE_EBC) || (Machine == IMAGE_FILE_MACHINE_ARM64)) { 61 return TRUE; 62 } 63 64 return FALSE; 65} 66 67/** 68 Performs an Itanium-based specific re-relocation fixup and is a no-op on other 69 instruction sets. This is used to re-relocated the image into the EFI virtual 70 space for runtime calls. 71 72 @param Reloc The pointer to the relocation record. 73 @param Fixup The pointer to the address to fix up. 74 @param FixupData The pointer to a buffer to log the fixups. 75 @param Adjust The offset to adjust the fixup. 76 77 @return Status code. 78 79**/ 80RETURN_STATUS 81PeHotRelocateImageEx ( 82 IN UINT16 *Reloc, 83 IN OUT CHAR8 *Fixup, 84 IN OUT CHAR8 **FixupData, 85 IN UINT64 Adjust 86 ) 87{ 88 return RETURN_UNSUPPORTED; 89} 90 91