summaryrefslogtreecommitdiffhomepage
path: root/dev/boot
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-21 10:19:07 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-21 10:19:07 +0200
commit58d2af14429be02b580cde5b3e23978530d8ab74 (patch)
tree0fef311e8922aed216303eece4a745d3674feb81 /dev/boot
parentc85a99c2afdd4c9dfa9d8f0f212e4625b6adade7 (diff)
feat(kernel): Architectural changes, and introducing a kKernelVM.
see code for more details. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/boot')
-rw-r--r--dev/boot/src/BootThread.cc3
-rw-r--r--dev/boot/src/HEL/AMD64/BootEFI.cc2
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);