From 8fd3b26308e90c4de38cc7de6fbb4c103c268af6 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Fri, 23 Apr 2021 21:16:00 +0200 Subject: [PATCH] sys: more constants --- rpcs3/Emu/Cell/lv2/sys_memory.h | 14 ++++++++++++++ rpcs3/Emu/Cell/lv2/sys_mmapper.cpp | 18 +++++++++--------- rpcs3/Emu/Cell/lv2/sys_prx.cpp | 1 + 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_memory.h b/rpcs3/Emu/Cell/lv2/sys_memory.h index 18f96d93ec..cd087e5bb7 100644 --- a/rpcs3/Emu/Cell/lv2/sys_memory.h +++ b/rpcs3/Emu/Cell/lv2/sys_memory.h @@ -31,6 +31,20 @@ enum : u64 SYS_MEMORY_PAGE_SIZE_MASK = 0xf00ull, }; +enum : u64 +{ + SYS_MEMORY_GRANULARITY_64K = 0x0000000000000200, + SYS_MEMORY_GRANULARITY_1M = 0x0000000000000400, + SYS_MEMORY_GRANULARITY_MASK = 0x0000000000000f00, +}; + +enum : u64 +{ + SYS_MEMORY_PROT_READ_WRITE = 0x0000000000040000, + SYS_MEMORY_PROT_READ_ONLY = 0x0000000000080000, + SYS_MEMORY_PROT_MASK = 0x00000000000f0000, +}; + struct sys_memory_info_t { be_t total_user_memory; diff --git a/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp b/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp index 9383fb83da..5564d66615 100644 --- a/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_mmapper.cpp @@ -114,10 +114,10 @@ error_code sys_mmapper_allocate_shared_memory(ppu_thread& ppu, u64 ipc_key, u64 } // Check page granularity - switch (flags & SYS_MEMORY_PAGE_SIZE_MASK) + switch (flags & SYS_MEMORY_GRANULARITY_MASK) { case 0: - case SYS_MEMORY_PAGE_SIZE_1M: + case SYS_MEMORY_GRANULARITY_1M: { if (size % 0x100000) { @@ -126,7 +126,7 @@ error_code sys_mmapper_allocate_shared_memory(ppu_thread& ppu, u64 ipc_key, u64 break; } - case SYS_MEMORY_PAGE_SIZE_64K: + case SYS_MEMORY_GRANULARITY_64K: { if (size % 0x10000) { @@ -171,10 +171,10 @@ error_code sys_mmapper_allocate_shared_memory_from_container(ppu_thread& ppu, u6 } // Check page granularity. - switch (flags & SYS_MEMORY_PAGE_SIZE_MASK) + switch (flags & SYS_MEMORY_GRANULARITY_MASK) { case 0: - case SYS_MEMORY_PAGE_SIZE_1M: + case SYS_MEMORY_GRANULARITY_1M: { if (size % 0x100000) { @@ -183,7 +183,7 @@ error_code sys_mmapper_allocate_shared_memory_from_container(ppu_thread& ppu, u6 break; } - case SYS_MEMORY_PAGE_SIZE_64K: + case SYS_MEMORY_GRANULARITY_64K: { if (size % 0x10000) { @@ -240,9 +240,9 @@ error_code sys_mmapper_allocate_shared_memory_ext(ppu_thread& ppu, u64 ipc_key, return CELL_EALIGN; } - switch (flags & SYS_MEMORY_PAGE_SIZE_MASK) + switch (flags & SYS_MEMORY_GRANULARITY_MASK) { - case SYS_MEMORY_PAGE_SIZE_1M: + case SYS_MEMORY_GRANULARITY_1M: case 0: { if (size % 0x100000) @@ -252,7 +252,7 @@ error_code sys_mmapper_allocate_shared_memory_ext(ppu_thread& ppu, u64 ipc_key, break; } - case SYS_MEMORY_PAGE_SIZE_64K: + case SYS_MEMORY_GRANULARITY_64K: { if (size % 0x10000) { diff --git a/rpcs3/Emu/Cell/lv2/sys_prx.cpp b/rpcs3/Emu/Cell/lv2/sys_prx.cpp index a0e301b7ac..0322b45720 100644 --- a/rpcs3/Emu/Cell/lv2/sys_prx.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_prx.cpp @@ -892,6 +892,7 @@ void fmt_class_string::format(std::string& out, u64 arg) STR_CASE(CELL_PRX_ERROR_UNDEFINED_SYMBOL); STR_CASE(CELL_PRX_ERROR_UNSUPPORTED_RELOCATION_TYPE); STR_CASE(CELL_PRX_ERROR_ELF_IS_REGISTERED); + STR_CASE(CELL_PRX_ERROR_NO_EXIT_ENTRY); } return unknown;