summaryrefslogtreecommitdiffhomepage
path: root/Boot/Sources/HEL
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-01 18:25:14 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-01 18:25:14 +0200
commit86e291120d124dec7244202b1766901a59dfb2e6 (patch)
tree1aa92d3b8a05216941986cf2724ff20ad01b3884 /Boot/Sources/HEL
parentf9579f444b1791d2b73d4d841569728fb203cb29 (diff)
[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 <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Boot/Sources/HEL')
-rw-r--r--Boot/Sources/HEL/AMD64/BootJump.S6
-rw-r--r--Boot/Sources/HEL/AMD64/BootMain.cxx11
2 files changed, 5 insertions, 12 deletions
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"));