summaryrefslogtreecommitdiffhomepage
path: root/Boot
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-07-31 00:13:51 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-07-31 00:13:51 +0200
commit3bfb95803ba25a04ddb57ebbc0f25e4dec29d7e0 (patch)
tree94fc17899142c1631797b9b6257b04359282741b /Boot
parent659435af7da4ffb15a309063c892b518707fa9d0 (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.cxx16
-rw-r--r--Boot/amd64-efi.make2
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__