]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Runtime/RuntimeDxe/Ipf/PeHotRelocateEx.c
Removed cross references from PciCf8Lib and PciExpressLib class to PciLib class.
[mirror_edk2.git] / EdkModulePkg / Universal / Runtime / RuntimeDxe / Ipf / PeHotRelocateEx.c
index ffc0aaf4a48562047be6e101d13a47b65d705bf1..97bdae0aa096315b9a7869bfe2a67532b4f4fa50 100644 (file)
@@ -23,192 +23,6 @@ Revision History
 --*/\r
 \r
 #include "Runtime.h"\r
-#include "PeHotRelocateEx.h"\r
-\r
-EFI_STATUS\r
-PeHotRelocateImageEx (\r
-  IN UINT16      *Reloc,\r
-  IN OUT CHAR8   *Fixup,\r
-  IN OUT CHAR8   **FixupData,\r
-  IN UINT64      Adjust\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Performs an IPF specific relocation fixup\r
-\r
-Arguments:\r
-\r
-  Reloc      - Pointer to the relocation record\r
-\r
-  Fixup      - Pointer to the address to fix up\r
-\r
-  FixupData  - Pointer to a buffer to log the fixups\r
-\r
-  Adjust     - The offset to adjust the fixup\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-{\r
-  UINT64  *F64;\r
-  UINT64  FixupVal;\r
-\r
-  switch ((*Reloc) >> 12) {\r
-  case EFI_IMAGE_REL_BASED_DIR64:\r
-    F64         = (UINT64 *) Fixup;\r
-    *FixupData  = ALIGN_POINTER (*FixupData, sizeof (UINT64));\r
-    if (*(UINT64 *) (*FixupData) == *F64) {\r
-      *F64 = *F64 + (UINT64) Adjust;\r
-    }\r
-\r
-    *FixupData = *FixupData + sizeof (UINT64);\r
-    break;\r
-\r
-  case EFI_IMAGE_REL_BASED_IA64_IMM64:\r
-    F64         = (UINT64 *) Fixup;\r
-    *FixupData  = ALIGN_POINTER (*FixupData, sizeof (UINT64));\r
-    if (*(UINT64 *) (*FixupData) == *F64) {\r
-      //\r
-      // Align it to bundle address before fixing up the\r
-      // 64-bit immediate value of the movl instruction.\r
-      //\r
-      //\r
-      Fixup     = (CHAR8 *) ((UINT64) Fixup & (UINT64)~(15));\r
-      FixupVal  = (UINT64) 0;\r
-\r
-      //\r
-      // Extract the lower 32 bits of IMM64 from bundle\r
-      //\r
-      EXT_IMM64 (\r
-        FixupVal,\r
-        (UINT32 *) Fixup + IMM64_IMM7B_INST_WORD_X,\r
-        IMM64_IMM7B_SIZE_X,\r
-        IMM64_IMM7B_INST_WORD_POS_X,\r
-        IMM64_IMM7B_VAL_POS_X\r
-        );\r
-\r
-      EXT_IMM64 (\r
-        FixupVal,\r
-        (UINT32 *) Fixup + IMM64_IMM9D_INST_WORD_X,\r
-        IMM64_IMM9D_SIZE_X,\r
-        IMM64_IMM9D_INST_WORD_POS_X,\r
-        IMM64_IMM9D_VAL_POS_X\r
-        );\r
-\r
-      EXT_IMM64 (\r
-        FixupVal,\r
-        (UINT32 *) Fixup + IMM64_IMM5C_INST_WORD_X,\r
-        IMM64_IMM5C_SIZE_X,\r
-        IMM64_IMM5C_INST_WORD_POS_X,\r
-        IMM64_IMM5C_VAL_POS_X\r
-        );\r
-\r
-      EXT_IMM64 (\r
-        FixupVal,\r
-        (UINT32 *) Fixup + IMM64_IC_INST_WORD_X,\r
-        IMM64_IC_SIZE_X,\r
-        IMM64_IC_INST_WORD_POS_X,\r
-        IMM64_IC_VAL_POS_X\r
-        );\r
-\r
-      EXT_IMM64 (\r
-        FixupVal,\r
-        (UINT32 *) Fixup + IMM64_IMM41a_INST_WORD_X,\r
-        IMM64_IMM41a_SIZE_X,\r
-        IMM64_IMM41a_INST_WORD_POS_X,\r
-        IMM64_IMM41a_VAL_POS_X\r
-        );\r
-\r
-      //\r
-      // Update 64-bit address\r
-      //\r
-      FixupVal += Adjust;\r
-\r
-      //\r
-      // Insert IMM64 into bundle\r
-      //\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_IMM7B_INST_WORD_X),\r
-        IMM64_IMM7B_SIZE_X,\r
-        IMM64_IMM7B_INST_WORD_POS_X,\r
-        IMM64_IMM7B_VAL_POS_X\r
-        );\r
-\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_IMM9D_INST_WORD_X),\r
-        IMM64_IMM9D_SIZE_X,\r
-        IMM64_IMM9D_INST_WORD_POS_X,\r
-        IMM64_IMM9D_VAL_POS_X\r
-        );\r
-\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_IMM5C_INST_WORD_X),\r
-        IMM64_IMM5C_SIZE_X,\r
-        IMM64_IMM5C_INST_WORD_POS_X,\r
-        IMM64_IMM5C_VAL_POS_X\r
-        );\r
-\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_IC_INST_WORD_X),\r
-        IMM64_IC_SIZE_X,\r
-        IMM64_IC_INST_WORD_POS_X,\r
-        IMM64_IC_VAL_POS_X\r
-        );\r
-\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_IMM41a_INST_WORD_X),\r
-        IMM64_IMM41a_SIZE_X,\r
-        IMM64_IMM41a_INST_WORD_POS_X,\r
-        IMM64_IMM41a_VAL_POS_X\r
-        );\r
-\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_IMM41b_INST_WORD_X),\r
-        IMM64_IMM41b_SIZE_X,\r
-        IMM64_IMM41b_INST_WORD_POS_X,\r
-        IMM64_IMM41b_VAL_POS_X\r
-        );\r
-\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_IMM41c_INST_WORD_X),\r
-        IMM64_IMM41c_SIZE_X,\r
-        IMM64_IMM41c_INST_WORD_POS_X,\r
-        IMM64_IMM41c_VAL_POS_X\r
-        );\r
-\r
-      INS_IMM64 (\r
-        FixupVal,\r
-        ((UINT32 *) Fixup + IMM64_SIGN_INST_WORD_X),\r
-        IMM64_SIGN_SIZE_X,\r
-        IMM64_SIGN_INST_WORD_POS_X,\r
-        IMM64_SIGN_VAL_POS_X\r
-        );\r
-\r
-      *(UINT64 *) (*FixupData) = *F64;\r
-    }\r
-\r
-    *FixupData = *FixupData + sizeof (UINT64);\r
-    break;\r
-\r
-  default:\r
-    DEBUG ((EFI_D_ERROR, "PeHotRelocateEx:unknown fixed type\n"));\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
 \r
 //\r
 // Cache Flush Routine.\r