diff options
author | Lioncash <mathew1800@gmail.com> | 2019-11-26 18:33:20 +0100 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-11-27 03:53:34 +0100 |
commit | 4c2ed2706e3579ec1304907dad0d45673768e1fc (patch) | |
tree | 89f72c13ad6ab374a4e2d2d475b1e03320de7066 /src/core/memory.h | |
parent | Merge pull request #3143 from ReinUsesLisp/indexing-bug (diff) | |
download | yuzu-4c2ed2706e3579ec1304907dad0d45673768e1fc.tar yuzu-4c2ed2706e3579ec1304907dad0d45673768e1fc.tar.gz yuzu-4c2ed2706e3579ec1304907dad0d45673768e1fc.tar.bz2 yuzu-4c2ed2706e3579ec1304907dad0d45673768e1fc.tar.lz yuzu-4c2ed2706e3579ec1304907dad0d45673768e1fc.tar.xz yuzu-4c2ed2706e3579ec1304907dad0d45673768e1fc.tar.zst yuzu-4c2ed2706e3579ec1304907dad0d45673768e1fc.zip |
Diffstat (limited to 'src/core/memory.h')
-rw-r--r-- | src/core/memory.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/core/memory.h b/src/core/memory.h index 09008e1dd..c690df3c3 100644 --- a/src/core/memory.h +++ b/src/core/memory.h @@ -8,6 +8,10 @@ #include <string> #include "common/common_types.h" +namespace Core { +class System; +} + namespace Kernel { class Process; } @@ -36,6 +40,23 @@ enum : VAddr { KERNEL_REGION_END = KERNEL_REGION_VADDR + KERNEL_REGION_SIZE, }; +/// Central class that handles all memory operations and state. +class Memory { +public: + explicit Memory(Core::System& system); + ~Memory(); + + Memory(const Memory&) = delete; + Memory& operator=(const Memory&) = delete; + + Memory(Memory&&) = default; + Memory& operator=(Memory&&) = default; + +private: + struct Impl; + std::unique_ptr<Impl> impl; +}; + /// Changes the currently active page table to that of /// the given process instance. void SetCurrentPageTable(Kernel::Process& process); |