diff options
Diffstat (limited to 'src/core/core.h')
| -rw-r--r-- | src/core/core.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/core/core.h b/src/core/core.h index 2d15ebe34..552c8f5ee 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -7,6 +7,8 @@ #include <memory> #include <string> #include "common/common_types.h" +#include "core/hle/kernel/kernel.h" +#include "core/hle/kernel/scheduler.h" #include "core/loader/loader.h" #include "core/memory.h" #include "core/perf_stats.h" @@ -107,6 +109,14 @@ public: return *gpu_core; } + Kernel::Scheduler& Scheduler() { + return *scheduler; + } + + Kernel::SharedPtr<Kernel::Process>& CurrentProcess() { + return current_process; + } + PerfStats perf_stats; FrameLimiter frame_limiter; @@ -140,11 +150,12 @@ private: /// AppLoader used to load the current executing application std::unique_ptr<Loader::AppLoader> app_loader; - ///< ARM11 CPU core - std::unique_ptr<ARM_Interface> cpu_core; - + std::shared_ptr<ARM_Interface> cpu_core; + std::unique_ptr<Kernel::Scheduler> scheduler; std::unique_ptr<Tegra::GPU> gpu_core; + Kernel::SharedPtr<Kernel::Process> current_process; + /// When true, signals that a reschedule should happen bool reschedule_pending{}; @@ -165,4 +176,8 @@ inline TelemetrySession& Telemetry() { return System::GetInstance().TelemetrySession(); } +inline Kernel::SharedPtr<Kernel::Process>& CurrentProcess() { + return System::GetInstance().CurrentProcess(); +} + } // namespace Core |
