diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index b0597db385927767b28d6e34ccbc92ee6ab04b3a..e006502da51d9f510b9ea23228b50ec286235335 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -33,7 +33,7 @@ set(SRCS core.cpp hle/hle.cpp hle/config_mem.cpp hle/coprocessor.cpp - hle/syscall.cpp + hle/svc.cpp hle/kernel/kernel.cpp hle/kernel/thread.cpp hle/service/apt.cpp diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj index f077154ee1b197124307d4f5df5567104e6138ed..6eb58a636cbcb41380428b2b8cb7164d5162c2fc 100644 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -175,7 +175,7 @@ <ClCompile Include="hle\service\hid.cpp" /> <ClCompile Include="hle\service\service.cpp" /> <ClCompile Include="hle\service\srv.cpp" /> - <ClCompile Include="hle\syscall.cpp" /> + <ClCompile Include="hle\svc.cpp" /> <ClCompile Include="hw\hw.cpp" /> <ClCompile Include="hw\lcd.cpp" /> <ClCompile Include="hw\ndma.cpp" /> @@ -223,7 +223,7 @@ <ClInclude Include="hle\service\hid.h" /> <ClInclude Include="hle\service\service.h" /> <ClInclude Include="hle\service\srv.h" /> - <ClInclude Include="hle\syscall.h" /> + <ClInclude Include="hle\svc.h" /> <ClInclude Include="hw\hw.h" /> <ClInclude Include="hw\lcd.h" /> <ClInclude Include="hw\ndma.h" /> diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters index 6aedeb54b004e7cc56e110ced35c0374c2507c60..fc4e35edb0682136b5db67c9c3bebcea69b93a0c 100644 --- a/src/core/core.vcxproj.filters +++ b/src/core/core.vcxproj.filters @@ -84,9 +84,6 @@ <ClCompile Include="hle\hle.cpp"> <Filter>hle</Filter> </ClCompile> - <ClCompile Include="hle\syscall.cpp"> - <Filter>hle</Filter> - </ClCompile> <ClCompile Include="hle\service\service.cpp"> <Filter>hle\service</Filter> </ClCompile> @@ -162,6 +159,9 @@ <ClCompile Include="hle\kernel\thread.cpp"> <Filter>hle\kernel</Filter> </ClCompile> + <ClCompile Include="hle\svc.cpp"> + <Filter>hle</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="arm\disassembler\arm_disasm.h"> @@ -226,9 +226,6 @@ <ClInclude Include="hle\service\service.h"> <Filter>hle\service</Filter> </ClInclude> - <ClInclude Include="hle\syscall.h"> - <Filter>hle</Filter> - </ClInclude> <ClInclude Include="hle\service\apt.h"> <Filter>hle\service</Filter> </ClInclude> @@ -289,6 +286,9 @@ <ClInclude Include="hle\kernel\thread.h"> <Filter>hle\kernel</Filter> </ClInclude> + <ClInclude Include="hle\svc.h"> + <Filter>hle</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <Text Include="CMakeLists.txt" /> diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp index 4523845711527efd8d1f70adf858b575915d3a59..080c36abf47fc1b3485243a89c5b8b4f7d754197 100644 --- a/src/core/hle/hle.cpp +++ b/src/core/hle/hle.cpp @@ -6,7 +6,7 @@ #include "core/mem_map.h" #include "core/hle/hle.h" -#include "core/hle/syscall.h" +#include "core/hle/svc.h" #include "core/hle/service/service.h" //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -15,17 +15,17 @@ namespace HLE { static std::vector<ModuleDef> g_module_db; -const FunctionDef* GetSyscallInfo(u32 opcode) { +const FunctionDef* GetSVCInfo(u32 opcode) { u32 func_num = opcode & 0xFFFFFF; // 8 bits if (func_num > 0xFF) { - ERROR_LOG(HLE,"Unknown syscall: 0x%02X", func_num); + ERROR_LOG(HLE,"Unknown SVC: 0x%02X", func_num); return NULL; } return &g_module_db[0].func_table[func_num]; } -void CallSyscall(u32 opcode) { - const FunctionDef *info = GetSyscallInfo(opcode); +void CallSVC(u32 opcode) { + const FunctionDef *info = GetSVCInfo(opcode); if (!info) { return; @@ -33,7 +33,7 @@ void CallSyscall(u32 opcode) { if (info->func) { info->func(); } else { - ERROR_LOG(HLE, "Unimplemented SysCall function %s(..)", info->name.c_str()); + ERROR_LOG(HLE, "Unimplemented SVC function %s(..)", info->name.c_str()); } } @@ -54,7 +54,7 @@ void RegisterModule(std::string name, int num_functions, const FunctionDef* func } void RegisterAllModules() { - Syscall::Register(); + SVC::Register(); } void Init() { diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h index 452546e1f8ceb65323424959f6946cf09b32e13c..c075147c39e8b13d67b4de6917d1040b46a2f846 100644 --- a/src/core/hle/hle.h +++ b/src/core/hle/hle.h @@ -34,7 +34,7 @@ struct ModuleDef { void RegisterModule(std::string name, int num_functions, const FunctionDef *func_table); -void CallSyscall(u32 opcode); +void CallSVC(u32 opcode); void EatCycles(u32 cycles); diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index cfc5327a3e0d704045591d478e0de68d976e471d..136fff02114f740c02626707487e4fd4a544d2a7 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -15,7 +15,7 @@ #include "core/core.h" #include "core/mem_map.h" #include "core/hle/hle.h" -#include "core/hle/syscall.h" +#include "core/hle/svc.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/thread.h" diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index f334dbcb8ed90adbb8d69770c675686eaf5659bf..eba730efb96b1ffc54a932a5234940552604c737 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -14,7 +14,7 @@ #include "core/mem_map.h" #include "core/hle/kernel/kernel.h" -#include "core/hle/syscall.h" +#include "core/hle/svc.h" //////////////////////////////////////////////////////////////////////////////////////////////////// // Namespace Service diff --git a/src/core/hle/syscall.cpp b/src/core/hle/svc.cpp similarity index 98% rename from src/core/hle/syscall.cpp rename to src/core/hle/svc.cpp index 9a12352468c1da7252328e512f94f84d2164532a..a9141699c8345e4318d50ea5a6ac472601631e2a 100644 --- a/src/core/hle/syscall.cpp +++ b/src/core/hle/svc.cpp @@ -13,14 +13,14 @@ #include "core/hle/kernel/thread.h" #include "core/hle/function_wrappers.h" -#include "core/hle/syscall.h" +#include "core/hle/svc.h" #include "core/hle/service/service.h" #include "core/hle/kernel/thread.h" //////////////////////////////////////////////////////////////////////////////////////////////////// -// Namespace Syscall +// Namespace SVC -namespace Syscall { +namespace SVC { enum ControlMemoryOperation { MEMORY_OPERATION_HEAP = 0x00000003, @@ -123,6 +123,8 @@ Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wa for (u32 i = 0; i < handle_count; i++) { DEBUG_LOG(SVC, "\thandle[%d]=0x%08X", i, handles[i]); } + __KernelReschedule("WaitSynchronizationN"); + return 0; } @@ -212,7 +214,7 @@ Result CreateEvent(void* _event, u32 reset_type) { return 0; } -const HLE::FunctionDef Syscall_Table[] = { +const HLE::FunctionDef SVC_Table[] = { {0x00, NULL, "Unknown"}, {0x01, WrapI_VUUUUU<ControlMemory>, "ControlMemory"}, {0x02, WrapI_VVU<QueryMemory>, "QueryMemory"}, @@ -342,7 +344,7 @@ const HLE::FunctionDef Syscall_Table[] = { }; void Register() { - HLE::RegisterModule("SyscallTable", ARRAY_SIZE(Syscall_Table), Syscall_Table); + HLE::RegisterModule("SVC_Table", ARRAY_SIZE(SVC_Table), SVC_Table); } } // namespace diff --git a/src/core/hle/syscall.h b/src/core/hle/svc.h similarity index 95% rename from src/core/hle/syscall.h rename to src/core/hle/svc.h index 3da349ed5fadc7c11b76b43a961cee794a8153c5..5c35977d13dae4ec1b266a2dedbadd23451af268 100644 --- a/src/core/hle/syscall.h +++ b/src/core/hle/svc.h @@ -39,9 +39,9 @@ enum ResetType { }; //////////////////////////////////////////////////////////////////////////////////////////////////// -// Namespace Syscall +// Namespace SVC -namespace Syscall { +namespace SVC { void Register();