diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index b0597db38..e006502da 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 f077154ee..6eb58a636 100644 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -175,7 +175,7 @@ - + @@ -223,7 +223,7 @@ - + diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters index 6aedeb54b..fc4e35edb 100644 --- a/src/core/core.vcxproj.filters +++ b/src/core/core.vcxproj.filters @@ -84,9 +84,6 @@ hle - - hle - hle\service @@ -162,6 +159,9 @@ hle\kernel + + hle + @@ -226,9 +226,6 @@ hle\service - - hle - hle\service @@ -289,6 +286,9 @@ hle\kernel + + hle + diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp index 452384571..080c36abf 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 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 452546e1f..c075147c3 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 cfc5327a3..136fff021 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 f334dbcb8..eba730efb 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 9a1235246..a9141699c 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"}, {0x02, WrapI_VVU, "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 3da349ed5..5c35977d1 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();