From 2179ad7483bde3c210bf4f638ae8801b3ba11214 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Fri, 17 May 2019 21:41:33 -0400 Subject: core: Track load offsets of NSO modules Needed for backtrace decomposition --- src/core/core.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index 7106151bd..96ba6a569 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -270,6 +270,8 @@ struct System::Impl { /// Telemetry session for this emulation session std::unique_ptr telemetry_session; + std::map> modules; + ResultStatus status = ResultStatus::Success; std::string status_details = ""; @@ -509,6 +511,14 @@ void System::ClearContentProvider(FileSys::ContentProviderUnionSlot slot) { impl->content_provider->ClearSlot(slot); } +void System::RegisterNSOModule(std::string name, VAddr start_address) { + impl->modules.insert_or_assign(start_address, name); +} + +const std::map>& System::GetRegisteredNSOModules() const { + return impl->modules; +} + System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { return impl->Init(*this, emu_window); } -- cgit v1.2.3 From 2dde8f5cfe81648d05d60285ab5b17a6f61c486e Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Fri, 17 May 2019 21:45:56 -0400 Subject: core: Add Reporter class to take/save reports --- src/core/core.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index 96ba6a569..db4c067df 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -34,6 +34,7 @@ #include "core/hle/service/sm/sm.h" #include "core/loader/loader.h" #include "core/perf_stats.h" +#include "core/reporter.h" #include "core/settings.h" #include "core/telemetry_session.h" #include "file_sys/cheat_engine.h" @@ -271,6 +272,7 @@ struct System::Impl { std::unique_ptr telemetry_session; std::map> modules; + Reporter reporter; ResultStatus status = ResultStatus::Success; std::string status_details = ""; @@ -519,6 +521,10 @@ const std::map>& System::GetRegisteredNSOModu return impl->modules; } +const Reporter& System::GetReporter() const { + return impl->reporter; +} + System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { return impl->Init(*this, emu_window); } -- cgit v1.2.3 From b77fde7c5c1f63aad9d4f01ea625805661870f3e Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sun, 26 May 2019 11:40:41 -0400 Subject: loader: Move NSO module tracking to AppLoader Also cleanup of general stuff --- src/core/core.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index db4c067df..ac9eeddbb 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -83,7 +83,7 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs, return vfs->OpenFile(path, FileSys::Mode::Read); } struct System::Impl { - explicit Impl(System& system) : kernel{system}, cpu_core_manager{system} {} + explicit Impl(System& system) : kernel{system}, cpu_core_manager{system}, reporter{system} {} Cpu& CurrentCpuCore() { return cpu_core_manager.GetCurrentCore(); @@ -271,7 +271,6 @@ struct System::Impl { /// Telemetry session for this emulation session std::unique_ptr telemetry_session; - std::map> modules; Reporter reporter; ResultStatus status = ResultStatus::Success; @@ -513,14 +512,6 @@ void System::ClearContentProvider(FileSys::ContentProviderUnionSlot slot) { impl->content_provider->ClearSlot(slot); } -void System::RegisterNSOModule(std::string name, VAddr start_address) { - impl->modules.insert_or_assign(start_address, name); -} - -const std::map>& System::GetRegisteredNSOModules() const { - return impl->modules; -} - const Reporter& System::GetReporter() const { return impl->reporter; } -- cgit v1.2.3