From 8b28f53a4dcf11cdf0bee7b673f9833e5263e4d2 Mon Sep 17 00:00:00 2001 From: TideOPL Date: Thu, 8 Oct 2026 11:00:22 +0100 Subject: [PATCH] revert(libkernel): move the process time fix to its own pull request --- core/libs/prx/libkernel/CMakeLists.txt | 10 ---------- core/libs/prx/libkernel/Time/Time.cpp | 6 ++---- core/libs/tests/GuestProcessTime.cpp | 24 ------------------------ 3 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 core/libs/tests/GuestProcessTime.cpp diff --git a/core/libs/prx/libkernel/CMakeLists.txt b/core/libs/prx/libkernel/CMakeLists.txt index 752f3f7e8..31ad9ae4b 100644 --- a/core/libs/prx/libkernel/CMakeLists.txt +++ b/core/libs/prx/libkernel/CMakeLists.txt @@ -84,16 +84,6 @@ if(BUILD_TESTING) set_tests_properties(guest_posix_sem_init guest_posix_sem_post PROPERTIES ENVIRONMENT_MODIFICATION "PATH=path_list_prepend:$") endif() - add_test_executable(guest_process_time_tests ${LIBS_INCLUDE_DIR}/tests/GuestProcessTime.cpp) - target_include_directories(guest_process_time_tests PRIVATE ${LIBS_INCLUDE_DIR}) - target_link_libraries(guest_process_time_tests PRIVATE libkernel libc) - configure_windows_unwind(guest_process_time_tests) - add_test(NAME guest_process_time COMMAND guest_process_time_tests) - add_test(NAME guest_process_time_counter COMMAND guest_process_time_tests counter) - if(WIN32) - set_tests_properties(guest_process_time guest_process_time_counter PROPERTIES ENVIRONMENT_MODIFICATION - "PATH=path_list_prepend:$") - endif() add_library(guest_module_fixture SHARED ${LIBS_INCLUDE_DIR}/tests/GuestModuleFixture.cpp) target_include_directories(guest_module_fixture PRIVATE ${LIBS_INCLUDE_DIR}) add_custom_command(TARGET guest_module_fixture POST_BUILD diff --git a/core/libs/prx/libkernel/Time/Time.cpp b/core/libs/prx/libkernel/Time/Time.cpp index 521328a18..395f85829 100644 --- a/core/libs/prx/libkernel/Time/Time.cpp +++ b/core/libs/prx/libkernel/Time/Time.cpp @@ -147,13 +147,11 @@ static const bool g_timerSelfTest = [] { extern "C" { std::uint64_t APS5_VABI sceKernelGetProcessTime() { - const std::uint64_t start = GetStartNanos(); - return (GetMonotonicNanos() - start) / 1000ULL; + return (GetMonotonicNanos() - GetStartNanos()) / 1000ULL; } std::uint64_t APS5_VABI sceKernelGetProcessTimeCounter() { - const std::uint64_t start = GetStartNanos(); - return GetMonotonicNanos() - start; + return GetMonotonicNanos() - GetStartNanos(); } std::uint64_t APS5_VABI sceKernelGetProcessTimeCounterFrequency() { diff --git a/core/libs/tests/GuestProcessTime.cpp b/core/libs/tests/GuestProcessTime.cpp deleted file mode 100644 index b24cf8249..000000000 --- a/core/libs/tests/GuestProcessTime.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "prx/libkernel/Time/include/Time.hpp" -#include -#include -#include -#include - -static void Require(bool condition, const char* message) { - if (!condition) { - std::fprintf(stderr, "%s\n", message); - std::abort(); - } -} - -int main(int argc, char** argv) { - constexpr std::uint64_t minuteMicros = 60ULL * 1000 * 1000; - if (argc > 1 && std::strcmp(argv[1], "counter") == 0) { - Require(sceKernelGetProcessTimeCounter() < minuteMicros * 1000, "first process time counter wrapped"); - return 0; - } - const std::uint64_t first = sceKernelGetProcessTime(); - Require(first < minuteMicros, "first process time wrapped"); - Require(sceKernelGetProcessTime() >= first, "process time went backwards"); - return 0; -}