summaryrefslogtreecommitdiffhomepage
path: root/Boot/Sources/HEL
diff options
context:
space:
mode:
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"));