From 4caff51710a793c6c2c1069ddd6e92185aa731fe Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 31 Mar 2020 15:10:44 -0400 Subject: core: memory: Move to Core::Memory namespace. - helpful to disambiguate Kernel::Memory namespace. --- src/core/core.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index 3bd90d79f..87b147f63 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -346,7 +346,7 @@ struct System::Impl { std::unique_ptr app_loader; std::unique_ptr gpu_core; std::unique_ptr interrupt_manager; - Memory::Memory memory; + Core::Memory::Memory memory; CpuManager cpu_manager; bool is_powered_on = false; bool exit_lock = false; @@ -505,7 +505,7 @@ Memory::Memory& System::Memory() { return impl->memory; } -const Memory::Memory& System::Memory() const { +const Core::Memory::Memory& System::Memory() const { return impl->memory; } -- cgit v1.2.3 From dc25c86556c36dd23224d88234afc9ecbf780719 Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 2 Apr 2020 22:00:41 -0400 Subject: core: device_manager: Add a simple class to manage device RAM. --- src/core/core.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index 87b147f63..4bc71c7a7 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -14,6 +14,7 @@ #include "core/core_manager.h" #include "core/core_timing.h" #include "core/cpu_manager.h" +#include "core/device_memory.h" #include "core/file_sys/bis_factory.h" #include "core/file_sys/card_image.h" #include "core/file_sys/mode.h" @@ -113,7 +114,7 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs, } struct System::Impl { explicit Impl(System& system) - : kernel{system}, fs_controller{system}, memory{system}, + : kernel{system}, device_memory{system}, fs_controller{system}, memory{system}, cpu_manager{system}, reporter{system}, applet_manager{system} {} CoreManager& CurrentCoreManager() { @@ -337,6 +338,7 @@ struct System::Impl { Timing::CoreTiming core_timing; Kernel::KernelCore kernel; + DeviceMemory device_memory; /// RealVfsFilesystem instance FileSys::VirtualFilesystem virtual_filesystem; /// ContentProviderUnion instance @@ -472,6 +474,14 @@ Kernel::Process* System::CurrentProcess() { return impl->kernel.CurrentProcess(); } +DeviceMemory& System::GetDeviceMemory() { + return impl->device_memory; +} + +const DeviceMemory& System::GetDeviceMemory() const { + return impl->device_memory; +} + const Kernel::Process* System::CurrentProcess() const { return impl->kernel.CurrentProcess(); } -- cgit v1.2.3 From c53454ff463b7919a835ff91cdf28cab78c9a35f Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 8 Apr 2020 18:55:29 -0400 Subject: core: Construct/Destruct DeviceMemory on Init/Shutdown. --- src/core/core.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index 4bc71c7a7..f58d05c6b 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -114,7 +114,7 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs, } struct System::Impl { explicit Impl(System& system) - : kernel{system}, device_memory{system}, fs_controller{system}, memory{system}, + : kernel{system}, fs_controller{system}, memory{system}, cpu_manager{system}, reporter{system}, applet_manager{system} {} CoreManager& CurrentCoreManager() { @@ -141,6 +141,8 @@ struct System::Impl { ResultStatus Init(System& system, Frontend::EmuWindow& emu_window) { LOG_DEBUG(HW_Memory, "initialized OK"); + device_memory = std::make_unique(system); + core_timing.Initialize(); kernel.Initialize(); cpu_manager.Initialize(); @@ -277,6 +279,7 @@ struct System::Impl { telemetry_session.reset(); perf_stats.reset(); gpu_core.reset(); + device_memory.reset(); // Close all CPU/threading state cpu_manager.Shutdown(); @@ -338,7 +341,6 @@ struct System::Impl { Timing::CoreTiming core_timing; Kernel::KernelCore kernel; - DeviceMemory device_memory; /// RealVfsFilesystem instance FileSys::VirtualFilesystem virtual_filesystem; /// ContentProviderUnion instance @@ -348,6 +350,7 @@ struct System::Impl { std::unique_ptr app_loader; std::unique_ptr gpu_core; std::unique_ptr interrupt_manager; + std::unique_ptr device_memory; Core::Memory::Memory memory; CpuManager cpu_manager; bool is_powered_on = false; @@ -475,11 +478,11 @@ Kernel::Process* System::CurrentProcess() { } DeviceMemory& System::GetDeviceMemory() { - return impl->device_memory; + return *impl->device_memory; } const DeviceMemory& System::GetDeviceMemory() const { - return impl->device_memory; + return *impl->device_memory; } const Kernel::Process* System::CurrentProcess() const { -- cgit v1.2.3 From 11c02a50e9fa71e4bfac1268a15ee424501b6118 Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 8 Apr 2020 19:18:10 -0400 Subject: core: system: Rename GetDeviceManager -> DeviceManager. - More consistent with other system components. --- src/core/core.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index f58d05c6b..f9f8a3000 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -141,7 +141,7 @@ struct System::Impl { ResultStatus Init(System& system, Frontend::EmuWindow& emu_window) { LOG_DEBUG(HW_Memory, "initialized OK"); - device_memory = std::make_unique(system); + device_memory = std::make_unique(system); core_timing.Initialize(); kernel.Initialize(); @@ -350,7 +350,7 @@ struct System::Impl { std::unique_ptr app_loader; std::unique_ptr gpu_core; std::unique_ptr interrupt_manager; - std::unique_ptr device_memory; + std::unique_ptr device_memory; Core::Memory::Memory memory; CpuManager cpu_manager; bool is_powered_on = false; @@ -477,11 +477,11 @@ Kernel::Process* System::CurrentProcess() { return impl->kernel.CurrentProcess(); } -DeviceMemory& System::GetDeviceMemory() { +Core::DeviceMemory& System::DeviceMemory() { return *impl->device_memory; } -const DeviceMemory& System::GetDeviceMemory() const { +const Core::DeviceMemory& System::DeviceMemory() const { return *impl->device_memory; } -- cgit v1.2.3