Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from Mar 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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"

xddxd marked this conversation as resolved.
Show resolved Hide resolved
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