mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-21 03:55:32 +00:00
Debugger/Disasm: Name SPU Syscalls
This commit is contained in:
parent
7bb830a228
commit
dfbc49513d
3 changed files with 22 additions and 2 deletions
|
@ -4,6 +4,7 @@
|
|||
#include "SPUOpcodes.h"
|
||||
|
||||
union v128;
|
||||
enum spu_stop_syscall : u32;
|
||||
|
||||
static constexpr const char* spu_reg_name[128] =
|
||||
{
|
||||
|
@ -176,7 +177,7 @@ public:
|
|||
//0 - 10
|
||||
void STOP(spu_opcode_t op)
|
||||
{
|
||||
op.rb ? UNK(op) : DisAsm("stop", op.opcode & 0x3fff);
|
||||
op.rb ? UNK(op) : DisAsm("stop", fmt::format("0x%x #%s", op.opcode & 0x3fff, spu_stop_syscall{op.opcode & 0x3fff}).c_str());
|
||||
}
|
||||
void LNOP(spu_opcode_t /*op*/)
|
||||
{
|
||||
|
|
|
@ -48,6 +48,25 @@ void fmt_class_string<spu_group_status>::format(std::string& out, u64 arg)
|
|||
});
|
||||
}
|
||||
|
||||
template <>
|
||||
void fmt_class_string<spu_stop_syscall>::format(std::string& out, u64 arg)
|
||||
{
|
||||
format_enum(out, arg, [](spu_stop_syscall value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case SYS_SPU_THREAD_STOP_YIELD: return "sys_spu_thread_yield";
|
||||
case SYS_SPU_THREAD_STOP_GROUP_EXIT: return "sys_spu_thread_group_exit";
|
||||
case SYS_SPU_THREAD_STOP_THREAD_EXIT: return "sys_spu_thread_thread_exit";
|
||||
case SYS_SPU_THREAD_STOP_RECEIVE_EVENT: return "sys_spu_thread_receive_event";
|
||||
case SYS_SPU_THREAD_STOP_TRY_RECEIVE_EVENT: return "sys_spu_thread_tryreceive_event";
|
||||
case SYS_SPU_THREAD_STOP_SWITCH_SYSTEM_MODULE: return "sys_spu_thread_switch_system_module";
|
||||
}
|
||||
|
||||
return unknown;
|
||||
});
|
||||
}
|
||||
|
||||
void sys_spu_image::load(const fs::file& stream)
|
||||
{
|
||||
const spu_exec_object obj{stream, 0, elf_opt::no_sections + elf_opt::no_data};
|
||||
|
|
|
@ -72,7 +72,7 @@ enum : s32
|
|||
SYS_SPU_SEGMENT_TYPE_INFO = 4,
|
||||
};
|
||||
|
||||
enum : u32
|
||||
enum spu_stop_syscall : u32
|
||||
{
|
||||
SYS_SPU_THREAD_STOP_YIELD = 0x0100,
|
||||
SYS_SPU_THREAD_STOP_GROUP_EXIT = 0x0101,
|
||||
|
|
Loading…
Add table
Reference in a new issue