Skip to content

Commit

Permalink
sys_prx: more constants
Browse files Browse the repository at this point in the history
  • Loading branch information
Megamouse committed Apr 23, 2021
1 parent 765e4e9 commit 59575f0
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
2 changes: 1 addition & 1 deletion rpcs3/Emu/Cell/Modules/sysPrxForUser.cpp
Expand Up @@ -73,7 +73,7 @@ error_code sys_get_random_number(vm::ptr<void> addr, u64 size)
{
sysPrxForUser.warning("sys_get_random_number(addr=*0x%x, size=%d)", addr, size);

if (size > 0x1000)
if (size > RANDOM_NUMBER_MAX_SIZE)
{
return CELL_EINVAL;
}
Expand Down
5 changes: 5 additions & 0 deletions rpcs3/Emu/Cell/Modules/sysPrxForUser.h
Expand Up @@ -3,6 +3,11 @@
#include "Emu/Memory/vm_ptr.h"
#include "Emu/Cell/ErrorCodes.h"

enum
{
RANDOM_NUMBER_MAX_SIZE = 4096
};

using spu_printf_cb_t = vm::ptr<s32(u32 arg)>;

// Aux
Expand Down
28 changes: 28 additions & 0 deletions rpcs3/Emu/Cell/lv2/sys_prx.h
Expand Up @@ -32,6 +32,12 @@ enum CellPrxError : u32
CELL_PRX_ERROR_UNDEFINED_SYMBOL = 0x80011904, // References undefined symbols
CELL_PRX_ERROR_UNSUPPORTED_RELOCATION_TYPE = 0x80011905, // Uses unsupported relocation type
CELL_PRX_ERROR_ELF_IS_REGISTERED = 0x80011910, // Fixed ELF is already registered
CELL_PRX_ERROR_NO_EXIT_ENTRY = 0x80011911,
};

enum
{
SYS_PRX_MODULE_FILENAME_SIZE = 512
};

struct sys_prx_get_module_id_by_name_option_t
Expand Down Expand Up @@ -147,6 +153,12 @@ enum : u32
{
SYS_PRX_RESIDENT = 0,
SYS_PRX_NO_RESIDENT = 1,

SYS_PRX_START_OK = 0,

SYS_PRX_STOP_SUCCESS = 0,
SYS_PRX_STOP_OK = 0,
SYS_PRX_STOP_FAILED = 1
};

// Unofficial names for PRX state
Expand Down Expand Up @@ -185,6 +197,22 @@ enum : u64
SYS_PRX_LOAD_MODULE_FLAGS_INVALIDMASK = ~SYS_PRX_LOAD_MODULE_FLAGS_FIXEDADDR,
};

// PPC
enum
{
SYS_PRX_R_PPC_ADDR32 = 1,
SYS_PRX_R_PPC_ADDR16_LO = 4,
SYS_PRX_R_PPC_ADDR16_HI = 5,
SYS_PRX_R_PPC_ADDR16_HA = 6,

SYS_PRX_R_PPC64_ADDR32 = SYS_PRX_R_PPC_ADDR32,
SYS_PRX_R_PPC64_ADDR16_LO = SYS_PRX_R_PPC_ADDR16_LO,
SYS_PRX_R_PPC64_ADDR16_HI = SYS_PRX_R_PPC_ADDR16_HI,
SYS_PRX_R_PPC64_ADDR16_HA = SYS_PRX_R_PPC_ADDR16_HA,
SYS_PRX_R_PPC64_ADDR64 = 38,
SYS_PRX_VARLINK_TERMINATE32 = 0x00000000
};

// SysCalls

error_code sys_prx_get_ppu_guid(ppu_thread& ppu);
Expand Down

0 comments on commit 59575f0

Please sign in to comment.