From 203541da119cad61096fda20b3ff8a8cb5906fd6 Mon Sep 17 00:00:00 2001
From: bunnei <ericbunnie@gmail.com>
Date: Tue, 20 May 2014 21:02:35 -0400
Subject: [PATCH] thread: added correct lowest thread priority, added a thread
 priority check, and added some comments

---
 src/core/hle/kernel/thread.cpp |  3 +++
 src/core/hle/kernel/thread.h   | 13 +++++++------
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index af9188faa3..294e03ca62 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -223,6 +223,9 @@ void ResumeThreadFromWait(Handle handle) {
 Thread* CreateThread(Handle& handle, const char* name, u32 entry_point, s32 priority,
     s32 processor_id, u32 stack_top, int stack_size) {
 
+    _assert_msg_(KERNEL, (priority >= THREADPRIO_HIGHEST && priority <= THREADPRIO_LOWEST), 
+        "CreateThread priority=%d, outside of allowable range!", priority)
+
     Thread* t = new Thread;
     
     handle = Kernel::g_object_pool.Create(t);
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index bb48ddc79b..0d1fe19bf2 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -8,15 +8,16 @@
 #include "core/hle/kernel/kernel.h"
 
 enum ThreadPriority {
-    THREADPRIO_HIGHEST      = 0,
-    THREADPRIO_DEFAULT      = 16,
-    THREADPRIO_LOWEST       = 31,
+    THREADPRIO_HIGHEST      = 0,    ///< Highest thread priority
+    THREADPRIO_DEFAULT      = 16,   ///< Default thread priority for userland apps
+    THREADPRIO_LOW          = 31,   ///< Low range of thread priority for userland apps
+    THREADPRIO_LOWEST       = 63,   ///< Thread priority max checked by svcCreateThread
 };
 
 enum ThreadProcessorId {
-    THREADPROCESSORID_0     = 0xFFFFFFFE,
-    THREADPROCESSORID_1     = 0xFFFFFFFD,
-    THREADPROCESSORID_ALL   = 0xFFFFFFFC,
+    THREADPROCESSORID_0     = 0xFFFFFFFE,   ///< Enables core appcode
+    THREADPROCESSORID_1     = 0xFFFFFFFD,   ///< Enables core syscore
+    THREADPROCESSORID_ALL   = 0xFFFFFFFC,   ///< Enables both cores
 };
 
 namespace Kernel {
-- 
GitLab