Make SVCs more accurate & Improve KSharedMemory

This commit adds logging to almost all SVCs with the exception of svcGetSystemTick and adds accurate error handling to them. It also improves how KSharedMemory is handled.
This commit is contained in:
◱ PixelyIon
2019-11-18 01:49:01 +05:30
committed by ◱ PixelyIon
parent 26a67f70b7
commit 1956a3bbbb
14 changed files with 396 additions and 243 deletions

View File

@ -55,18 +55,6 @@ namespace skyline::kernel {
* @brief Handles a particular SuperVisor Call
* @param svc The ID of the SVC to be called
*/
void SvcHandler(u16 svc);
/**
* @brief Map a chunk of shared memory (Use only when kernel should be owner process else create KSharedMemory directly)
* @param address The address to map to (Can be 0 if address doesn't matter)
* @param size The size of the chunk of memory
* @param localPermission The permissions of the memory for the kernel
* @param remotePermission The permissions of the memory for the processes
* @param type The type of the memory
* @param region The specific region this memory is mapped for
* @return A shared pointer to the kernel::type::KSharedMemory object
*/
std::shared_ptr<kernel::type::KSharedMemory> MapSharedKernel(const u64 address, const size_t size, const memory::Permission kernelPermission, const memory::Permission remotePermission, const memory::Type type);
void SvcHandler(const u16 svc);
};
}