aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/errors.h
AgeCommit message (Collapse)Author
2021-02-12kernel: Unify result codes (#5890)Chloe
* kernel: Unify result codes Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways. * oops * rename errors to svc_results
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei
2020-06-27SVC: WaitSynchronization add Termination Pending Result.Fernando Sahmkow
2020-04-17kernel: errors: Add ERR_OUT_OF_RESOURCES.bunnei
2019-02-25kernel/handle_table: Allow process capabilities to limit the handle table sizeLioncash
The kernel allows restricting the total size of the handle table through the process capability descriptors. Until now, this functionality wasn't hooked up. With this, the process handle tables become properly restricted. In the case of metadata-less executables, the handle table will assume the maximum size is requested, preserving the behavior that existed before these changes.
2018-12-27Merge pull request #1928 from lioncash/capsbunnei
kernel: Handle kernel capability descriptors
2018-12-21kernel/process_capability: Handle program capability flagsLioncash
2018-12-21kernel/process: Introduce process capability parsing skeletonLioncash
We've had the old kernel capability parser from Citra, however, this is unused code and doesn't actually map to how the kernel on the Switch does it. This introduces the basic functional skeleton for parsing process capabilities.
2018-12-04svc: Implement SetThreadActivity (thread suspension)Luke Street
2018-11-16kernel/errors: Clean up error codesLioncash
Similar to PR 1706, which cleans up the error codes for the filesystem code, but done for the kernel error codes. This removes the ErrCodes namespace and specifies the errors directly. This also fixes up any straggling lines of code that weren't using the named error codes where applicable.
2018-10-24kernel/errors: Remove now-unused, unnecessary, error codesLioncash
Now that we've gotten the innaccurate error codes out of the way, we can finally toss away a bunch of these, trimming down the error codes to ones that are actually used and knocking out two TODO comments.
2018-10-24kernel/server_port: Change error case return value in Accept() to ERR_NOT_FOUNDLioncash
This is what the kernel does in this instance.
2018-10-24kernel/error: Remove leftover 3DS error codesLioncash
These are now entirely unused and can be removed.
2018-10-24kernel/error: Add error code for invalid pointersLioncash
The kernel appears to return 0xE601 for this situation. Particularly in svcWaitSynchronization, svcReplyAndReceive, and svcGetThreadContext
2018-10-24kernel/error: Add error code for closed sessionsLioncash
The kernel appears to return 0xF601 for this case.
2018-10-10svc: Add missing address range sanitizing checks to MapMemory/UnmapMemoryLioncash
This adds the missing address range checking that the service functions do before attempting to map or unmap memory. Given that both service functions perform the same set of checks in the same order, we can wrap these into a function and just call it from both functions, which deduplicates a little bit of code.
2018-09-30kernel/svc: Implement svcGetThreadContext()Lioncash
Now that we have all of the rearranging and proper structure sizes in place, it's fairly trivial to implement svcGetThreadContext(). In the 64-bit case we can more or less just write out the context as is, minus some minor value sanitizing. In the 32-bit case we'll need to clear out the registers that wouldn't normally be accessible from a 32-bit AArch32 exectuable (or process).
2018-09-17Merge pull request #1313 from lioncash/errorbunnei
kernel/errors: Amend error code for ERR_NOT_FOUND
2018-09-13kernel/svc: Sanitize heap sizes within svcSetHeapSize()Lioncash
The kernel checks if the given size is a multiple of 2MB and <= to 4GB before going ahead and attempting to allocate that much memory.
2018-09-13kernel/errors: Amend error code for ERR_NOT_FOUNDLioncash
This is the value returned by the kernel for svcConnectToNamedPort() if the named port cannot be found.
2018-09-12kernel/errors: Correct error codes for invalid thread priority and invalid ↵Lioncash
processor ID
2018-08-25kernel/error: Amend error code for ERR_MAX_CONNECTIONS_REACHEDLioncash
We can make this error code an alias of the resource limit exceeded error code, allowing us to get rid of the lingering 3DS error code of the same type.
2018-08-25kernel/error: Amend error code for ERR_PORT_NAME_TOO_LONGLioncash
We can treat this as an alias of TooLarge for documentation purposes. This also lets us get rid of another lingering 3DS-related error code.
2018-08-25kernel/error: Add error code for the handle table being fullLioncash
This replaces the lingering 3DS constant with the proper one, and utilizes it within HandleTable's Create() member function.
2018-08-25kernel/error: Add error code for invalid memory permissionsLioncash
2018-08-25kernel/error: Correct kernel error code for invalid combinationLioncash
2018-06-21Kernel/Arbiters: Implement WaitForAddressMichael Scire
2018-06-21Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.Michael Scire
2018-05-30Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.Subv
Also added some proper error handling.
2018-04-20Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.Subv
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case. Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock. TODO: * Fix svcWaitProcessWideKey * Fix svcSignalProcessWideKey * Remove the Mutex class.
2018-01-13yuzu: Update license text to be consistent across project.bunnei
2018-01-09SVC: Implemented CancelSynchronization.Subv
2018-01-09ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes.Subv
2017-12-31errors: Define missing kernel error codes.bunnei
2017-10-31hle: Use Switch formatted result codes.bunnei
2017-06-23Kernel: Implement AcceptSession SVCYuri Kunde Schlesner
2017-05-24Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner