kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory

Used by Skyline modding framework
This commit is contained in:
itsmeft24 2021-12-05 15:04:08 -05:00
parent f1f91ad468
commit 8aef8f39d8
11 changed files with 636 additions and 7 deletions

View file

@ -53,6 +53,7 @@ class KSharedMemoryInfo;
class KThread;
class KTransferMemory;
class KWritableEvent;
class KCodeMemory;
class PhysicalCore;
class ServiceThread;
class Synchronization;
@ -326,6 +327,8 @@ public:
return slab_heap_container->transfer_memory;
} else if constexpr (std::is_same_v<T, KWritableEvent>) {
return slab_heap_container->writeable_event;
} else if constexpr (std::is_same_v<T, KCodeMemory>) {
return slab_heap_container->code_memory;
}
}
@ -377,6 +380,7 @@ private:
KSlabHeap<KThread> thread;
KSlabHeap<KTransferMemory> transfer_memory;
KSlabHeap<KWritableEvent> writeable_event;
KSlabHeap<KCodeMemory> code_memory;
};
std::unique_ptr<SlabHeapContainer> slab_heap_container;