#include "Debug.h"\r
#include "Support.h"\r
\r
-STATIC\r
EFI_STATUS\r
EfiLdrPeCoffLoadPeRelocate (\r
IN EFILDR_LOADED_IMAGE *Image,\r
IN EFI_MEMORY_DESCRIPTOR *EfiMemoryDescriptor\r
);\r
\r
-STATIC\r
EFI_STATUS\r
EfiLdrPeCoffImageRead (\r
IN VOID *FHand,\r
OUT VOID *Buffer\r
);\r
\r
-STATIC\r
VOID *\r
EfiLdrPeCoffImageAddress (\r
IN EFILDR_LOADED_IMAGE *Image,\r
UINT32 NumberOfRvaAndSizes;\r
EFI_IMAGE_DATA_DIRECTORY *DataDirectory;\r
UINT64 ImageBase;\r
+ CHAR8 PrintBuffer[256];\r
\r
ZeroMem (&DosHdr, sizeof(DosHdr));\r
ZeroMem (&PeHdr, sizeof(PeHdr));\r
\r
EfiLdrPeCoffImageRead (FHand, 0, sizeof(DosHdr), &DosHdr);\r
if (DosHdr.e_magic != EFI_IMAGE_DOS_SIGNATURE) {\r
-// DEBUG ((D_LOAD, "PeCoffLoadPeImage: Dos header signature not found\n"));\r
-PrintHeader ('F');\r
+ AsciiSPrint (PrintBuffer, 256, "PeCoffLoadPeImage: Dos header signature not found\n");\r
+ PrintString (PrintBuffer);\r
+ PrintHeader ('F');\r
return EFI_UNSUPPORTED;\r
}\r
\r
EfiLdrPeCoffImageRead (FHand, DosHdr.e_lfanew, sizeof(PeHdr), &PeHdr);\r
\r
if (PeHdr.Pe32.Signature != EFI_IMAGE_NT_SIGNATURE) {\r
-// DEBUG ((D_LOAD, "PeCoffLoadPeImage: PE image header signature not found\n"));\r
-PrintHeader ('G');\r
+ AsciiSPrint (PrintBuffer, 256, "PeCoffLoadPeImage: PE image header signature not found\n");\r
+ PrintString (PrintBuffer);\r
+ PrintHeader ('G');\r
return EFI_UNSUPPORTED;\r
}\r
\r
\r
Status = EfiLdrPeCoffSetImageType (Image, PeHdr.Pe32.OptionalHeader.Subsystem);\r
if (EFI_ERROR(Status)) {\r
-// DEBUG ((D_LOAD, "PeCoffLoadPeImage: Subsystem type not known\n"));\r
-PrintHeader ('H');\r
+ AsciiSPrint (PrintBuffer, 256, "PeCoffLoadPeImage: Subsystem type not known\n");\r
+ PrintString (PrintBuffer);\r
+ PrintHeader ('H');\r
return Status;\r
}\r
\r
\r
Status = EfiLdrPeCoffCheckImageMachineType (PeHdr.Pe32.FileHeader.Machine);\r
if (EFI_ERROR(Status)) {\r
-// DEBUG ((D_LOAD, "PeCoffLoadPeImage: Incorrect machine type\n"));\r
-PrintHeader ('I');\r
+ AsciiSPrint (PrintBuffer, 256, "PeCoffLoadPeImage: Incorrect machine type\n");\r
+ PrintString (PrintBuffer);\r
+ PrintHeader ('I');\r
return Status;\r
}\r
\r
}\r
\r
if (EFI_ERROR(Status)) {\r
-PrintHeader ('J');\r
+ PrintHeader ('J');\r
return Status;\r
}\r
\r
-// DEBUG((D_LOAD, "LoadPe: new image base %lx\n", Image->ImageBasePage));\r
+ AsciiSPrint (PrintBuffer, 256, "LoadPe: new image base %lx\n", Image->ImageBasePage);\r
+ PrintString (PrintBuffer);\r
Image->Info.ImageBase = (VOID *)(UINTN)Image->ImageBasePage;\r
Image->Info.ImageSize = (Image->NoPages << EFI_PAGE_SHIFT) - 1;\r
Image->ImageBase = (UINT8 *)(UINTN)Image->ImageBasePage;\r
);\r
\r
if (EFI_ERROR(Status)) {\r
-PrintHeader ('K');\r
+ PrintHeader ('K');\r
return Status;\r
}\r
\r
\r
if (EFI_ERROR(Status) || !Base || !End) {\r
// DEBUG((D_LOAD|D_ERROR, "LoadPe: Section %d was not loaded\n", Index));\r
-PrintHeader ('L');\r
+ PrintHeader ('L');\r
return EFI_LOAD_ERROR;\r
}\r
\r
);\r
\r
if (EFI_ERROR(Status)) {\r
-PrintHeader ('N');\r
+ PrintHeader ('N');\r
return Status;\r
}\r
}\r
return Status;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
EfiLdrPeCoffLoadPeRelocate (\r
IN EFILDR_LOADED_IMAGE *Image,\r
\r
case EFI_IMAGE_REL_BASED_LOW:\r
F16 = (UINT16 *) Fixup;\r
- *F16 = *F16 + (UINT16) Adjust;\r
+ *F16 = (UINT16) (*F16 + (UINT16) Adjust);\r
if (FixupData != NULL) {\r
*(UINT16 *) FixupData = *F16;\r
FixupData = FixupData + sizeof(UINT16);\r
return EFI_SUCCESS;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
EfiLdrPeCoffImageRead (\r
IN VOID *FHand,\r
return EFI_SUCCESS;\r
}\r
\r
-STATIC\r
VOID *\r
EfiLdrPeCoffImageAddress (\r
IN EFILDR_LOADED_IMAGE *Image,\r
\r
Status = EFI_UNSUPPORTED;\r
\r
-#if EFI32\r
+#ifdef EFI32\r
if (MachineType == EFI_IMAGE_MACHINE_IA32) {\r
Status = EFI_SUCCESS;\r
}\r
#endif\r
\r
-#if EFIX64\r
+#ifdef EFIX64\r
if (MachineType == EFI_IMAGE_MACHINE_X64) {\r
Status = EFI_SUCCESS;\r
}\r
#endif\r
\r
-#if EFI64\r
+#ifdef EFI64\r
if (MachineType == EFI_IMAGE_MACHINE_IA64) {\r
Status = EFI_SUCCESS;\r
}\r