diff options
| author | 2018-09-13 15:57:45 -0400 | |
|---|---|---|
| committer | 2018-09-13 16:05:57 -0400 | |
| commit | 2ea45fe75b34ef01d4ef5ced825eddded21d1d33 (patch) | |
| tree | d79664ce2f73c5d6fbc7277f757948a0d5043e90 /src | |
| parent | Merge pull request #1308 from valentinvanelslande/ipc (diff) | |
| download | yuzu-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 '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 | } |