diff options
Diffstat (limited to 'src/core/hle/kernel')
| -rw-r--r-- | src/core/hle/kernel/k_thread.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_thread.h b/src/core/hle/kernel/k_thread.h index b55a922ab..60ae0da78 100644 --- a/src/core/hle/kernel/k_thread.h +++ b/src/core/hle/kernel/k_thread.h | |||
| @@ -100,6 +100,12 @@ enum class ThreadWaitReasonForDebugging : u32 { | |||
| 100 | Suspended, ///< Thread is waiting due to process suspension | 100 | Suspended, ///< Thread is waiting due to process suspension |
| 101 | }; | 101 | }; |
| 102 | 102 | ||
| 103 | enum class StepState : u32 { | ||
| 104 | NotStepping, ///< Thread is not currently stepping | ||
| 105 | StepPending, ///< Thread will step when next scheduled | ||
| 106 | StepPerformed, ///< Thread has stepped, waiting to be scheduled again | ||
| 107 | }; | ||
| 108 | |||
| 103 | [[nodiscard]] KThread* GetCurrentThreadPointer(KernelCore& kernel); | 109 | [[nodiscard]] KThread* GetCurrentThreadPointer(KernelCore& kernel); |
| 104 | [[nodiscard]] KThread& GetCurrentThread(KernelCore& kernel); | 110 | [[nodiscard]] KThread& GetCurrentThread(KernelCore& kernel); |
| 105 | [[nodiscard]] s32 GetCurrentCoreId(KernelCore& kernel); | 111 | [[nodiscard]] s32 GetCurrentCoreId(KernelCore& kernel); |
| @@ -267,6 +273,14 @@ public: | |||
| 267 | 273 | ||
| 268 | void SetState(ThreadState state); | 274 | void SetState(ThreadState state); |
| 269 | 275 | ||
| 276 | [[nodiscard]] StepState GetStepState() const { | ||
| 277 | return step_state; | ||
| 278 | } | ||
| 279 | |||
| 280 | void SetStepState(StepState state) { | ||
| 281 | step_state = state; | ||
| 282 | } | ||
| 283 | |||
| 270 | [[nodiscard]] s64 GetLastScheduledTick() const { | 284 | [[nodiscard]] s64 GetLastScheduledTick() const { |
| 271 | return last_scheduled_tick; | 285 | return last_scheduled_tick; |
| 272 | } | 286 | } |
| @@ -769,6 +783,7 @@ private: | |||
| 769 | std::shared_ptr<Common::Fiber> host_context{}; | 783 | std::shared_ptr<Common::Fiber> host_context{}; |
| 770 | bool is_single_core{}; | 784 | bool is_single_core{}; |
| 771 | ThreadType thread_type{}; | 785 | ThreadType thread_type{}; |
| 786 | StepState step_state{}; | ||
| 772 | std::mutex dummy_wait_lock; | 787 | std::mutex dummy_wait_lock; |
| 773 | std::condition_variable dummy_wait_cv; | 788 | std::condition_variable dummy_wait_cv; |
| 774 | 789 | ||