From 3bfb95803ba25a04ddb57ebbc0f25e4dec29d7e0 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Wed, 31 Jul 2024 00:13:51 +0200 Subject: [IMP] Can now pass arguments to kernel via handover, new version 0x0113. [IMP] Timeout functions for heap allocation. [IMP] new mp_ and sched_ category of functions. Signed-off-by: Amlal EL Mahrouss --- Boot/Sources/HEL/AMD64/BootMain.cxx | 16 +++++++++++++++- Boot/amd64-efi.make | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'Boot') diff --git a/Boot/Sources/HEL/AMD64/BootMain.cxx b/Boot/Sources/HEL/AMD64/BootMain.cxx index 3cd6c0e3..8705f4a8 100644 --- a/Boot/Sources/HEL/AMD64/BootMain.cxx +++ b/Boot/Sources/HEL/AMD64/BootMain.cxx @@ -197,6 +197,14 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, handoverHdrPtr->f_FirmwareVendorLen = BStrLen(SystemTable->FirmwareVendor); + // ------------------------------------------ // + // draw background color. + // ------------------------------------------ // + + CGInit(); + CGDrawInRegion(CGColor(0xaa, 0x00, 0x00), handoverHdrPtr->f_GOP.f_Height, handoverHdrPtr->f_GOP.f_Width, 0, 0); + CGFini(); + // ---------------------------------------------------- // // The following checks for an exisiting partition // inside the disk, if it doesn't have one, @@ -227,12 +235,18 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, Boot::ProgramLoader* loader = nullptr; + // ------------------------------------------ // + // If we succeed in reading the blob, then execute it. + // ------------------------------------------ // + if (readerKernel.Blob()) { loader = new Boot::ProgramLoader(readerKernel.Blob()); - loader->SetName("\"newoskrnl.exe\" (ZKA)"); + loader->SetName("\"newoskrnl.exe\" (ZKA 64-bit MP)"); } + writer.Write("Running: ").Write(loader->GetName()).Write("\r"); + #endif // ifdef __NEWOS_OTA__ EFI::ExitBootServices(*MapKey, ImageHandle); diff --git a/Boot/amd64-efi.make b/Boot/amd64-efi.make index f1e40d7a..d2873099 100644 --- a/Boot/amd64-efi.make +++ b/Boot/amd64-efi.make @@ -50,7 +50,7 @@ REM=rm REM_FLAG=-f FLAG_ASM=-f win64 -FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__KERNEL__ -D__NEWBOOT__ \ +FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -D__NEWOS_OTA__ -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__HAVE_MAHROUSS_APIS__ -D__NEWOS_AMD64__ -D__MAHROUSS__ -D__BOOTLOADER__ -- cgit v1.2.3