summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2019-06-21 15:25:50 -0400
committerGravatar GitHub2019-06-21 15:25:50 -0400
commit8f8fa82c832f3d98d76857c9f65f6587f0249a1e (patch)
treef5a0aa3299468002c480367932b1f79e58c0e731 /src/core/hle/kernel/kernel.cpp
parentMerge pull request #2546 from DarkLordZach/kips (diff)
parentkernel: Differentiate kernel and user processes when picking ID (diff)
downloadyuzu-8f8fa82c832f3d98d76857c9f65f6587f0249a1e.tar.gz
yuzu-8f8fa82c832f3d98d76857c9f65f6587f0249a1e.tar.xz
yuzu-8f8fa82c832f3d98d76857c9f65f6587f0249a1e.zip
Merge pull request #2575 from DarkLordZach/process-id-types
kernel: Differentiate kernel and user processes when picking ID
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
-rw-r--r--src/core/hle/kernel/kernel.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 757e5f21f..799e5e0d8 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -99,7 +99,8 @@ struct KernelCore::Impl {
99 99
100 void Shutdown() { 100 void Shutdown() {
101 next_object_id = 0; 101 next_object_id = 0;
102 next_process_id = Process::ProcessIDMin; 102 next_kernel_process_id = Process::InitialKIPIDMin;
103 next_user_process_id = Process::ProcessIDMin;
103 next_thread_id = 1; 104 next_thread_id = 1;
104 105
105 process_list.clear(); 106 process_list.clear();
@@ -132,7 +133,8 @@ struct KernelCore::Impl {
132 } 133 }
133 134
134 std::atomic<u32> next_object_id{0}; 135 std::atomic<u32> next_object_id{0};
135 std::atomic<u64> next_process_id{Process::ProcessIDMin}; 136 std::atomic<u64> next_kernel_process_id{Process::InitialKIPIDMin};
137 std::atomic<u64> next_user_process_id{Process::ProcessIDMin};
136 std::atomic<u64> next_thread_id{1}; 138 std::atomic<u64> next_thread_id{1};
137 139
138 // Lists all processes that exist in the current session. 140 // Lists all processes that exist in the current session.
@@ -226,8 +228,12 @@ u64 KernelCore::CreateNewThreadID() {
226 return impl->next_thread_id++; 228 return impl->next_thread_id++;
227} 229}
228 230
229u64 KernelCore::CreateNewProcessID() { 231u64 KernelCore::CreateNewKernelProcessID() {
230 return impl->next_process_id++; 232 return impl->next_kernel_process_id++;
233}
234
235u64 KernelCore::CreateNewUserProcessID() {
236 return impl->next_user_process_id++;
231} 237}
232 238
233Core::Timing::EventType* KernelCore::ThreadWakeupCallbackEventType() const { 239Core::Timing::EventType* KernelCore::ThreadWakeupCallbackEventType() const {