From cbc98e9ebfb0893558fcd15ae836cf570bcb1da6 Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 2 Sep 2024 01:10:37 -0400 Subject: [PATCH] '' --- externals/ffmpeg-core | 2 +- externals/glslang | 2 +- externals/robin-map | 2 +- externals/sirit | 2 +- externals/toml11 | 2 +- externals/vma | 2 +- externals/vulkan-headers | 2 +- externals/xbyak | 2 +- .../libraries/kernel/memory_management.cpp | 21 ++++++++----------- 9 files changed, 17 insertions(+), 20 deletions(-) diff --git a/externals/ffmpeg-core b/externals/ffmpeg-core index e30b7d7fe..63b5fa6a5 160000 --- a/externals/ffmpeg-core +++ b/externals/ffmpeg-core @@ -1 +1 @@ -Subproject commit e30b7d7fe228bfb3f6e41ce1040b44a15eb7d5e0 +Subproject commit 63b5fa6a522a923a1f94f7431ba6d32a292cfac0 diff --git a/externals/glslang b/externals/glslang index 4422273e8..12cbda959 160000 --- a/externals/glslang +++ b/externals/glslang @@ -1 +1 @@ -Subproject commit 4422273e8464d20b9d8dd403cbfc3049e09a5f23 +Subproject commit 12cbda959b6df2af119a76a73ff906c2bed36884 diff --git a/externals/robin-map b/externals/robin-map index 1115dad3f..2c48a1a50 160000 --- a/externals/robin-map +++ b/externals/robin-map @@ -1 +1 @@ -Subproject commit 1115dad3ffa0994e3f43b693d9b9cc99944c64c1 +Subproject commit 2c48a1a50203bbaf1e3d0d64c5d726d56f8d3bb3 diff --git a/externals/sirit b/externals/sirit index 8db09231c..37090c74c 160000 --- a/externals/sirit +++ b/externals/sirit @@ -1 +1 @@ -Subproject commit 8db09231c448b913ae905d5237ce2eca46e3fe87 +Subproject commit 37090c74cc6e680f2bc334cac8fd182f7634a1f6 diff --git a/externals/toml11 b/externals/toml11 index 26d403e46..4b7401272 160000 --- a/externals/toml11 +++ b/externals/toml11 @@ -1 +1 @@ -Subproject commit 26d403e46102269e5314199cd313e82e4e17d99a +Subproject commit 4b740127230472779c4a4d71e1a75aaa3a367a2d diff --git a/externals/vma b/externals/vma index e1bdbca9b..de8e65796 160000 --- a/externals/vma +++ b/externals/vma @@ -1 +1 @@ -Subproject commit e1bdbca9baf4d682fb6066b380f4aa4a7bdbb58a +Subproject commit de8e65796ae5bf780a828c47376e6744bf1f4336 diff --git a/externals/vulkan-headers b/externals/vulkan-headers index d205aff40..c6391a7b8 160000 --- a/externals/vulkan-headers +++ b/externals/vulkan-headers @@ -1 +1 @@ -Subproject commit d205aff40b4e15d4c568523ee6a26f85138126d9 +Subproject commit c6391a7b8cd57e79ce6b6c832c8e3043c4d9967b diff --git a/externals/xbyak b/externals/xbyak index a78d6bac8..ccdf68421 160000 --- a/externals/xbyak +++ b/externals/xbyak @@ -1 +1 @@ -Subproject commit a78d6bac84bc9f7c1ec3a797a84c4e9d1381a492 +Subproject commit ccdf68421bc8eb85693f573080fc0a5faad862db diff --git a/src/core/libraries/kernel/memory_management.cpp b/src/core/libraries/kernel/memory_management.cpp index 69e19a97e..69e5acdd2 100644 --- a/src/core/libraries/kernel/memory_management.cpp +++ b/src/core/libraries/kernel/memory_management.cpp @@ -272,7 +272,6 @@ s32 PS4_SYSV_ABI sceKernelBatchMap2(OrbisKernelBatchMapEntry* entries, int numEn int* numEntriesOut, int flags) { int result = ORBIS_OK; int processed = 0; - int result = 0; for (int i = 0; i < numEntries; i++) { if (entries == nullptr || entries[i].length == 0 || entries[i].operation > 4) { result = ORBIS_KERNEL_ERROR_EINVAL; @@ -298,7 +297,8 @@ s32 PS4_SYSV_ABI sceKernelBatchMap2(OrbisKernelBatchMapEntry* entries, int numEn if (result == 0) processed++; - } else if (entries[i].operation == MemoryOpTypes::ORBIS_KERNEL_MAP_OP_PROTECT) { + } + case MemoryOpTypes::ORBIS_KERNEL_MAP_OP_PROTECT: { result = sceKernelMProtect(entries[i].start, entries[i].length, entries[i].protection); LOG_INFO(Kernel_Vmm, "BatchMap: entry = {}, operation = {}, len = {:#x}, result = {}", i, entries[i].operation, entries[i].length, result); @@ -309,7 +309,9 @@ s32 PS4_SYSV_ABI sceKernelBatchMap2(OrbisKernelBatchMapEntry* entries, int numEn if (result == 0) { processed++; } - } else if (entries[i].operation == MemoryOpTypes::ORBIS_KERNEL_MAP_OP_TYPE_PROTECT) { + } + + case MemoryOpTypes::ORBIS_KERNEL_MAP_OP_TYPE_PROTECT: { result = sceKernelMTypeProtect(entries[i].start, entries[i].length, entries[i].type, entries[i].protection); LOG_INFO(Kernel_Vmm, "BatchMap: entry = {}, operation = {}, len = {:#x}, result = {}", @@ -321,7 +323,9 @@ s32 PS4_SYSV_ABI sceKernelBatchMap2(OrbisKernelBatchMapEntry* entries, int numEn if (result == 0) { processed++; } - } else if (entries[i].operation == MemoryOpTypes::ORBIS_KERNEL_MAP_OP_MAP_FLEXIBLE) { + } + + case MemoryOpTypes::ORBIS_KERNEL_MAP_OP_MAP_FLEXIBLE: { result = sceKernelMapNamedFlexibleMemory(&entries[i].start, entries[i].length, entries[i].protection, flags, ""); LOG_INFO(Kernel_Vmm, @@ -330,14 +334,7 @@ s32 PS4_SYSV_ABI sceKernelBatchMap2(OrbisKernelBatchMapEntry* entries, int numEn i, entries[i].operation, entries[i].length, (u8)entries[i].type, result); break; } - case MemoryOpTypes::ORBIS_KERNEL_MAP_OP_TYPE_PROTECT: { - // By now, ignore protection and log it instead - LOG_WARNING(Kernel_Vmm, - "entry = {}, operation = {}, len = {:#x}, type = {} " - "is UNSUPPORTED and skipped", - i, entries[i].operation, entries[i].length, (u8)entries[i].type); - break; - } + default: { UNREACHABLE(); }