diff options
| author | bunnei <bunneidev@gmail.com> | 2018-08-27 18:37:48 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-27 18:37:48 -0400 | 
| commit | a409d49bbd2fe68fde2c5bacd83a4b2e5f396641 (patch) | |
| tree | 38a7ceb610ba22622bfc5142aca139ff7fe7f882 /src/core/hle/kernel | |
| parent | 2f5ed3877cf1d597673e584d77103497dc0377db (diff) | |
| parent | f708207ae6209229de0bde1c5c6a43d7345575d0 (diff) | |
Merge pull request #1177 from lioncash/err
kernel/error: Amend several error codes
Diffstat (limited to 'src/core/hle/kernel')
| -rw-r--r-- | src/core/hle/kernel/errors.h | 21 | ||||
| -rw-r--r-- | src/core/hle/kernel/handle_table.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/kernel/handle_table.h | 2 | ||||
| -rw-r--r-- | src/core/hle/kernel/shared_memory.cpp | 2 | 
4 files changed, 15 insertions, 12 deletions
| diff --git a/src/core/hle/kernel/errors.h b/src/core/hle/kernel/errors.h index 221cb1bb5..4054d5db6 100644 --- a/src/core/hle/kernel/errors.h +++ b/src/core/hle/kernel/errors.h @@ -11,17 +11,16 @@ namespace Kernel {  namespace ErrCodes {  enum {      // TODO(Subv): Remove these 3DS OS error codes. -    OutOfHandles = 19,      SessionClosedByRemote = 26, -    PortNameTooLong = 30,      NoPendingSessions = 35, -    WrongPermission = 46,      InvalidBufferDescriptor = 48, -    MaxConnectionsReached = 52,      // Confirmed Switch OS error codes +    MaxConnectionsReached = 7,      InvalidAddress = 102, +    HandleTableFull = 105,      InvalidMemoryState = 106, +    InvalidMemoryPermissions = 108,      InvalidProcessorId = 113,      InvalidHandle = 114,      InvalidCombination = 116, @@ -30,6 +29,7 @@ enum {      TooLarge = 119,      InvalidEnumValue = 120,      InvalidState = 125, +    ResourceLimitExceeded = 132,  };  } @@ -37,18 +37,21 @@ enum {  // double check that the code matches before re-using the constant.  // TODO(bunnei): Replace these with correct errors for Switch OS -constexpr ResultCode ERR_OUT_OF_HANDLES(-1); +constexpr ResultCode ERR_HANDLE_TABLE_FULL(ErrorModule::Kernel, ErrCodes::HandleTableFull);  constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); -constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); -constexpr ResultCode ERR_WRONG_PERMISSION(-1); -constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); +constexpr ResultCode ERR_PORT_NAME_TOO_LONG(ErrorModule::Kernel, ErrCodes::TooLarge); +constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(ErrorModule::Kernel, +                                                 ErrCodes::MaxConnectionsReached);  constexpr ResultCode ERR_INVALID_ENUM_VALUE(ErrorModule::Kernel, ErrCodes::InvalidEnumValue);  constexpr ResultCode ERR_INVALID_ENUM_VALUE_FND(-1);  constexpr ResultCode ERR_INVALID_COMBINATION(-1); -constexpr ResultCode ERR_INVALID_COMBINATION_KERNEL(-1); +constexpr ResultCode ERR_INVALID_COMBINATION_KERNEL(ErrorModule::Kernel, +                                                    ErrCodes::InvalidCombination);  constexpr ResultCode ERR_OUT_OF_MEMORY(-1);  constexpr ResultCode ERR_INVALID_ADDRESS(ErrorModule::Kernel, ErrCodes::InvalidAddress);  constexpr ResultCode ERR_INVALID_ADDRESS_STATE(ErrorModule::Kernel, ErrCodes::InvalidMemoryState); +constexpr ResultCode ERR_INVALID_MEMORY_PERMISSIONS(ErrorModule::Kernel, +                                                    ErrCodes::InvalidMemoryPermissions);  constexpr ResultCode ERR_INVALID_HANDLE(ErrorModule::Kernel, ErrCodes::InvalidHandle);  constexpr ResultCode ERR_INVALID_STATE(ErrorModule::Kernel, ErrCodes::InvalidState);  constexpr ResultCode ERR_INVALID_POINTER(-1); diff --git a/src/core/hle/kernel/handle_table.cpp b/src/core/hle/kernel/handle_table.cpp index 28e21428a..6d9f7a02b 100644 --- a/src/core/hle/kernel/handle_table.cpp +++ b/src/core/hle/kernel/handle_table.cpp @@ -26,7 +26,7 @@ ResultVal<Handle> HandleTable::Create(SharedPtr<Object> obj) {      u16 slot = next_free_slot;      if (slot >= generations.size()) {          LOG_ERROR(Kernel, "Unable to allocate Handle, too many slots in use."); -        return ERR_OUT_OF_HANDLES; +        return ERR_HANDLE_TABLE_FULL;      }      next_free_slot = generations[slot]; diff --git a/src/core/hle/kernel/handle_table.h b/src/core/hle/kernel/handle_table.h index 22ddda630..aee3583e8 100644 --- a/src/core/hle/kernel/handle_table.h +++ b/src/core/hle/kernel/handle_table.h @@ -47,7 +47,7 @@ public:      /**       * Allocates a handle for the given object.       * @return The created Handle or one of the following errors: -     *           - `ERR_OUT_OF_HANDLES`: the maximum number of handles has been exceeded. +     *           - `ERR_HANDLE_TABLE_FULL`: the maximum number of handles has been exceeded.       */      ResultVal<Handle> Create(SharedPtr<Object> obj); diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp index 21ddc2f7d..fc168d2b5 100644 --- a/src/core/hle/kernel/shared_memory.cpp +++ b/src/core/hle/kernel/shared_memory.cpp @@ -101,7 +101,7 @@ ResultCode SharedMemory::Map(Process* target_process, VAddr address, MemoryPermi          static_cast<u32>(this->permissions) & ~static_cast<u32>(other_permissions)) {          LOG_ERROR(Kernel, "cannot map id={}, address=0x{:X} name={}, permissions don't match",                    GetObjectId(), address, name); -        return ERR_WRONG_PERMISSION; +        return ERR_INVALID_MEMORY_PERMISSIONS;      }      VAddr target_address = address; | 
