Refactor the memory implementation and add Regions

This commit does a major refactor of the memory implementation, it forms a memory map which is far cleaner than trying to access it through a handle table lookup. In addition, it creates a common interface for all memory kernel objects: KMemory from which all other kernel memory objects inherit. This allows doing resizing, permission change, etc without casting to the base memory type.
This commit is contained in:
◱ PixelyIon
2020-01-21 12:46:57 +05:30
committed by ◱ PixelyIon
parent b13002f0e1
commit 00cdc1fd6f
30 changed files with 1273 additions and 632 deletions

View File

@ -20,6 +20,7 @@ namespace skyline::kernel {
public:
std::shared_ptr<type::KProcess> process; //!< The KProcess object for the emulator, representing the guest process
service::ServiceManager serviceManager; //!< This manages all of the service functions
MemoryManager memory; //!< The MemoryManager object for this process
/**
* @param logger An instance of the Logger class