summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/svc.cpp2
-rw-r--r--src/core/hle/kernel/thread.h21
2 files changed, 16 insertions, 7 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index e5d4d6b55..bb12f9ac7 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -1776,7 +1776,7 @@ static ResultCode SetThreadCoreMask(Core::System& system, Handle thread_handle,
1776 1776
1777 if (core == OnlyChangeMask) { 1777 if (core == OnlyChangeMask) {
1778 core = thread->GetIdealCore(); 1778 core = thread->GetIdealCore();
1779 } else if (core >= Core::NUM_CPU_CORES && core != static_cast<u32>(-1)) { 1779 } else if (core >= Core::NUM_CPU_CORES && core != static_cast<u32>(THREADPROCESSORID_DONT_UPDATE)) {
1780 LOG_ERROR(Kernel_SVC, "Invalid core specified, got {}", core); 1780 LOG_ERROR(Kernel_SVC, "Invalid core specified, got {}", core);
1781 return ERR_INVALID_PROCESSOR_ID; 1781 return ERR_INVALID_PROCESSOR_ID;
1782 } 1782 }
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index 83c83e45a..c340a801d 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -30,12 +30,21 @@ enum ThreadPriority : u32 {
30}; 30};
31 31
32enum ThreadProcessorId : s32 { 32enum ThreadProcessorId : s32 {
33 THREADPROCESSORID_IDEAL = -2, ///< Run thread on the ideal core specified by the process. 33 /// Indicates that no particular processor core is preferred.
34 THREADPROCESSORID_0 = 0, ///< Run thread on core 0 34 THREADPROCESSORID_DONT_CARE = -1,
35 THREADPROCESSORID_1 = 1, ///< Run thread on core 1 35
36 THREADPROCESSORID_2 = 2, ///< Run thread on core 2 36 /// Run thread on the ideal core specified by the process.
37 THREADPROCESSORID_3 = 3, ///< Run thread on core 3 37 THREADPROCESSORID_IDEAL = -2,
38 THREADPROCESSORID_MAX = 4, ///< Processor ID must be less than this 38
39 /// Indicates that the preferred processor ID shouldn't be updated in
40 /// a core mask setting operation.
41 THREADPROCESSORID_DONT_UPDATE = -3,
42
43 THREADPROCESSORID_0 = 0, ///< Run thread on core 0
44 THREADPROCESSORID_1 = 1, ///< Run thread on core 1
45 THREADPROCESSORID_2 = 2, ///< Run thread on core 2
46 THREADPROCESSORID_3 = 3, ///< Run thread on core 3
47 THREADPROCESSORID_MAX = 4, ///< Processor ID must be less than this
39 48
40 /// Allowed CPU mask 49 /// Allowed CPU mask
41 THREADPROCESSORID_DEFAULT_MASK = (1 << THREADPROCESSORID_0) | (1 << THREADPROCESSORID_1) | 50 THREADPROCESSORID_DEFAULT_MASK = (1 << THREADPROCESSORID_0) | (1 << THREADPROCESSORID_1) |