Move sys_crashdump to it's own file and make it a module itself

This commit is contained in:
xddxd 2021-03-08 17:28:07 +02:00 committed by Ivan
parent e5d0e035d0
commit df338f0552
9 changed files with 61 additions and 42 deletions

View file

@ -319,6 +319,7 @@ target_sources(rpcs3_emu PRIVATE
Cell/Modules/sceNpTus.cpp
Cell/Modules/sceNpUtil.cpp
Cell/Modules/StaticHLE.cpp
Cell/Modules/sys_crashdump.cpp
Cell/Modules/sys_game.cpp
Cell/Modules/sys_heap.cpp
Cell/Modules/sys_io_.cpp

View file

@ -144,30 +144,6 @@ error_code sys_lv2coredump_D725F320()
fmt::throw_exception("Unknown, unimplemented.");
}
error_code sys_crash_dump_get_user_log_area(u8 index, vm::ptr<sys_crash_dump_log_area_info_t> entry)
{
sysPrxForUser.todo("sys_crash_dump_get_user_log_area(index=%d, entry=*0x%x)", index, entry);
if (index > SYS_CRASH_DUMP_MAX_LOG_AREA || !entry)
{
return CELL_EINVAL;
}
return CELL_OK;
}
error_code sys_crash_dump_set_user_log_area(u8 index, vm::ptr<sys_crash_dump_log_area_info_t> new_entry)
{
sysPrxForUser.todo("sys_crash_dump_set_user_log_area(index=%d, new_entry=*0x%x)", index, new_entry);
if (index > SYS_CRASH_DUMP_MAX_LOG_AREA || !new_entry)
{
return CELL_EINVAL;
}
return CELL_OK;
}
error_code sys_get_bd_media_id()
{
UNIMPLEMENTED_FUNC(sysPrxForUser);
@ -225,12 +201,6 @@ DECLARE(ppu_module_manager::sysPrxForUser)("sysPrxForUser", []()
REG_FNID(sys_lv2coredump, 0xD725F320, sys_lv2coredump_D725F320);
});
static ppu_static_module sys_crashdump("sys_crashdump", []()
{
REG_FUNC(sys_crashdump, sys_crash_dump_get_user_log_area);
REG_FUNC(sys_crashdump, sys_crash_dump_set_user_log_area);
});
static ppu_static_module sysBdMediaId("sysBdMediaId", []()
{
REG_FUNC(sysBdMediaId, sys_get_bd_media_id);

View file

@ -43,18 +43,6 @@ struct sys_lwmutex_locker
}
};
enum
{
SYS_CRASH_DUMP_MAX_LABEL_SIZE = 16,
SYS_CRASH_DUMP_MAX_LOG_AREA = 127 // not actually defined in CELL
};
struct sys_crash_dump_log_area_info_t
{
char label[SYS_CRASH_DUMP_MAX_LABEL_SIZE]; // 15 + 1 (0 terminated)
vm::ptr<void> addr;
be_t<u64> size;
};
struct sys_lwcond_t;
struct sys_lwcond_attribute_t;

View file

@ -0,0 +1,35 @@
#include "stdafx.h"
#include "sys_crashdump.h"
#include "Emu/Cell/PPUModule.h"
LOG_CHANNEL(sys_crashdump);
error_code sys_crash_dump_get_user_log_area(u8 index, vm::ptr<sys_crash_dump_log_area_info_t> entry)
{
sys_crashdump.todo("sys_crash_dump_get_user_log_area(index=%d, entry=*0x%x)", index, entry);
if (index > SYS_CRASH_DUMP_MAX_LOG_AREA || !entry)
{
return CELL_EINVAL;
}
return CELL_OK;
}
error_code sys_crash_dump_set_user_log_area(u8 index, vm::ptr<sys_crash_dump_log_area_info_t> new_entry)
{
sys_crashdump.todo("sys_crash_dump_set_user_log_area(index=%d, new_entry=*0x%x)", index, new_entry);
if (index > SYS_CRASH_DUMP_MAX_LOG_AREA || !new_entry)
{
return CELL_EINVAL;
}
return CELL_OK;
}
DECLARE(ppu_module_manager::sys_crashdump) ("sys_crashdump", []()
{
REG_FUNC(sys_crashdump, sys_crash_dump_get_user_log_area);
REG_FUNC(sys_crashdump, sys_crash_dump_set_user_log_area);
});

View file

@ -0,0 +1,15 @@
#pragma once
#include "Emu/Memory/vm_ptr.h"
enum
{
SYS_CRASH_DUMP_MAX_LABEL_SIZE = 16,
SYS_CRASH_DUMP_MAX_LOG_AREA = 127 // not actually defined in CELL
};
struct sys_crash_dump_log_area_info_t
{
char label[SYS_CRASH_DUMP_MAX_LABEL_SIZE]; // 15 + 1 (0 terminated)
vm::ptr<void> addr;
be_t<u64> size;
};

View file

@ -241,6 +241,7 @@ static void ppu_initialize_modules(ppu_linkage_info* link)
&ppu_module_manager::sceNpTrophy,
&ppu_module_manager::sceNpTus,
&ppu_module_manager::sceNpUtil,
&ppu_module_manager::sys_crashdump,
&ppu_module_manager::sys_io,
&ppu_module_manager::sys_net,
&ppu_module_manager::sysPrxForUser,

View file

@ -261,6 +261,7 @@ public:
static const ppu_static_module sceNpTrophy;
static const ppu_static_module sceNpTus;
static const ppu_static_module sceNpUtil;
static const ppu_static_module sys_crashdump;
static const ppu_static_module sys_io;
static const ppu_static_module sys_net;
static const ppu_static_module sysPrxForUser;

View file

@ -75,6 +75,7 @@
<ClCompile Include="Emu\Audio\Pulse\PulseBackend.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="Emu\Cell\Modules\sys_crashdump.cpp" />
<ClCompile Include="Emu\Io\GHLtar.cpp" />
<ClCompile Include="Emu\Io\Buzz.cpp" />
<ClCompile Include="Emu\Audio\AudioBackend.cpp" />
@ -449,6 +450,7 @@
<ClInclude Include="Emu\Cell\Modules\cellRemotePlay.h" />
<ClInclude Include="Emu\Cell\Modules\cellSsl.h" />
<ClInclude Include="Emu\Cell\Modules\cellStorage.h" />
<ClInclude Include="Emu\Cell\Modules\sys_crashdump.h" />
<ClInclude Include="Emu\Io\GHLtar.h" />
<ClInclude Include="Emu\Io\Buzz.h" />
<ClInclude Include="Emu\Io\interception.h" />

View file

@ -983,6 +983,9 @@
<ClCompile Include="Emu\RSX\Common\texture_cache.cpp">
<Filter>Emu\GPU\RSX\Common</Filter>
</ClCompile>
<ClCompile Include="Emu\Cell\Modules\sys_crashdump.cpp">
<Filter>Emu\Cell\Modules</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Crypto\aes.h">
@ -1519,6 +1522,9 @@
<ClInclude Include="Emu\Cell\Modules\sceNpUtil.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>
<ClInclude Include="Emu\Cell\Modules\sys_crashdump.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>
<ClInclude Include="Emu\Cell\Modules\sys_lv2dbg.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>