summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/HardwareThreadScheduler.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-18 15:15:52 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-18 15:15:52 +0200
commit0266d8058990a496b935abd76417abcfe4e9cffd (patch)
treedb4ffa8b49575ff2f81b98d3dfc078d87a4eb2f5 /dev/kernel/src/HardwareThreadScheduler.cc
parent163f32fbfbfa2fb0744787769fb3d4865f57d8dd (diff)
dev(sched): Improvements and work in progress fixes.
what? - The main algorithm got improved for real time tasks, and SMP usage. - The SMP usage was present before, I just reintroduced it after realizing that it won't scale well from what I have right now. - Also removed weird implementations quirks from previous sketch. - Such as the core 0 being reserved for the boot core. - Also moved FS init code after IDT initalization. - To avoid weird FS format behavior. - Wrap HPET signature in a macro. next? - Work on the HAL's userspace transition mechanism. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/HardwareThreadScheduler.cc')
-rw-r--r--dev/kernel/src/HardwareThreadScheduler.cc8
1 files changed, 2 insertions, 6 deletions
diff --git a/dev/kernel/src/HardwareThreadScheduler.cc b/dev/kernel/src/HardwareThreadScheduler.cc
index 6cb83b3d..eda68104 100644
--- a/dev/kernel/src/HardwareThreadScheduler.cc
+++ b/dev/kernel/src/HardwareThreadScheduler.cc
@@ -158,12 +158,8 @@ HAL::StackFramePtr HardwareThreadScheduler::Leak() noexcept {
*/
/***********************************************************************************/
Ref<HardwareThread*> HardwareThreadScheduler::operator[](SizeT idx) {
- if (idx == 0) {
- if (fThreadList[idx].Kind() != kAPSystemReserved) {
- fThreadList[idx].fKind = kAPBoot;
- }
- } else if (idx >= kMaxAPInsideSched) {
- static HardwareThread* kFakeThread = nullptr;
+ if (idx >= kMaxAPInsideSched) {
+ STATIC HardwareThread* kFakeThread = nullptr;
return {kFakeThread};
}