summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 }