From 0bb0eb7952edbe2d14a071abe9eeff6e8b1b51ee Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 21 Oct 2024 09:35:23 +0200 Subject: IMP: Improved many things, and looking at how to fix the interrupts issue. Signed-off-by: Amlal El Mahrouss --- dev/zba/src/BootFileReader.cxx | 8 ++++---- dev/zba/src/Thread.cxx | 11 ++++------- 2 files changed, 8 insertions(+), 11 deletions(-) (limited to 'dev/zba/src') diff --git a/dev/zba/src/BootFileReader.cxx b/dev/zba/src/BootFileReader.cxx index 6ed1f58d..b1969761 100644 --- a/dev/zba/src/BootFileReader.cxx +++ b/dev/zba/src/BootFileReader.cxx @@ -126,7 +126,7 @@ Boot::BFileReader::~BFileReader() @param **readUntil** size of file @param **chunkToRead** chunk to read each time. */ -Void Boot::BFileReader::ReadAll(SizeT readUntil, SizeT chunkToRead, UIntPtr outAddress) +Void Boot::BFileReader::ReadAll(SizeT readUntil, SizeT chunkToRead, UIntPtr out_address) { if (mBlob == nullptr) { @@ -142,10 +142,10 @@ Void Boot::BFileReader::ReadAll(SizeT readUntil, SizeT chunkToRead, UIntPtr outA else if (readUntil < 1) readUntil = newPtrInfo.FileSize; - mWriter.Write(L"NEWOSLDR: SIZE: ").Write(readUntil).Write("\r"); + mWriter.Write(L"NEWOSLDR: FileSize: ").Write(readUntil).Write("\r"); } - if (!outAddress) + if (!out_address) { if (auto err = BS->AllocatePool(EfiLoaderCode, readUntil, (VoidPtr*)&mBlob) != kEfiOk) @@ -156,7 +156,7 @@ Void Boot::BFileReader::ReadAll(SizeT readUntil, SizeT chunkToRead, UIntPtr outA } else { - mBlob = (VoidPtr)outAddress; + mBlob = (VoidPtr)out_address; } } diff --git a/dev/zba/src/Thread.cxx b/dev/zba/src/Thread.cxx index 46b9030b..6d527fce 100644 --- a/dev/zba/src/Thread.cxx +++ b/dev/zba/src/Thread.cxx @@ -102,7 +102,7 @@ namespace Boot if (StrCmp(sectionForCode, sect->mName) == 0) { fStartAddress = (VoidPtr)((UIntPtr)loadStartAddress + opt_header_ptr->mAddressOfEntryPoint); - writer.Write("NEWOSLDR: ENTRY OF EXE: ").Write((UIntPtr)fStartAddress).Write("\r"); + writer.Write("NEWOSLDR: Executable entry address: ").Write((UIntPtr)fStartAddress).Write("\r"); } else if (StrCmp(sectionForNewLdr, sect->mName) == 0) { @@ -120,28 +120,25 @@ namespace Boot #ifdef __ZKA_AMD64__ if (handover_struc->HandoverArch != HEL::kArchAMD64) { - writer.Write("NEWOSLDR: ARCH OF EXE: ").Write(handover_struc->HandoverArch).Write("\r"); - writer.Write("NEWOSLDR: ENTRY OF EXE: ").Write((UIntPtr)fStartAddress).Write("\r"); CGDrawString("NEWOSLDR: NOT AN HANDOVER IMAGE, BAD ARCHITECTURE...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); + ::EFI::Stop(); } #endif #ifdef __ZKA_ARM64__ if (handover_struc->HandoverArch != HEL::kArchARM64) { - writer.Write("NEWOSLDR: ARCH OF EXE: ").Write(handover_struc->HandoverArch).Write("\r"); - writer.Write("NEWOSLDR: ENTRY OF EXE: ").Write((UIntPtr)fStartAddress).Write("\r"); CGDrawString("NEWOSLDR: NOT AN HANDOVER IMAGE, BAD ARCHITECTURE...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); + ::EFI::Stop(); } #endif - writer.Write("NEWOSLDR: ENTRY OF EXE: ").Write((UIntPtr)fStartAddress).Write("\r"); CGDrawString("NEWOSLDR: NOT AN HANDOVER IMAGE...", 40, 10, RGB(0xFF, 0xFF, 0xFF)); ::EFI::Stop(); } } - writer.Write("NEWOSLDR: OFFSET ").Write(sect->mPointerToRawData).Write(" of ").Write(sect->mName).Write("\r"); + writer.Write("NEWOSLDR: Raw offset: ").Write(sect->mPointerToRawData).Write(" of ").Write(sect->mName).Write("\r"); CopyMem((VoidPtr)(loadStartAddress + sect->mVirtualAddress), (VoidPtr)((UIntPtr)fBlob + sect->mPointerToRawData), sect->mSizeOfRawData); } -- cgit v1.2.3