diff --git a/Core/HLE/HLETables.cpp b/Core/HLE/HLETables.cpp index 27f916faeb..9349f5ade3 100644 --- a/Core/HLE/HLETables.cpp +++ b/Core/HLE/HLETables.cpp @@ -75,7 +75,7 @@ const HLEFunction UtilsForUser[] = { {0x91E4F6A7, WrapU_V, "sceKernelLibcClock"}, {0x27CC57F0, WrapU_U, "sceKernelLibcTime"}, - {0x71EC4271, sceKernelLibcGettimeofday, "sceKernelLibcGettimeofday"}, + {0x71EC4271, WrapU_U, "sceKernelLibcGettimeofday"}, {0xBFA98062, WrapI_UI, "sceKernelDcacheInvalidateRange"}, {0xC8186A58, 0, "sceKernelUtilsMd5Digest"}, {0x9E5C5086, 0, "sceKernelUtilsMd5BlockInit"}, @@ -87,8 +87,8 @@ const HLEFunction UtilsForUser[] = {0x585F1C09, 0, "sceKernelUtilsSha1BlockResult"}, {0xE860E75E, 0, "sceKernelUtilsMt19937Init"}, {0x06FB8A63, 0, "sceKernelUtilsMt19937UInt"}, - {0x37FB5C42, sceKernelGetGPI, "sceKernelGetGPI"}, - {0x6AD345D7, sceKernelSetGPO, "sceKernelSetGPO"}, + {0x37FB5C42, WrapU_V, "sceKernelGetGPI"}, + {0x6AD345D7, WrapV_U, "sceKernelSetGPO"}, {0x79D1C3FA, WrapI_V, "sceKernelDcacheWritebackAll"}, {0xB435DEC5, WrapI_V, "sceKernelDcacheWritebackInvalidateAll"}, {0x3EE30821, WrapI_UI, "sceKernelDcacheWritebackRange"}, @@ -98,7 +98,7 @@ const HLEFunction UtilsForUser[] = {0x16641D70, 0, "sceKernelDcacheReadTag"}, {0x4FD31C9D, 0, "sceKernelIcacheProbe"}, {0xFB05FAD0, 0, "sceKernelIcacheReadTag"}, - {0x920f104a, sceKernelIcacheInvalidateAll, "sceKernelIcacheInvalidateAll"} + {0x920f104a, WrapU_V, "sceKernelIcacheInvalidateAll"} }; @@ -126,7 +126,7 @@ const HLEFunction LoadCoreForKernel[] = {0xB4D6FECC, 0, "sceKernelApplyElfRelSection"}, {0x54AB2675, 0, "LoadCoreForKernel_54AB2675"}, {0x2952F5AC, 0, "sceKernelDcacheWBinvAll"}, - {0xD8779AC6, sceKernelIcacheClearAll, "sceKernelIcacheClearAll"}, + {0xD8779AC6, WrapU_V, "sceKernelIcacheClearAll"}, {0x99A695F0, 0, "sceKernelRegisterLibrary"}, {0x5873A31F, 0, "sceKernelRegisterLibraryForUser"}, {0x0B464512, 0, "sceKernelReleaseLibrary"}, @@ -148,7 +148,7 @@ const HLEFunction LoadCoreForKernel[] = {0xCCE4A157, 0, "sceKernelFindModuleByUID"}, {0x82CE54ED, 0, "sceKernelModuleCount"}, {0xC0584F0C, 0, "sceKernelGetModuleList"}, - {0xCF8A41B1, sceKernelFindModuleByName,"sceKernelFindModuleByName"}, + {0xCF8A41B1, WrapU_V,"sceKernelFindModuleByName"}, }; @@ -158,7 +158,7 @@ const HLEFunction KDebugForKernel[] = {0x2FF4E9F9, 0, "sceKernelAssert"}, {0x9B868276, 0, "sceKernelGetDebugPutchar"}, {0xE146606D, 0, "sceKernelRegisterDebugPutchar"}, - {0x7CEB2C09, sceKernelRegisterKprintfHandler, "sceKernelRegisterKprintfHandler"}, + {0x7CEB2C09, WrapU_V, "sceKernelRegisterKprintfHandler"}, {0x84F370BC, 0, "Kprintf"}, {0x5CE9838B, 0, "sceKernelDebugWrite"}, {0x66253C4E, 0, "sceKernelRegisterDebugWrite"}, diff --git a/Core/HLE/sceKernel.cpp b/Core/HLE/sceKernel.cpp index 1dae0dd5ab..014476134f 100644 --- a/Core/HLE/sceKernel.cpp +++ b/Core/HLE/sceKernel.cpp @@ -221,10 +221,10 @@ void sceKernelDevkitVersion() RETURN(1); } -void sceKernelRegisterKprintfHandler() +u32 sceKernelRegisterKprintfHandler() { ERROR_LOG(HLE,"UNIMPL sceKernelRegisterKprintfHandler()"); - RETURN(0); + return 0; } void sceKernelRegisterDefaultExceptionHandler() { @@ -232,17 +232,17 @@ void sceKernelRegisterDefaultExceptionHandler() RETURN(0); } -void sceKernelSetGPO() +void sceKernelSetGPO(u32 ledAddr) { // Sets debug LEDs. - DEBUG_LOG(HLE,"sceKernelSetGPO(%02x)", PARAM(0)); + DEBUG_LOG(HLE,"sceKernelSetGPO(%02x)", ledAddr); } -void sceKernelGetGPI() +u32 sceKernelGetGPI() { // Always returns 0 on production systems. DEBUG_LOG(HLE,"0=sceKernelGetGPI()"); - RETURN(0); + return 0; } // Don't even log these, they're spammy and we probably won't @@ -461,17 +461,17 @@ KernelObject *KernelObjectPool::CreateByIDType(int type) } } -void sceKernelIcacheInvalidateAll() +u32 sceKernelIcacheInvalidateAll() { DEBUG_LOG(CPU, "Icache invalidated - should clear JIT someday"); - RETURN(0); + return 0; } -void sceKernelIcacheClearAll() +u32 sceKernelIcacheClearAll() { DEBUG_LOG(CPU, "Icache cleared - should clear JIT someday"); - RETURN(0); + return 0; } struct SystemStatus { diff --git a/Core/HLE/sceKernel.h b/Core/HLE/sceKernel.h index 09bfade06f..96d597a71a 100644 --- a/Core/HLE/sceKernel.h +++ b/Core/HLE/sceKernel.h @@ -288,21 +288,21 @@ void sceKernelSleepThreadCB(); void sceKernelDevkitVersion(); -void sceKernelRegisterKprintfHandler(); +u32 sceKernelRegisterKprintfHandler(); void sceKernelRegisterDefaultExceptionHandler(); -void sceKernelFindModuleByName(); +u32 sceKernelFindModuleByName(); -void sceKernelSetGPO(); -void sceKernelGetGPI(); +void sceKernelSetGPO(u32 ledAddr); +u32 sceKernelGetGPI(); int sceKernelDcacheInvalidateRange(u32 addr, int size); int sceKernelDcacheWritebackAll(); int sceKernelDcacheWritebackRange(u32 addr, int size); int sceKernelDcacheWritebackInvalidateRange(u32 addr, int size); int sceKernelDcacheWritebackInvalidateAll(); void sceKernelGetThreadStackFreeSize(); -void sceKernelIcacheInvalidateAll(); -void sceKernelIcacheClearAll(); +u32 sceKernelIcacheInvalidateAll(); +u32 sceKernelIcacheClearAll(); #define KERNELOBJECT_MAX_NAME_LENGTH 31 diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 94319a8ccc..1af606d958 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -893,10 +893,10 @@ u32 sceKernelGetModuleId() return __KernelGetCurThreadModuleId(); } -void sceKernelFindModuleByName() +u32 sceKernelFindModuleByName() { ERROR_LOG(HLE,"UNIMPL sceKernelFindModuleByName()"); - RETURN(1); + return 1; } u32 sceKernelLoadModuleByID(u32 id, u32 flags, u32 lmoptionPtr) diff --git a/Core/HLE/sceKernelTime.cpp b/Core/HLE/sceKernelTime.cpp index e5cb09a9f5..3f4649c692 100644 --- a/Core/HLE/sceKernelTime.cpp +++ b/Core/HLE/sceKernelTime.cpp @@ -144,7 +144,7 @@ u32 sceKernelLibcTime(u32 outPtr) return t; } -void sceKernelLibcGettimeofday() +u32 sceKernelLibcGettimeofday(u32 timeAddr) { #ifdef _WIN32 union { @@ -158,12 +158,12 @@ void sceKernelLibcGettimeofday() u32 tv_usec; }; - timeval *tv = (timeval*)Memory::GetPointer(PARAM(0)); + timeval *tv = (timeval*)Memory::GetPointer(timeAddr); DEBUG_LOG(HLE,"sceKernelLibcGettimeofday()"); GetSystemTimeAsFileTime (&now.ft); tv->tv_usec = (long) ((now.ns100 / 10LL) % 1000000LL); tv->tv_sec = (long) ((now.ns100 - 116444736000000000LL) / 10000000LL); #endif - RETURN(0); + return 0; } diff --git a/Core/HLE/sceKernelTime.h b/Core/HLE/sceKernelTime.h index 4ab8e59ec6..5370278d18 100644 --- a/Core/HLE/sceKernelTime.h +++ b/Core/HLE/sceKernelTime.h @@ -17,7 +17,7 @@ #pragma once -void sceKernelLibcGettimeofday(); +u32 sceKernelLibcGettimeofday(u32 timeAddr); u32 sceKernelLibcTime(u32 outPtr); void sceKernelUSec2SysClock(); void sceKernelGetSystemTime();