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 {