diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/thread.h | 12 | ||||
| -rw-r--r-- | src/core/hle/service/vi/vi.cpp | 2 | ||||
| -rw-r--r-- | src/core/loader/nro.cpp | 2 | ||||
| -rw-r--r-- | src/core/loader/nso.cpp | 3 | ||||
| -rw-r--r-- | src/yuzu/debugger/wait_tree.cpp | 58 |
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 | ||
| 18 | namespace Kernel { | ||
| 19 | |||
| 20 | class KernelCore; | ||
| 21 | class Process; | ||
| 22 | class Scheduler; | ||
| 23 | |||
| 18 | enum ThreadPriority : u32 { | 24 | enum 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 | ||
| 57 | namespace Kernel { | ||
| 58 | |||
| 59 | class KernelCore; | ||
| 60 | class Process; | ||
| 61 | class Scheduler; | ||
| 62 | |||
| 63 | class Thread final : public WaitObject { | 63 | class Thread final : public WaitObject { |
| 64 | public: | 64 | public: |
| 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 { | |||
| 254 | QColor WaitTreeThread::GetColor() const { | 254 | QColor 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 | } |