diff options
Diffstat (limited to 'Boot/Sources/HEL')
| -rw-r--r-- | Boot/Sources/HEL/AMD64/BootJump.S | 6 | ||||
| -rw-r--r-- | Boot/Sources/HEL/AMD64/BootMain.cxx | 11 |
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")); |
