diff options
| author | 2022-01-14 16:33:24 -0800 | |
|---|---|---|
| committer | 2022-01-14 16:44:14 -0800 | |
| commit | d8b3f665db753e526aa06db5314fb34f0d3e367f (patch) | |
| tree | 5ec8fd7d2caa29578139c603e9c5236a7c404de7 /src | |
| parent | core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates. (diff) | |
| download | yuzu-d8b3f665db753e526aa06db5314fb34f0d3e367f.tar.gz yuzu-d8b3f665db753e526aa06db5314fb34f0d3e367f.tar.xz yuzu-d8b3f665db753e526aa06db5314fb34f0d3e367f.zip | |
core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/k_process.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_process.h | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index cca405fed..265ac6fa1 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp | |||
| @@ -149,6 +149,10 @@ ResultCode KProcess::Initialize(KProcess* process, Core::System& system, std::st | |||
| 149 | return ResultSuccess; | 149 | return ResultSuccess; |
| 150 | } | 150 | } |
| 151 | 151 | ||
| 152 | void KProcess::DoWorkerTaskImpl() { | ||
| 153 | UNIMPLEMENTED(); | ||
| 154 | } | ||
| 155 | |||
| 152 | KResourceLimit* KProcess::GetResourceLimit() const { | 156 | KResourceLimit* KProcess::GetResourceLimit() const { |
| 153 | return resource_limit; | 157 | return resource_limit; |
| 154 | } | 158 | } |
| @@ -477,7 +481,7 @@ void KProcess::Finalize() { | |||
| 477 | } | 481 | } |
| 478 | 482 | ||
| 479 | // Perform inherited finalization. | 483 | // Perform inherited finalization. |
| 480 | KAutoObjectWithSlabHeapAndContainer<KProcess, KSynchronizationObject>::Finalize(); | 484 | KAutoObjectWithSlabHeapAndContainer<KProcess, KWorkerTask>::Finalize(); |
| 481 | } | 485 | } |
| 482 | 486 | ||
| 483 | /** | 487 | /** |
diff --git a/src/core/hle/kernel/k_process.h b/src/core/hle/kernel/k_process.h index e7c8b5838..c2a672021 100644 --- a/src/core/hle/kernel/k_process.h +++ b/src/core/hle/kernel/k_process.h | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include "core/hle/kernel/k_condition_variable.h" | 15 | #include "core/hle/kernel/k_condition_variable.h" |
| 16 | #include "core/hle/kernel/k_handle_table.h" | 16 | #include "core/hle/kernel/k_handle_table.h" |
| 17 | #include "core/hle/kernel/k_synchronization_object.h" | 17 | #include "core/hle/kernel/k_synchronization_object.h" |
| 18 | #include "core/hle/kernel/k_worker_task.h" | ||
| 18 | #include "core/hle/kernel/process_capability.h" | 19 | #include "core/hle/kernel/process_capability.h" |
| 19 | #include "core/hle/kernel/slab_helpers.h" | 20 | #include "core/hle/kernel/slab_helpers.h" |
| 20 | #include "core/hle/result.h" | 21 | #include "core/hle/result.h" |
| @@ -62,8 +63,7 @@ enum class ProcessStatus { | |||
| 62 | DebugBreak, | 63 | DebugBreak, |
| 63 | }; | 64 | }; |
| 64 | 65 | ||
| 65 | class KProcess final | 66 | class KProcess final : public KAutoObjectWithSlabHeapAndContainer<KProcess, KWorkerTask> { |
| 66 | : public KAutoObjectWithSlabHeapAndContainer<KProcess, KSynchronizationObject> { | ||
| 67 | KERNEL_AUTOOBJECT_TRAITS(KProcess, KSynchronizationObject); | 67 | KERNEL_AUTOOBJECT_TRAITS(KProcess, KSynchronizationObject); |
| 68 | 68 | ||
| 69 | public: | 69 | public: |
| @@ -345,6 +345,8 @@ public: | |||
| 345 | 345 | ||
| 346 | bool IsSignaled() const override; | 346 | bool IsSignaled() const override; |
| 347 | 347 | ||
| 348 | void DoWorkerTaskImpl(); | ||
| 349 | |||
| 348 | void PinCurrentThread(s32 core_id); | 350 | void PinCurrentThread(s32 core_id); |
| 349 | void UnpinCurrentThread(s32 core_id); | 351 | void UnpinCurrentThread(s32 core_id); |
| 350 | void UnpinThread(KThread* thread); | 352 | void UnpinThread(KThread* thread); |