rpcsx/ps3fw/sys_libc.cpp
DH 62ad27d1e2 split rpcs3 and hle libraries
merge rpcs3 utilities
2025-04-08 19:46:57 +03:00

44 lines
1.2 KiB
C++

#include "stdafx.h"
#include "Emu/Cell/PPUModule.h"
LOG_CHANNEL(sys_libc);
vm::ptr<void> sys_libc_memcpy(vm::ptr<void> dst, vm::cptr<void> src, u32 size)
{
sys_libc.trace("memcpy(dst=*0x%x, src=*0x%x, size=0x%x)", dst, src, size);
::memcpy(dst.get_ptr(), src.get_ptr(), size);
return dst;
}
vm::ptr<void> sys_libc_memset(vm::ptr<void> dst, s32 value, u32 size)
{
sys_libc.trace("memset(dst=*0x%x, value=0x%x, size=0x%x)", dst, value, size);
::memset(dst.get_ptr(), value, size);
return dst;
}
vm::ptr<void> sys_libc_memmove(vm::ptr<void> dst, vm::ptr<void> src, u32 size)
{
sys_libc.trace("memmove(dst=*0x%x, src=*0x%x, size=0x%x)", dst, src, size);
::memmove(dst.get_ptr(), src.get_ptr(), size);
return dst;
}
u32 sys_libc_memcmp(vm::ptr<void> buf1, vm::ptr<void> buf2, u32 size)
{
sys_libc.trace("memcmp(buf1=*0x%x, buf2=*0x%x, size=0x%x)", buf1, buf2, size);
return ::memcmp(buf1.get_ptr(), buf2.get_ptr(), size);
}
DECLARE(ppu_module_manager::sys_libc)("sys_libc", []()
{
REG_FNID(sys_libc, "memcpy", sys_libc_memcpy)
/*.flag(MFF_FORCED_HLE)*/;
REG_FNID(sys_libc, "memset", sys_libc_memset);
REG_FNID(sys_libc, "memmove", sys_libc_memmove);
REG_FNID(sys_libc, "memcmp", sys_libc_memcmp);
});