diff options
| author | bunnei <bunneidev@gmail.com> | 2022-09-05 18:19:30 -0700 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2022-10-18 19:13:34 -0700 |
| commit | 57a77e9ff4b4a63c106c0ac3448a8f1452b5384c (patch) | |
| tree | fda85e063fac9e098ebd7848d8de2ae3ef6b7e45 /src/core/hle/kernel/k_interrupt_manager.cpp | |
| parent | d02ccfb15d1f3d4fcdb9feae60ae136fcfd99788 (diff) | |
core: hle: kernel: k_thread: Implement thread termination DPC.
Diffstat (limited to 'src/core/hle/kernel/k_interrupt_manager.cpp')
| -rw-r--r-- | src/core/hle/kernel/k_interrupt_manager.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_interrupt_manager.cpp b/src/core/hle/kernel/k_interrupt_manager.cpp index 1b577a5b3..ad73f3eab 100644 --- a/src/core/hle/kernel/k_interrupt_manager.cpp +++ b/src/core/hle/kernel/k_interrupt_manager.cpp @@ -36,4 +36,12 @@ void HandleInterrupt(KernelCore& kernel, s32 core_id) { kernel.CurrentScheduler()->RequestScheduleOnInterrupt(); } +void SendInterProcessorInterrupt(KernelCore& kernel, u64 core_mask) { + for (std::size_t core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; ++core_id) { + if (core_mask & (1ULL << core_id)) { + kernel.PhysicalCore(core_id).Interrupt(); + } + } +} + } // namespace Kernel::KInterruptManager |
