summaryrefslogtreecommitdiffhomepage
path: root/dev/Boot
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-06 14:52:09 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-06 14:53:26 +0100
commit8c179d8801df7f5f77fe7ec65a0a98b7901dad09 (patch)
tree788ccdfd9e56e1b0402cc7b4b1af7d792888fd68 /dev/Boot
parente0633b442140d49e08af6759bd07c89e16ef0e2a (diff)
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 <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Boot')
-rw-r--r--dev/Boot/amd64-desktop.make4
-rw-r--r--dev/Boot/src/BootThread.cc10
2 files changed, 9 insertions, 5 deletions
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<HEL::HandoverProc>(fStartAddress)(fHandover);
}
- return NO;
+ return kEfiOk;
}
const Char* BootThread::GetName()