diff options
| author | 2018-08-25 05:40:42 -0400 | |
|---|---|---|
| committer | 2018-08-25 09:40:12 -0400 | |
| commit | b8be5524bc3fd9c1d31a4a56cb321840c42ef0bb (patch) | |
| tree | 16eb07e5639804668e520707beebeebc90105d04 /src | |
| parent | kernel/error: Correct kernel error code for invalid combination (diff) | |
| download | yuzu-b8be5524bc3fd9c1d31a4a56cb321840c42ef0bb.tar.gz yuzu-b8be5524bc3fd9c1d31a4a56cb321840c42ef0bb.tar.xz yuzu-b8be5524bc3fd9c1d31a4a56cb321840c42ef0bb.zip | |
kernel/error: Add error code for invalid memory permissions
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/errors.h | 5 | ||||
| -rw-r--r-- | src/core/hle/kernel/shared_memory.cpp | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/core/hle/kernel/errors.h b/src/core/hle/kernel/errors.h index c4d9e8ea9..8b4e05191 100644 --- a/src/core/hle/kernel/errors.h +++ b/src/core/hle/kernel/errors.h | |||
| @@ -15,13 +15,13 @@ enum { | |||
| 15 | SessionClosedByRemote = 26, | 15 | SessionClosedByRemote = 26, |
| 16 | PortNameTooLong = 30, | 16 | PortNameTooLong = 30, |
| 17 | NoPendingSessions = 35, | 17 | NoPendingSessions = 35, |
| 18 | WrongPermission = 46, | ||
| 19 | InvalidBufferDescriptor = 48, | 18 | InvalidBufferDescriptor = 48, |
| 20 | MaxConnectionsReached = 52, | 19 | MaxConnectionsReached = 52, |
| 21 | 20 | ||
| 22 | // Confirmed Switch OS error codes | 21 | // Confirmed Switch OS error codes |
| 23 | InvalidAddress = 102, | 22 | InvalidAddress = 102, |
| 24 | InvalidMemoryState = 106, | 23 | InvalidMemoryState = 106, |
| 24 | InvalidMemoryPermissions = 108, | ||
| 25 | InvalidProcessorId = 113, | 25 | InvalidProcessorId = 113, |
| 26 | InvalidHandle = 114, | 26 | InvalidHandle = 114, |
| 27 | InvalidCombination = 116, | 27 | InvalidCombination = 116, |
| @@ -40,7 +40,6 @@ enum { | |||
| 40 | constexpr ResultCode ERR_OUT_OF_HANDLES(-1); | 40 | constexpr ResultCode ERR_OUT_OF_HANDLES(-1); |
| 41 | constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); | 41 | constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); |
| 42 | constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); | 42 | constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); |
| 43 | constexpr ResultCode ERR_WRONG_PERMISSION(-1); | ||
| 44 | constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); | 43 | constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); |
| 45 | constexpr ResultCode ERR_INVALID_ENUM_VALUE(ErrorModule::Kernel, ErrCodes::InvalidEnumValue); | 44 | constexpr ResultCode ERR_INVALID_ENUM_VALUE(ErrorModule::Kernel, ErrCodes::InvalidEnumValue); |
| 46 | constexpr ResultCode ERR_INVALID_ENUM_VALUE_FND(-1); | 45 | constexpr ResultCode ERR_INVALID_ENUM_VALUE_FND(-1); |
| @@ -50,6 +49,8 @@ constexpr ResultCode ERR_INVALID_COMBINATION_KERNEL(ErrorModule::Kernel, | |||
| 50 | constexpr ResultCode ERR_OUT_OF_MEMORY(-1); | 49 | constexpr ResultCode ERR_OUT_OF_MEMORY(-1); |
| 51 | constexpr ResultCode ERR_INVALID_ADDRESS(ErrorModule::Kernel, ErrCodes::InvalidAddress); | 50 | constexpr ResultCode ERR_INVALID_ADDRESS(ErrorModule::Kernel, ErrCodes::InvalidAddress); |
| 52 | constexpr ResultCode ERR_INVALID_ADDRESS_STATE(ErrorModule::Kernel, ErrCodes::InvalidMemoryState); | 51 | constexpr ResultCode ERR_INVALID_ADDRESS_STATE(ErrorModule::Kernel, ErrCodes::InvalidMemoryState); |
| 52 | constexpr ResultCode ERR_INVALID_MEMORY_PERMISSIONS(ErrorModule::Kernel, | ||
| 53 | ErrCodes::InvalidMemoryPermissions); | ||
| 53 | constexpr ResultCode ERR_INVALID_HANDLE(ErrorModule::Kernel, ErrCodes::InvalidHandle); | 54 | constexpr ResultCode ERR_INVALID_HANDLE(ErrorModule::Kernel, ErrCodes::InvalidHandle); |
| 54 | constexpr ResultCode ERR_INVALID_STATE(ErrorModule::Kernel, ErrCodes::InvalidState); | 55 | constexpr ResultCode ERR_INVALID_STATE(ErrorModule::Kernel, ErrCodes::InvalidState); |
| 55 | constexpr ResultCode ERR_INVALID_POINTER(-1); | 56 | constexpr ResultCode ERR_INVALID_POINTER(-1); |
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 | |||
| 101 | static_cast<u32>(this->permissions) & ~static_cast<u32>(other_permissions)) { | 101 | static_cast<u32>(this->permissions) & ~static_cast<u32>(other_permissions)) { |
| 102 | LOG_ERROR(Kernel, "cannot map id={}, address=0x{:X} name={}, permissions don't match", | 102 | LOG_ERROR(Kernel, "cannot map id={}, address=0x{:X} name={}, permissions don't match", |
| 103 | GetObjectId(), address, name); | 103 | GetObjectId(), address, name); |
| 104 | return ERR_WRONG_PERMISSION; | 104 | return ERR_INVALID_MEMORY_PERMISSIONS; |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | VAddr target_address = address; | 107 | VAddr target_address = address; |