From a9ac78b47dd040e04afc4990dace2472df2302e4 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 13 Feb 2024 15:41:34 +0100 Subject: HCR-15: fix GApplication class, add static on Shared() function. Signed-off-by: Amlal El Mahrouss --- Private/NewBoot/Source/RuntimeMain.cxx | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'Private/NewBoot/Source') diff --git a/Private/NewBoot/Source/RuntimeMain.cxx b/Private/NewBoot/Source/RuntimeMain.cxx index a520b980..a6e4015c 100644 --- a/Private/NewBoot/Source/RuntimeMain.cxx +++ b/Private/NewBoot/Source/RuntimeMain.cxx @@ -15,15 +15,7 @@ #include #include -namespace Detail { -constexpr Int32 kBufferReadSz = 2048; - -auto FindPEHeader(DosHeaderPtr ptrDos) -> ExecHeaderPtr { - if (!ptrDos) return nullptr; - - return (ExecHeaderPtr)(&ptrDos->eLfanew + 1); -} -} // namespace Detail +#define kBufferReadSz 2048 EFI_EXTERN_C EFI_API Int EfiMain(EfiHandlePtr ImageHandle, EfiSystemTable* SystemTable) { @@ -54,17 +46,17 @@ EFI_EXTERN_C EFI_API Int EfiMain(EfiHandlePtr ImageHandle, BFileReader img(L"HCOREKRNL.EXE", ImageHandle); - img.Size() = Detail::kBufferReadSz; + img.Size() = kBufferReadSz; img.Read(); if (img.Error() == BFileReader::kOperationOkay) { BlobType blob = (BlobType)img.Blob(); - DosHeaderPtr ptrDos = reinterpret_cast(blob); - ExecHeaderPtr ptrHdr = Detail::FindPEHeader(ptrDos); + ExecHeaderPtr ptrHdr = reinterpret_cast( + HCore::rt_find_exec_header(reinterpret_cast(blob))); - if (ptrDos->eMagic[0] == kMagMz0 && ptrDos->eMagic[1] == kMagMz1 && - ptrHdr->mMachine == EFI::Platform() && ptrHdr->mMagic == kPeMagic) { + if (ptrHdr && ptrHdr->mMachine == EFI::Platform() && + ptrHdr->mMagic == kPeMagic) { if (ptrHdr->mNumberOfSections > 1) { UInt64 MapKey = 0; -- cgit v1.2.3