mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-22 10:51:50 -05:00
- added SVC stubs for QueryMemory and GetThreadId
- added SVC structs MemoryInfo and PageInfo
This commit is contained in:
parent
4910b6f336
commit
4fba4f36bf
3 changed files with 30 additions and 2 deletions
|
@ -734,6 +734,11 @@ template<int func(void*, u32)> void WrapI_VU(){
|
|||
RETURN(retval);
|
||||
}
|
||||
|
||||
template<int func(void*, void*, u32)> void WrapI_VVU(){
|
||||
u32 retval = func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2));
|
||||
RETURN(retval);
|
||||
}
|
||||
|
||||
template<int func(void*, u32, void*, int)> void WrapI_VUVI(){
|
||||
u32 retval = func(Memory::GetPointer(PARAM(0)), PARAM(1), Memory::GetPointer(PARAM(2)), PARAM(3));
|
||||
RETURN(retval);
|
||||
|
|
|
@ -169,10 +169,22 @@ Result ReleaseMutex(Handle handle) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
Result GetThreadId(void* thread_id, u32 thread) {
|
||||
DEBUG_LOG(SVC, "(UNIMPLEMENTED) GetThreadId called thread=0x%08X", thread);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Result QueryMemory(void *_info, void *_out, u32 addr) {
|
||||
MemoryInfo* info = (MemoryInfo*) _info;
|
||||
PageInfo* out = (PageInfo*) _out;
|
||||
DEBUG_LOG(SVC, "(UNIMPLEMENTED) QueryMemory called addr=0x%08X", addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const HLE::FunctionDef Syscall_Table[] = {
|
||||
{0x00, NULL, "Unknown"},
|
||||
{0x01, WrapI_VUUUUU<ControlMemory>, "ControlMemory"},
|
||||
{0x02, NULL, "QueryMemory"},
|
||||
{0x02, WrapI_VVU<QueryMemory>, "QueryMemory"},
|
||||
{0x03, NULL, "ExitProcess"},
|
||||
{0x04, NULL, "GetProcessAffinityMask"},
|
||||
{0x05, NULL, "SetProcessAffinityMask"},
|
||||
|
@ -225,7 +237,7 @@ const HLE::FunctionDef Syscall_Table[] = {
|
|||
{0x34, NULL, "OpenThread"},
|
||||
{0x35, NULL, "GetProcessId"},
|
||||
{0x36, NULL, "GetProcessIdOfThread"},
|
||||
{0x37, NULL, "GetThreadId"},
|
||||
{0x37, WrapI_VU<GetThreadId>, "GetThreadId"},
|
||||
{0x38, WrapI_VU<GetResourceLimit>, "GetResourceLimit"},
|
||||
{0x39, NULL, "GetResourceLimitLimitValues"},
|
||||
{0x3A, WrapI_VUVI<GetResourceLimitCurrentValues>, "GetResourceLimitCurrentValues"},
|
||||
|
|
|
@ -9,6 +9,17 @@
|
|||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SVC structures
|
||||
|
||||
struct MemoryInfo {
|
||||
u32 base_address;
|
||||
u32 size;
|
||||
u32 permission;
|
||||
u32 state;
|
||||
};
|
||||
|
||||
struct PageInfo {
|
||||
u32 flags;
|
||||
};
|
||||
|
||||
struct ThreadContext {
|
||||
u32 cpu_registers[13];
|
||||
u32 sp;
|
||||
|
|
Loading…
Reference in a new issue