diff options
Diffstat (limited to 'Boot')
| -rw-r--r-- | Boot/Sources/HEL/AMD64/BootMain.cxx | 2 | ||||
| -rw-r--r-- | Boot/Sources/ProgramLoader.cxx | 26 | ||||
| -rw-r--r-- | Boot/amd64-efi.make | 2 |
3 files changed, 15 insertions, 15 deletions
diff --git a/Boot/Sources/HEL/AMD64/BootMain.cxx b/Boot/Sources/HEL/AMD64/BootMain.cxx index 8946aadc..95d795ea 100644 --- a/Boot/Sources/HEL/AMD64/BootMain.cxx +++ b/Boot/Sources/HEL/AMD64/BootMain.cxx @@ -245,7 +245,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, if (loader) loader->Start(handoverHdrPtr); #else - hal_init_platform(handoverHdrPtr); + hal_init_platform(handoverHdrPtr); #endif // ifdef __NEWOS_OTA__ EFI::Stop(); diff --git a/Boot/Sources/ProgramLoader.cxx b/Boot/Sources/ProgramLoader.cxx index 5938c2a0..4ea0d4c6 100644 --- a/Boot/Sources/ProgramLoader.cxx +++ b/Boot/Sources/ProgramLoader.cxx @@ -20,7 +20,7 @@ EXTERN_C namespace Boot { - EXTERN_C Int32 rt_jump_to_address(HEL::HandoverProc baseCode, HEL::HandoverInformationHeader* handover, Char* stackPointer); + EXTERN_C Int32 rt_jump_to_address(HEL::HandoverProc baseCode, HEL::HandoverInformationHeader* handover, Char* stackPointer); ProgramLoader::ProgramLoader(VoidPtr blob) : fBlob(blob), fStartAddress(nullptr) @@ -39,14 +39,14 @@ namespace Boot if (firstBytes[0] == kMagMz0 && firstBytes[1] == kMagMz1) { - writer.Write("newosldr: MZ executable detected.\r"); + writer.Write("newosldr: MZ executable detected.\r"); - ExecHeaderPtr hdrPtr = (ldr_find_exec_header(firstBytes)); - ExecOptionalHeaderPtr optHdr = (ldr_find_opt_exec_header(firstBytes)); + ExecHeaderPtr hdrPtr = (ldr_find_exec_header(firstBytes)); + ExecOptionalHeaderPtr optHdr = (ldr_find_opt_exec_header(firstBytes)); // Parse PE32+ fStartAddress = (VoidPtr)((UIntPtr)optHdr->mImageBase + optHdr->mBaseOfCode + optHdr->mAddressOfEntryPoint); - fStackPtr = new Char[optHdr->mSizeOfStackReserve]; + fStackPtr = new Char[optHdr->mSizeOfStackReserve]; writer.Write("newosldr: Major Linker: ").Write(optHdr->mMajorLinkerVersion).Write("\r"); writer.Write("newosldr: Minor Linker: ").Write(optHdr->mMinorLinkerVersion).Write("\r"); @@ -73,21 +73,21 @@ namespace Boot /// @note handover header has to be valid! Void ProgramLoader::Start(HEL::HandoverInformationHeader* handover) { - BTextWriter writer; + BTextWriter writer; - if (!handover) + if (!handover || + ((Char*)fStartAddress)[0] == 0x0) { - writer.Write("newosldr: Exec format error.\r"); - return; + writer.Write("newosldr: Exec format error.\r"); + return; } writer.Write("newosldr: Trying to run: ").Write(fBlobName).Write("\r"); - if (!fStartAddress || - ((Char*)fStartAddress)[0] == 0x0) + if (!fStartAddress) { - HEL::HandoverProc fn = [](HEL::HandoverInformationHeader* rcx) -> void { - BTextWriter writer; + HEL::HandoverProc fn = [](HEL::HandoverInformationHeader* rcx) -> void { + BTextWriter writer; writer.Write("newosldr: Exec format error, Thread has been aborted.\r"); EFI::ThrowError(L"Exec-Format-Error", L"Format doesn't match (Thread aborted.)"); diff --git a/Boot/amd64-efi.make b/Boot/amd64-efi.make index af5864e2..b9a4fc1a 100644 --- a/Boot/amd64-efi.make +++ b/Boot/amd64-efi.make @@ -52,7 +52,7 @@ REM_FLAG=-f FLAG_ASM=-f win64 FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__KERNEL__ -D__NEWBOOT__ \ -DEFI_FUNCTION_WRAPPER -I./ -I../Vendor -I../Kernel -c -nostdlib -fno-rtti -fno-exceptions \ - -std=c++20 -D__NEWOS_OTA__ -D__HAVE_MAHROUSS_APIS__ -D__NEWOS_AMD64__ -D__MAHROUSS__ -D__BOOTLOADER__ + -std=c++20 -D__HAVE_MAHROUSS_APIS__ -D__NEWOS_AMD64__ -D__MAHROUSS__ -D__BOOTLOADER__ BOOT_LOADER=newosldr.exe KERNEL=newoskrnl.exe |
