From e1b8ba28465ac52638d849fb4179eceb55e257ab Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 23 Oct 2025 09:40:53 +0200 Subject: fix: kernel: HTS is now indexing hwthread correctly. Signed-off-by: Amlal El Mahrouss --- dev/kernel/KernelKit/HardwareThreadScheduler.h | 2 +- dev/kernel/src/HardwareThreadScheduler.cc | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'dev/kernel') diff --git a/dev/kernel/KernelKit/HardwareThreadScheduler.h b/dev/kernel/KernelKit/HardwareThreadScheduler.h index 76327a93..e26a353a 100644 --- a/dev/kernel/KernelKit/HardwareThreadScheduler.h +++ b/dev/kernel/KernelKit/HardwareThreadScheduler.h @@ -120,7 +120,7 @@ class HardwareThreadScheduler final : public ISchedulable { private: Array fThreadList; - ThreadID fCurrentThread{0}; + ThreadID fCurrentThreadIdx{0}; }; /// @brief wakes up thread. diff --git a/dev/kernel/src/HardwareThreadScheduler.cc b/dev/kernel/src/HardwareThreadScheduler.cc index 86f46718..a4b6b4b8 100644 --- a/dev/kernel/src/HardwareThreadScheduler.cc +++ b/dev/kernel/src/HardwareThreadScheduler.cc @@ -134,7 +134,7 @@ HardwareThreadScheduler& HardwareThreadScheduler::The() { /// @brief Get Stack Frame of AP. /***********************************************************************************/ HAL::StackFramePtr HardwareThreadScheduler::Leak() noexcept { - return fThreadList[fCurrentThread].fStack; + return fThreadList[fCurrentThreadIdx].fStack; } /***********************************************************************************/ @@ -150,6 +150,7 @@ Ref HardwareThreadScheduler::operator[](SizeT idx) { return {kFakeThread}; } + fCurrentThreadIdx = idx; return &fThreadList[idx]; } -- cgit v1.2.3