mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-02-12 18:54:29 +01:00
* Replace `int` with `s32` as return type for syscalls. * Renamed `SC_Something.*` files with the proper lv2 name `sys_something.*`. * Moving away from the lv2, those functions and folders that doesn't correspond to lv2 functions. E.g. module functions from sys_io, sysPrxForUser, cellGcmSys. * Splitted some files (memory -> memory+mmapper) and merged other ones (event+event_flag ->event, spu+spu_thread -> spu), according to common sense, PSDevWiki docs, and checking firmware files. * Removed external functions from `SysCalls.h`. NOTE: What should we do about: cellGcmCallback? It's not a lv2 syscall but it appears on the sc_table and it is actually called in games. Is this some kind of hack?
32 lines
987 B
C
32 lines
987 B
C
#pragma pack
|
|
|
|
#define SYS_VM_TEST_INVALID 0x0000ULL
|
|
#define SYS_VM_TEST_UNUSED 0x0001ULL
|
|
#define SYS_VM_TEST_ALLOCATED 0x0002ULL
|
|
#define SYS_VM_TEST_STORED 0x0004ULL
|
|
|
|
struct sys_vm_statistics {
|
|
u64 vm_crash_ppu;
|
|
u64 vm_crash_spu;
|
|
u64 vm_read;
|
|
u64 vm_write;
|
|
u32 physical_mem_size;
|
|
u32 physical_mem_used;
|
|
u64 timestamp;
|
|
};
|
|
|
|
// SysCalls
|
|
s32 sys_vm_memory_map(u32 vsize, u32 psize, u32 cid, u64 flag, u64 policy, u32 addr);
|
|
s32 sys_vm_unmap(u32 addr);
|
|
s32 sys_vm_append_memory(u32 addr, u32 size);
|
|
s32 sys_vm_return_memory(u32 addr, u32 size);
|
|
s32 sys_vm_lock(u32 addr, u32 size);
|
|
s32 sys_vm_unlock(u32 addr, u32 size);
|
|
s32 sys_vm_touch(u32 addr, u32 size);
|
|
s32 sys_vm_flush(u32 addr, u32 size);
|
|
s32 sys_vm_invalidate(u32 addr, u32 size);
|
|
s32 sys_vm_store(u32 addr, u32 size);
|
|
s32 sys_vm_sync(u32 addr, u32 size);
|
|
s32 sys_vm_test(u32 addr, u32 size, u32 result_addr);
|
|
s32 sys_vm_get_statistics(u32 addr, u32 stat_addr);
|