Kernel: Map special regions according to ExHeader

This replaces the hardcoded VRAM/DSP mappings with ones made based on
the ExHeader ARM11 Kernel caps list. While this has no visible effect
for most applications (since they use a standard set of mappings) it
does improve support for system modules and n3DS exclusives.
This commit is contained in:
Yuri Kunde Schlesner
2017-05-05 23:11:06 -07:00
parent b4a93cfdde
commit f18d454eb6
5 changed files with 105 additions and 52 deletions

View File

@ -23,11 +23,7 @@ struct MemoryRegionInfo {
void MemoryInit(u32 mem_type);
void MemoryShutdown();
MemoryRegionInfo* GetMemoryRegion(MemoryRegion region);
}
namespace Memory {
void Init();
void InitLegacyAddressSpace(Kernel::VMManager& address_space);
} // namespace
void HandleSpecialMapping(VMManager& address_space, const AddressMapping& mapping);
void MapSharedPages(VMManager& address_space);
} // namespace Kernel