Skip to content

Commit

Permalink
Move sys_crashdump to it's own file and make it a module itself
Browse files Browse the repository at this point in the history
  • Loading branch information
xddxd committed Mar 8, 2021
1 parent e5d0e03 commit 267da25
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 42 deletions.
1 change: 1 addition & 0 deletions rpcs3/Emu/CMakeLists.txt
Expand Up @@ -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
Expand Down
30 changes: 0 additions & 30 deletions rpcs3/Emu/Cell/Modules/sysPrxForUser.cpp
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down
12 changes: 0 additions & 12 deletions rpcs3/Emu/Cell/Modules/sysPrxForUser.h
Expand Up @@ -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;
Expand Down
35 changes: 35 additions & 0 deletions rpcs3/Emu/Cell/Modules/sys_crashdump.cpp
@@ -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);
});
15 changes: 15 additions & 0 deletions rpcs3/Emu/Cell/Modules/sys_crashdump.h
@@ -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;
};
1 change: 1 addition & 0 deletions rpcs3/Emu/Cell/PPUModule.cpp
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions rpcs3/Emu/Cell/PPUModule.h
Expand Up @@ -261,6 +261,7 @@ class ppu_module_manager final
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;
Expand Down
2 changes: 2 additions & 0 deletions rpcs3/emucore.vcxproj
Expand Up @@ -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" />
Expand Down Expand Up @@ -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" />
Expand Down
6 changes: 6 additions & 0 deletions rpcs3/emucore.vcxproj.filters
Expand Up @@ -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">
Expand Down Expand Up @@ -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>
Expand Down

0 comments on commit 267da25

Please sign in to comment.