summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2018-08-25 05:40:42 -0400
committerGravatar Lioncash2018-08-25 09:40:12 -0400
commitb8be5524bc3fd9c1d31a4a56cb321840c42ef0bb (patch)
tree16eb07e5639804668e520707beebeebc90105d04 /src
parentkernel/error: Correct kernel error code for invalid combination (diff)
downloadyuzu-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.h5
-rw-r--r--src/core/hle/kernel/shared_memory.cpp2
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 {
40constexpr ResultCode ERR_OUT_OF_HANDLES(-1); 40constexpr ResultCode ERR_OUT_OF_HANDLES(-1);
41constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); 41constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1);
42constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); 42constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1);
43constexpr ResultCode ERR_WRONG_PERMISSION(-1);
44constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); 43constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1);
45constexpr ResultCode ERR_INVALID_ENUM_VALUE(ErrorModule::Kernel, ErrCodes::InvalidEnumValue); 44constexpr ResultCode ERR_INVALID_ENUM_VALUE(ErrorModule::Kernel, ErrCodes::InvalidEnumValue);
46constexpr ResultCode ERR_INVALID_ENUM_VALUE_FND(-1); 45constexpr ResultCode ERR_INVALID_ENUM_VALUE_FND(-1);
@@ -50,6 +49,8 @@ constexpr ResultCode ERR_INVALID_COMBINATION_KERNEL(ErrorModule::Kernel,
50constexpr ResultCode ERR_OUT_OF_MEMORY(-1); 49constexpr ResultCode ERR_OUT_OF_MEMORY(-1);
51constexpr ResultCode ERR_INVALID_ADDRESS(ErrorModule::Kernel, ErrCodes::InvalidAddress); 50constexpr ResultCode ERR_INVALID_ADDRESS(ErrorModule::Kernel, ErrCodes::InvalidAddress);
52constexpr ResultCode ERR_INVALID_ADDRESS_STATE(ErrorModule::Kernel, ErrCodes::InvalidMemoryState); 51constexpr ResultCode ERR_INVALID_ADDRESS_STATE(ErrorModule::Kernel, ErrCodes::InvalidMemoryState);
52constexpr ResultCode ERR_INVALID_MEMORY_PERMISSIONS(ErrorModule::Kernel,
53 ErrCodes::InvalidMemoryPermissions);
53constexpr ResultCode ERR_INVALID_HANDLE(ErrorModule::Kernel, ErrCodes::InvalidHandle); 54constexpr ResultCode ERR_INVALID_HANDLE(ErrorModule::Kernel, ErrCodes::InvalidHandle);
54constexpr ResultCode ERR_INVALID_STATE(ErrorModule::Kernel, ErrCodes::InvalidState); 55constexpr ResultCode ERR_INVALID_STATE(ErrorModule::Kernel, ErrCodes::InvalidState);
55constexpr ResultCode ERR_INVALID_POINTER(-1); 56constexpr 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;