From 8c179d8801df7f5f77fe7ec65a0a98b7901dad09 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 6 Jan 2025 14:52:09 +0100 Subject: KAN-11: Half-done on AMD64, not yet started on ARM64. KAN-12: Found GPF issue on DriveMgr, working on it. ADD: Improvement of the BootThread class. Signed-off-by: Amlal El Mahrouss --- dev/Boot/amd64-desktop.make | 4 ++-- dev/Boot/src/BootThread.cc | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'dev/Boot') diff --git a/dev/Boot/amd64-desktop.make b/dev/Boot/amd64-desktop.make index 5b1b1096..36cba61a 100644 --- a/dev/Boot/amd64-desktop.make +++ b/dev/Boot/amd64-desktop.make @@ -29,10 +29,10 @@ IMG=epm-master-1.img IMG_2=epm-slave.img IMG_3=epm-master-2.img -EMU_FLAGS=-net none -smp 1 -m 8G -M q35 \ +EMU_FLAGS=-net none -smp 4 -m 8G -M q35 \ -bios $(BIOS) -drive \ file=fat:rw:src/Root/,index=2,format=raw \ - -serial stdio + -d int LD_FLAGS=-e Main --subsystem=10 diff --git a/dev/Boot/src/BootThread.cc b/dev/Boot/src/BootThread.cc index e874c758..61f3e805 100644 --- a/dev/Boot/src/BootThread.cc +++ b/dev/Boot/src/BootThread.cc @@ -185,15 +185,19 @@ namespace Boot if (own_stack) { - return rt_jump_to_address(fStartAddress, fHandover, &fStack[mib_cast(8) - 1]); + rt_jump_to_address(fStartAddress, fHandover, &fStack[mib_cast(8) - 1]); } else { - delete[] fStack; + if (fStack) + delete[] fStack; + + fStack = nullptr; + return reinterpret_cast(fStartAddress)(fHandover); } - return NO; + return kEfiOk; } const Char* BootThread::GetName() -- cgit v1.2.3