diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-01 09:29:31 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-01 09:29:31 +0200 |
| commit | fc0d38259fd6670966b916b1f28a11f3cb2a4c45 (patch) | |
| tree | 2a54c64137eae7ffacfcb1842a92335b0e41b39b /Kernel/Sources/SMPManager.cxx | |
| parent | c8b9625efaeae241d57cc8a40c3234807206e386 (diff) | |
MHR-23: SMP: Add hal_send_start_ipi and hal_send_end_ipi, as well as
DMA utilities.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Kernel/Sources/SMPManager.cxx')
| -rw-r--r-- | Kernel/Sources/SMPManager.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Kernel/Sources/SMPManager.cxx b/Kernel/Sources/SMPManager.cxx index b2f239e3..29e0fa26 100644 --- a/Kernel/Sources/SMPManager.cxx +++ b/Kernel/Sources/SMPManager.cxx @@ -5,7 +5,7 @@ ------------------------------------------- */ #include <ArchKit/ArchKit.hpp> -#include <KernelKit/ProcessScheduler.hpp> +#include <KernelKit/ProcessScheduler.hxx> #include <KernelKit/SMPManager.hpp> ///! BUGS: 0 @@ -95,7 +95,6 @@ namespace NewOS { /// Keep the arguments, switch the base pointer, stack pointer /// fs and gs registers. - fStack->Rbp = stack->Rbp; fStack->Rsp = stack->Rsp; fStack->Fs = stack->Fs; @@ -103,6 +102,7 @@ namespace NewOS } rt_do_context_switch(fStack); + return true; } @@ -172,6 +172,8 @@ namespace NewOS rt_copy_memory(stack, fThreadList[idx].Leak().Leak().fStack, sizeof(HAL::StackFrame)); + fThreadList[idx].Leak().Leak().Switch(fThreadList[idx].Leak().Leak().fStack); + fThreadList[idx].Leak().Leak().fPID = ProcessHelper::GetCurrentPID(); fThreadList[idx].Leak().Leak().Busy(false); |
