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

@ -91,16 +91,16 @@ namespace skyline {
*/
void MapSharedMemory(DeviceState &state);
/**
* @brief Closes the specified handle
*/
void CloseHandle(DeviceState &state);
/**
* @brief Returns a handle to a KSharedMemory object (https://switchbrew.org/wiki/SVC#svcCreateTransferMemory)
*/
void CreateTransferMemory(DeviceState &state);
/**
* @brief Closes the specified handle
*/
void CloseHandle(DeviceState &state);
/**
* @brief This resets a particular KEvent or KProcess which is signalled (https://switchbrew.org/wiki/SVC#svcResetSignal)
*/
@ -110,12 +110,6 @@ namespace skyline {
* @brief Stalls a thread till a KSyncObject signals or the timeout has ended (https://switchbrew.org/wiki/SVC#svcWaitSynchronization)
*/
void WaitSynchronization(DeviceState &state);
/**
* @brief This returns the value of CNTPCT_EL0 on the Switch (https://switchbrew.org/wiki/SVC#svcGetSystemTick)
*/
void GetSystemTick(DeviceState &state);
/**
* @brief Locks a specified mutex
*/
@ -136,6 +130,11 @@ namespace skyline {
*/
void SignalProcessWideKey(DeviceState &state);
/**
* @brief This returns the value of CNTPCT_EL0 on the Switch (https://switchbrew.org/wiki/SVC#svcGetSystemTick)
*/
void GetSystemTick(DeviceState &state);
/**
* @brief Connects to a named IPC port
*/