This commit is contained in:
Antonio 2024-09-02 01:10:37 -04:00
parent 60f0ad8299
commit cbc98e9ebf
9 changed files with 17 additions and 20 deletions

@ -1 +1 @@
Subproject commit e30b7d7fe228bfb3f6e41ce1040b44a15eb7d5e0
Subproject commit 63b5fa6a522a923a1f94f7431ba6d32a292cfac0

2
externals/glslang vendored

@ -1 +1 @@
Subproject commit 4422273e8464d20b9d8dd403cbfc3049e09a5f23
Subproject commit 12cbda959b6df2af119a76a73ff906c2bed36884

2
externals/robin-map vendored

@ -1 +1 @@
Subproject commit 1115dad3ffa0994e3f43b693d9b9cc99944c64c1
Subproject commit 2c48a1a50203bbaf1e3d0d64c5d726d56f8d3bb3

2
externals/sirit vendored

@ -1 +1 @@
Subproject commit 8db09231c448b913ae905d5237ce2eca46e3fe87
Subproject commit 37090c74cc6e680f2bc334cac8fd182f7634a1f6

2
externals/toml11 vendored

@ -1 +1 @@
Subproject commit 26d403e46102269e5314199cd313e82e4e17d99a
Subproject commit 4b740127230472779c4a4d71e1a75aaa3a367a2d

2
externals/vma vendored

@ -1 +1 @@
Subproject commit e1bdbca9baf4d682fb6066b380f4aa4a7bdbb58a
Subproject commit de8e65796ae5bf780a828c47376e6744bf1f4336

@ -1 +1 @@
Subproject commit d205aff40b4e15d4c568523ee6a26f85138126d9
Subproject commit c6391a7b8cd57e79ce6b6c832c8e3043c4d9967b

2
externals/xbyak vendored

@ -1 +1 @@
Subproject commit a78d6bac84bc9f7c1ec3a797a84c4e9d1381a492
Subproject commit ccdf68421bc8eb85693f573080fc0a5faad862db

View file

@ -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();
}