Просмотр исходного кода

thread: added correct lowest thread priority, added a thread priority check, and added some comments

bunnei 12 лет назад
Родитель
Сommit
203541da11
2 измененных файлов с 10 добавлено и 6 удалено
  1. 3 0
      src/core/hle/kernel/thread.cpp
  2. 7 6
      src/core/hle/kernel/thread.h

+ 3 - 0
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);

+ 7 - 6
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 {