summaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index fa49f3dd0..2098f13f7 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -24,6 +24,18 @@ namespace Memory {
24 24
25static Common::PageTable* current_page_table = nullptr; 25static Common::PageTable* current_page_table = nullptr;
26 26
27// Implementation class used to keep the specifics of the memory subsystem hidden
28// from outside classes. This also allows modification to the internals of the memory
29// subsystem without needing to rebuild all files that make use of the memory interface.
30struct Memory::Impl {
31 explicit Impl(Core::System& system_) : system{system_} {}
32
33 Core::System& system;
34};
35
36Memory::Memory(Core::System& system) : impl{std::make_unique<Impl>(system)} {}
37Memory::~Memory() = default;
38
27void SetCurrentPageTable(Kernel::Process& process) { 39void SetCurrentPageTable(Kernel::Process& process) {
28 current_page_table = &process.VMManager().page_table; 40 current_page_table = &process.VMManager().page_table;
29 41