mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00: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…
	
	Add table
		Add a link
		
	
		Reference in a new issue