diff options
| author | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-07-31 00:13:51 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-07-31 00:13:51 +0200 |
| commit | 3bfb95803ba25a04ddb57ebbc0f25e4dec29d7e0 (patch) | |
| tree | 94fc17899142c1631797b9b6257b04359282741b /Boot | |
| parent | 659435af7da4ffb15a309063c892b518707fa9d0 (diff) | |
[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 <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Boot')
| -rw-r--r-- | Boot/Sources/HEL/AMD64/BootMain.cxx | 16 | ||||
| -rw-r--r-- | Boot/amd64-efi.make | 2 |
2 files changed, 16 insertions, 2 deletions
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__ |
