aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc/svc_thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/svc/svc_thread.cpp')
-rw-r--r--src/core/hle/kernel/svc/svc_thread.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/hle/kernel/svc/svc_thread.cpp b/src/core/hle/kernel/svc/svc_thread.cpp
index 9838e68476..7f6b959256 100644
--- a/src/core/hle/kernel/svc/svc_thread.cpp
+++ b/src/core/hle/kernel/svc/svc_thread.cpp
@@ -20,8 +20,8 @@ constexpr bool IsValidVirtualCoreId(int32_t core_id) {
return (0 <= core_id && core_id < static_cast<int32_t>(Core::Hardware::NUM_CPU_CORES));
}
-// Switch 2 processes may be given virtual cores 4 and 5 (core mask 0x3f). Only four cores are
-// emulated, so fold the extra ones back onto 0..3, both in core ids and in affinity masks.
+// Switch 2 hardware has eight cores. Six are emulated (the most an application is given), so
+// fold any id past them back onto the low cores, both in core ids and in affinity masks.
constexpr int32_t FoldExtraCoreId(int32_t core_id) {
constexpr auto num_cores = static_cast<int32_t>(Core::Hardware::NUM_CPU_CORES);
return core_id >= num_cores && core_id < 2 * num_cores ? core_id - num_cores : core_id;