diff options
Diffstat (limited to 'dev/boot')
| -rw-r--r-- | dev/boot/src/BootThread.cc | 3 | ||||
| -rw-r--r-- | dev/boot/src/HEL/AMD64/BootEFI.cc | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/dev/boot/src/BootThread.cc b/dev/boot/src/BootThread.cc index ada864bb..b502b52e 100644 --- a/dev/boot/src/BootThread.cc +++ b/dev/boot/src/BootThread.cc @@ -175,6 +175,9 @@ Int32 BootThread::Start(HEL::BootInfoHeader* handover, Bool own_stack) { writer.Write("BootZ: Stack address: ").Write((UIntPtr) &fStack[mib_cast(16) - 1]).Write("\r"); writer.Write("BootZ: Stack size: ").Write(mib_cast(16)).Write("\r"); + fHandover->f_StackTop = &fStack[mib_cast(16) - 1]; + fHandover->f_StackSz = mib_cast(16); + auto ret = rt_jump_to_address(fStartAddress, fHandover, &fStack[mib_cast(16) - 1]); // we don't need the stack anymore. diff --git a/dev/boot/src/HEL/AMD64/BootEFI.cc b/dev/boot/src/HEL/AMD64/BootEFI.cc index 45566d6c..33dfd3ca 100644 --- a/dev/boot/src/HEL/AMD64/BootEFI.cc +++ b/dev/boot/src/HEL/AMD64/BootEFI.cc @@ -243,7 +243,7 @@ EFI_EXTERN_C EFI_API Int32 BootloaderMain(EfiHandlePtr image_handle, EfiSystemTa handover_hdr->f_KernelImage = reader_kernel.Blob(); handover_hdr->f_KernelSz = reader_kernel.Size(); - kernel_thread.Start(handover_hdr, NO); + kernel_thread.Start(handover_hdr, YES); } Boot::BootFileReader reader_netboot(L"net.efi", image_handle); |
