summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Lioncash2018-09-13 15:57:45 -0400
committerGravatar Lioncash2018-09-13 16:05:57 -0400
commit2ea45fe75b34ef01d4ef5ced825eddded21d1d33 (patch)
treed79664ce2f73c5d6fbc7277f757948a0d5043e90
parentMerge pull request #1308 from valentinvanelslande/ipc (diff)
downloadyuzu-2ea45fe75b34ef01d4ef5ced825eddded21d1d33.tar.gz
yuzu-2ea45fe75b34ef01d4ef5ced825eddded21d1d33.tar.xz
yuzu-2ea45fe75b34ef01d4ef5ced825eddded21d1d33.zip
kernel/thread: Include thread-related enums within the kernel namespace
Previously, these were sitting outside of the Kernel namespace, which doesn't really make sense, given they're related to the Thread class which is within the Kernel namespace.
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/thread.h12
-rw-r--r--src/core/hle/service/vi/vi.cpp2
-rw-r--r--src/core/loader/nro.cpp2
-rw-r--r--src/core/loader/nso.cpp3
-rw-r--r--src/yuzu/debugger/wait_tree.cpp58
5 files changed, 39 insertions, 38 deletions
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index 20f50458b..cb57ee78a 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -15,6 +15,12 @@
15#include "core/hle/kernel/wait_object.h" 15#include "core/hle/kernel/wait_object.h"
16#include "core/hle/result.h" 16#include "core/hle/result.h"
17 17
18namespace Kernel {
19
20class KernelCore;
21class Process;
22class Scheduler;
23
18enum ThreadPriority : u32 { 24enum ThreadPriority : u32 {
19 THREADPRIO_HIGHEST = 0, ///< Highest thread priority 25 THREADPRIO_HIGHEST = 0, ///< Highest thread priority
20 THREADPRIO_USERLAND_MAX = 24, ///< Highest thread priority for userland apps 26 THREADPRIO_USERLAND_MAX = 24, ///< Highest thread priority for userland apps
@@ -54,12 +60,6 @@ enum class ThreadWakeupReason {
54 Timeout // The thread was woken up due to a wait timeout. 60 Timeout // The thread was woken up due to a wait timeout.
55}; 61};
56 62
57namespace Kernel {
58
59class KernelCore;
60class Process;
61class Scheduler;
62
63class Thread final : public WaitObject { 63class Thread final : public WaitObject {
64public: 64public:
65 /** 65 /**
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp
index 85244ac3b..cf94b00e6 100644
--- a/src/core/hle/service/vi/vi.cpp
+++ b/src/core/hle/service/vi/vi.cpp
@@ -514,7 +514,7 @@ private:
514 ctx.SleepClientThread( 514 ctx.SleepClientThread(
515 Kernel::GetCurrentThread(), "IHOSBinderDriver::DequeueBuffer", -1, 515 Kernel::GetCurrentThread(), "IHOSBinderDriver::DequeueBuffer", -1,
516 [=](Kernel::SharedPtr<Kernel::Thread> thread, Kernel::HLERequestContext& ctx, 516 [=](Kernel::SharedPtr<Kernel::Thread> thread, Kernel::HLERequestContext& ctx,
517 ThreadWakeupReason reason) { 517 Kernel::ThreadWakeupReason reason) {
518 // Repeat TransactParcel DequeueBuffer when a buffer is available 518 // Repeat TransactParcel DequeueBuffer when a buffer is available
519 auto buffer_queue = nv_flinger->GetBufferQueue(id); 519 auto buffer_queue = nv_flinger->GetBufferQueue(id);
520 boost::optional<u32> slot = buffer_queue->DequeueBuffer(width, height); 520 boost::optional<u32> slot = buffer_queue->DequeueBuffer(width, height);
diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp
index bb89a9da3..c49ec34ab 100644
--- a/src/core/loader/nro.cpp
+++ b/src/core/loader/nro.cpp
@@ -191,7 +191,7 @@ ResultStatus AppLoader_NRO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
191 process->svc_access_mask.set(); 191 process->svc_access_mask.set();
192 process->resource_limit = 192 process->resource_limit =
193 kernel.ResourceLimitForCategory(Kernel::ResourceLimitCategory::APPLICATION); 193 kernel.ResourceLimitForCategory(Kernel::ResourceLimitCategory::APPLICATION);
194 process->Run(base_addr, THREADPRIO_DEFAULT, Memory::DEFAULT_STACK_SIZE); 194 process->Run(base_addr, Kernel::THREADPRIO_DEFAULT, Memory::DEFAULT_STACK_SIZE);
195 195
196 is_loaded = true; 196 is_loaded = true;
197 return ResultStatus::Success; 197 return ResultStatus::Success;
diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp
index 082a95d40..3c6306818 100644
--- a/src/core/loader/nso.cpp
+++ b/src/core/loader/nso.cpp
@@ -157,7 +157,8 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
157 process->svc_access_mask.set(); 157 process->svc_access_mask.set();
158 process->resource_limit = 158 process->resource_limit =
159 kernel.ResourceLimitForCategory(Kernel::ResourceLimitCategory::APPLICATION); 159 kernel.ResourceLimitForCategory(Kernel::ResourceLimitCategory::APPLICATION);
160 process->Run(Memory::PROCESS_IMAGE_VADDR, THREADPRIO_DEFAULT, Memory::DEFAULT_STACK_SIZE); 160 process->Run(Memory::PROCESS_IMAGE_VADDR, Kernel::THREADPRIO_DEFAULT,
161 Memory::DEFAULT_STACK_SIZE);
161 162
162 is_loaded = true; 163 is_loaded = true;
163 return ResultStatus::Success; 164 return ResultStatus::Success;
diff --git a/src/yuzu/debugger/wait_tree.cpp b/src/yuzu/debugger/wait_tree.cpp
index 6c2cd967e..dc1023113 100644
--- a/src/yuzu/debugger/wait_tree.cpp
+++ b/src/yuzu/debugger/wait_tree.cpp
@@ -213,35 +213,35 @@ QString WaitTreeThread::GetText() const {
213 const auto& thread = static_cast<const Kernel::Thread&>(object); 213 const auto& thread = static_cast<const Kernel::Thread&>(object);
214 QString status; 214 QString status;
215 switch (thread.status) { 215 switch (thread.status) {
216 case ThreadStatus::Running: 216 case Kernel::ThreadStatus::Running:
217 status = tr("running"); 217 status = tr("running");
218 break; 218 break;
219 case ThreadStatus::Ready: 219 case Kernel::ThreadStatus::Ready:
220 status = tr("ready"); 220 status = tr("ready");
221 break; 221 break;
222 case ThreadStatus::WaitHLEEvent: 222 case Kernel::ThreadStatus::WaitHLEEvent:
223 status = tr("waiting for HLE return"); 223 status = tr("waiting for HLE return");
224 break; 224 break;
225 case ThreadStatus::WaitSleep: 225 case Kernel::ThreadStatus::WaitSleep:
226 status = tr("sleeping"); 226 status = tr("sleeping");
227 break; 227 break;
228 case ThreadStatus::WaitIPC: 228 case Kernel::ThreadStatus::WaitIPC:
229 status = tr("waiting for IPC reply"); 229 status = tr("waiting for IPC reply");
230 break; 230 break;
231 case ThreadStatus::WaitSynchAll: 231 case Kernel::ThreadStatus::WaitSynchAll:
232 case ThreadStatus::WaitSynchAny: 232 case Kernel::ThreadStatus::WaitSynchAny:
233 status = tr("waiting for objects"); 233 status = tr("waiting for objects");
234 break; 234 break;
235 case ThreadStatus::WaitMutex: 235 case Kernel::ThreadStatus::WaitMutex:
236 status = tr("waiting for mutex"); 236 status = tr("waiting for mutex");
237 break; 237 break;
238 case ThreadStatus::WaitArb: 238 case Kernel::ThreadStatus::WaitArb:
239 status = tr("waiting for address arbiter"); 239 status = tr("waiting for address arbiter");
240 break; 240 break;
241 case ThreadStatus::Dormant: 241 case Kernel::ThreadStatus::Dormant:
242 status = tr("dormant"); 242 status = tr("dormant");
243 break; 243 break;
244 case ThreadStatus::Dead: 244 case Kernel::ThreadStatus::Dead:
245 status = tr("dead"); 245 status = tr("dead");
246 break; 246 break;
247 } 247 }
@@ -254,23 +254,23 @@ QString WaitTreeThread::GetText() const {
254QColor WaitTreeThread::GetColor() const { 254QColor WaitTreeThread::GetColor() const {
255 const auto& thread = static_cast<const Kernel::Thread&>(object); 255 const auto& thread = static_cast<const Kernel::Thread&>(object);
256 switch (thread.status) { 256 switch (thread.status) {
257 case ThreadStatus::Running: 257 case Kernel::ThreadStatus::Running:
258 return QColor(Qt::GlobalColor::darkGreen); 258 return QColor(Qt::GlobalColor::darkGreen);
259 case ThreadStatus::Ready: 259 case Kernel::ThreadStatus::Ready:
260 return QColor(Qt::GlobalColor::darkBlue); 260 return QColor(Qt::GlobalColor::darkBlue);
261 case ThreadStatus::WaitHLEEvent: 261 case Kernel::ThreadStatus::WaitHLEEvent:
262 case ThreadStatus::WaitIPC: 262 case Kernel::ThreadStatus::WaitIPC:
263 return QColor(Qt::GlobalColor::darkRed); 263 return QColor(Qt::GlobalColor::darkRed);
264 case ThreadStatus::WaitSleep: 264 case Kernel::ThreadStatus::WaitSleep:
265 return QColor(Qt::GlobalColor::darkYellow); 265 return QColor(Qt::GlobalColor::darkYellow);
266 case ThreadStatus::WaitSynchAll: 266 case Kernel::ThreadStatus::WaitSynchAll:
267 case ThreadStatus::WaitSynchAny: 267 case Kernel::ThreadStatus::WaitSynchAny:
268 case ThreadStatus::WaitMutex: 268 case Kernel::ThreadStatus::WaitMutex:
269 case ThreadStatus::WaitArb: 269 case Kernel::ThreadStatus::WaitArb:
270 return QColor(Qt::GlobalColor::red); 270 return QColor(Qt::GlobalColor::red);
271 case ThreadStatus::Dormant: 271 case Kernel::ThreadStatus::Dormant:
272 return QColor(Qt::GlobalColor::darkCyan); 272 return QColor(Qt::GlobalColor::darkCyan);
273 case ThreadStatus::Dead: 273 case Kernel::ThreadStatus::Dead:
274 return QColor(Qt::GlobalColor::gray); 274 return QColor(Qt::GlobalColor::gray);
275 default: 275 default:
276 return WaitTreeItem::GetColor(); 276 return WaitTreeItem::GetColor();
@@ -284,13 +284,13 @@ std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeThread::GetChildren() const {
284 284
285 QString processor; 285 QString processor;
286 switch (thread.processor_id) { 286 switch (thread.processor_id) {
287 case ThreadProcessorId::THREADPROCESSORID_DEFAULT: 287 case Kernel::ThreadProcessorId::THREADPROCESSORID_DEFAULT:
288 processor = tr("default"); 288 processor = tr("default");
289 break; 289 break;
290 case ThreadProcessorId::THREADPROCESSORID_0: 290 case Kernel::ThreadProcessorId::THREADPROCESSORID_0:
291 case ThreadProcessorId::THREADPROCESSORID_1: 291 case Kernel::ThreadProcessorId::THREADPROCESSORID_1:
292 case ThreadProcessorId::THREADPROCESSORID_2: 292 case Kernel::ThreadProcessorId::THREADPROCESSORID_2:
293 case ThreadProcessorId::THREADPROCESSORID_3: 293 case Kernel::ThreadProcessorId::THREADPROCESSORID_3:
294 processor = tr("core %1").arg(thread.processor_id); 294 processor = tr("core %1").arg(thread.processor_id);
295 break; 295 break;
296 default: 296 default:
@@ -314,8 +314,8 @@ std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeThread::GetChildren() const {
314 else 314 else
315 list.push_back(std::make_unique<WaitTreeText>(tr("not waiting for mutex"))); 315 list.push_back(std::make_unique<WaitTreeText>(tr("not waiting for mutex")));
316 316
317 if (thread.status == ThreadStatus::WaitSynchAny || 317 if (thread.status == Kernel::ThreadStatus::WaitSynchAny ||
318 thread.status == ThreadStatus::WaitSynchAll) { 318 thread.status == Kernel::ThreadStatus::WaitSynchAll) {
319 list.push_back(std::make_unique<WaitTreeObjectList>(thread.wait_objects, 319 list.push_back(std::make_unique<WaitTreeObjectList>(thread.wait_objects,
320 thread.IsSleepingOnWaitAll())); 320 thread.IsSleepingOnWaitAll()));
321 } 321 }