@ -39,6 +39,7 @@
# include "core/hle/service/service.h"
# include "core/hle/service/service.h"
# include "core/hle/service/sm/sm.h"
# include "core/hle/service/sm/sm.h"
# include "core/loader/loader.h"
# include "core/loader/loader.h"
# include "core/memory.h"
# include "core/memory/cheat_engine.h"
# include "core/memory/cheat_engine.h"
# include "core/perf_stats.h"
# include "core/perf_stats.h"
# include "core/reporter.h"
# include "core/reporter.h"
@ -112,8 +113,8 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs,
}
}
struct System : : Impl {
struct System : : Impl {
explicit Impl ( System & system )
explicit Impl ( System & system )
: kernel { system } , fs_controller { system } , cpu_core_manager{ system } , reporter { system } ,
: kernel { system } , fs_controller { system } , memory { system } ,
applet_manager{ system } { }
cpu_core_manager{ system } , reporter { system } , applet_manager{ system } { }
Cpu & CurrentCpuCore ( ) {
Cpu & CurrentCpuCore ( ) {
return cpu_core_manager . GetCurrentCore ( ) ;
return cpu_core_manager . GetCurrentCore ( ) ;
@ -341,7 +342,8 @@ struct System::Impl {
std : : unique_ptr < VideoCore : : RendererBase > renderer ;
std : : unique_ptr < VideoCore : : RendererBase > renderer ;
std : : unique_ptr < Tegra : : GPU > gpu_core ;
std : : unique_ptr < Tegra : : GPU > gpu_core ;
std : : shared_ptr < Tegra : : DebugContext > debug_context ;
std : : shared_ptr < Tegra : : DebugContext > debug_context ;
std : : unique_ptr < Core : : Hardware : : InterruptManager > interrupt_manager ;
std : : unique_ptr < Hardware : : InterruptManager > interrupt_manager ;
Memory : : Memory memory ;
CpuCoreManager cpu_core_manager ;
CpuCoreManager cpu_core_manager ;
bool is_powered_on = false ;
bool is_powered_on = false ;
bool exit_lock = false ;
bool exit_lock = false ;
@ -498,6 +500,14 @@ const ExclusiveMonitor& System::Monitor() const {
return impl - > cpu_core_manager . GetExclusiveMonitor ( ) ;
return impl - > cpu_core_manager . GetExclusiveMonitor ( ) ;
}
}
Memory : : Memory & System : : Memory ( ) {
return impl - > memory ;
}
const Memory : : Memory & System : : Memory ( ) const {
return impl - > memory ;
}
Tegra : : GPU & System : : GPU ( ) {
Tegra : : GPU & System : : GPU ( ) {
return * impl - > gpu_core ;
return * impl - > gpu_core ;
}
}