summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_interrupt_manager.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-09-06 03:19:30 +0200
committerbunnei <bunneidev@gmail.com>2022-10-19 04:13:34 +0200
commit57a77e9ff4b4a63c106c0ac3448a8f1452b5384c (patch)
treefda85e063fac9e098ebd7848d8de2ae3ef6b7e45 /src/core/hle/kernel/k_interrupt_manager.cpp
parentcore: hle: kernel: Add KDynamicResourceManager. (diff)
downloadyuzu-57a77e9ff4b4a63c106c0ac3448a8f1452b5384c.tar
yuzu-57a77e9ff4b4a63c106c0ac3448a8f1452b5384c.tar.gz
yuzu-57a77e9ff4b4a63c106c0ac3448a8f1452b5384c.tar.bz2
yuzu-57a77e9ff4b4a63c106c0ac3448a8f1452b5384c.tar.lz
yuzu-57a77e9ff4b4a63c106c0ac3448a8f1452b5384c.tar.xz
yuzu-57a77e9ff4b4a63c106c0ac3448a8f1452b5384c.tar.zst
yuzu-57a77e9ff4b4a63c106c0ac3448a8f1452b5384c.zip
Diffstat (limited to 'src/core/hle/kernel/k_interrupt_manager.cpp')
-rw-r--r--src/core/hle/kernel/k_interrupt_manager.cpp8
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