From 86e291120d124dec7244202b1766901a59dfb2e6 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Thu, 1 Aug 2024 18:25:14 +0200 Subject: [IMP] newoskrnl: Add symbol for cred_construct_token, reworked ProcessHeap, new SCI.hxx for SCI and SCM. [IMP] newosldr: Loads the kernel correctly and can launch it, improved erorr handling. [META] newoskrnl, newosldr: Improved code and refactors. Signed-off-by: Amlal EL Mahrouss --- Boot/Sources/HEL/AMD64/BootJump.S | 6 ++++-- Boot/Sources/HEL/AMD64/BootMain.cxx | 11 +---------- 2 files changed, 5 insertions(+), 12 deletions(-) (limited to 'Boot/Sources/HEL') diff --git a/Boot/Sources/HEL/AMD64/BootJump.S b/Boot/Sources/HEL/AMD64/BootJump.S index fc7b3c68..7c2fcbc4 100644 --- a/Boot/Sources/HEL/AMD64/BootJump.S +++ b/Boot/Sources/HEL/AMD64/BootJump.S @@ -8,11 +8,13 @@ @brief this function setups a stack and then jumps to a function */ rt_jump_to_address: - mov r8, rsp + mov rsp, r8 push rax push rdx - jmp rcx + mov rbx, rcx + mov rcx, rdx + jmp rbx pop rdx pop rax diff --git a/Boot/Sources/HEL/AMD64/BootMain.cxx b/Boot/Sources/HEL/AMD64/BootMain.cxx index 5e0c8b05..56ef0457 100644 --- a/Boot/Sources/HEL/AMD64/BootMain.cxx +++ b/Boot/Sources/HEL/AMD64/BootMain.cxx @@ -243,16 +243,7 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, loader->SetName("\"newoskrnl.exe\" (64-bit MP)"); } - if (!loader->IsValid()) - { - writer.Write("newosldr: Invalid kernel image!\r"); - - EFI::Stop(); - - CANT_REACH(); - } - - writer.Write("newosldr: ").Write(loader->GetName()).Write("\r"); + writer.Write("newosldr: Running: ").Write(loader->GetName()).Write("\r"); CopyMem(handoverHdrPtr->f_CommandLine[0], "/SMP", StrLen("/SMP")); -- cgit v1.2.3