cpu_manager: Mark function getters as static
All these do are return std::function instances of static functions, so these can be used without an instance of the CPU manager.
This commit is contained in:
		| @@ -49,9 +49,9 @@ public: | ||||
|  | ||||
|     void Pause(bool paused); | ||||
|  | ||||
|     std::function<void(void*)> GetGuestThreadStartFunc(); | ||||
|     std::function<void(void*)> GetIdleThreadStartFunc(); | ||||
|     std::function<void(void*)> GetSuspendThreadStartFunc(); | ||||
|     static std::function<void(void*)> GetGuestThreadStartFunc(); | ||||
|     static std::function<void(void*)> GetIdleThreadStartFunc(); | ||||
|     static std::function<void(void*)> GetSuspendThreadStartFunc(); | ||||
|     void* GetStartFuncParamater(); | ||||
|  | ||||
|     void PreemptSingleCore(bool from_running_enviroment = true); | ||||
|   | ||||
| @@ -161,13 +161,14 @@ struct KernelCore::Impl { | ||||
|     void InitializeSuspendThreads() { | ||||
|         for (std::size_t i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) { | ||||
|             std::string name = "Suspend Thread Id:" + std::to_string(i); | ||||
|             std::function<void(void*)> init_func = | ||||
|                 system.GetCpuManager().GetSuspendThreadStartFunc(); | ||||
|             std::function<void(void*)> init_func = Core::CpuManager::GetSuspendThreadStartFunc(); | ||||
|             void* init_func_parameter = system.GetCpuManager().GetStartFuncParamater(); | ||||
|             ThreadType type = | ||||
|             const auto type = | ||||
|                 static_cast<ThreadType>(THREADTYPE_KERNEL | THREADTYPE_HLE | THREADTYPE_SUSPEND); | ||||
|             auto thread_res = Thread::Create(system, type, name, 0, 0, 0, static_cast<u32>(i), 0, | ||||
|                                              nullptr, std::move(init_func), init_func_parameter); | ||||
|             auto thread_res = | ||||
|                 Thread::Create(system, type, std::move(name), 0, 0, 0, static_cast<u32>(i), 0, | ||||
|                                nullptr, std::move(init_func), init_func_parameter); | ||||
|  | ||||
|             suspend_threads[i] = std::move(thread_res).Unwrap(); | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -802,7 +802,7 @@ void Scheduler::UpdateLastContextSwitchTime(Thread* thread, Process* process) { | ||||
|  | ||||
| void Scheduler::Initialize() { | ||||
|     std::string name = "Idle Thread Id:" + std::to_string(core_id); | ||||
|     std::function<void(void*)> init_func = system.GetCpuManager().GetIdleThreadStartFunc(); | ||||
|     std::function<void(void*)> init_func = Core::CpuManager::GetIdleThreadStartFunc(); | ||||
|     void* init_func_parameter = system.GetCpuManager().GetStartFuncParamater(); | ||||
|     ThreadType type = static_cast<ThreadType>(THREADTYPE_KERNEL | THREADTYPE_HLE | THREADTYPE_IDLE); | ||||
|     auto thread_res = Thread::Create(system, type, name, 0, 64, 0, static_cast<u32>(core_id), 0, | ||||
|   | ||||
| @@ -155,7 +155,7 @@ ResultVal<std::shared_ptr<Thread>> Thread::Create(Core::System& system, ThreadTy | ||||
|                                                   std::string name, VAddr entry_point, u32 priority, | ||||
|                                                   u64 arg, s32 processor_id, VAddr stack_top, | ||||
|                                                   Process* owner_process) { | ||||
|     std::function<void(void*)> init_func = system.GetCpuManager().GetGuestThreadStartFunc(); | ||||
|     std::function<void(void*)> init_func = Core::CpuManager::GetGuestThreadStartFunc(); | ||||
|     void* init_func_parameter = system.GetCpuManager().GetStartFuncParamater(); | ||||
|     return Create(system, type_flags, name, entry_point, priority, arg, processor_id, stack_top, | ||||
|                   owner_process, std::move(init_func), init_func_parameter); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user