From 9f828ed63594fb98b377ea832b789d6ce254181e Mon Sep 17 00:00:00 2001 From: lizzie Date: Tue, 11 Nov 2025 22:37:09 +0000 Subject: [PATCH] [hle/kernel] allow primitive tracing of svcs on debug builds --- src/core/hle/kernel/svc.cpp | 4 +++- tools/svc_generator.py | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 30c6d75c13..102c88b142 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -2503,9 +2503,11 @@ static void Call64(Core::System& system, u32 imm, std::span args) { void Call(Core::System& system, u32 imm) { auto& kernel = system.Kernel(); auto& process = GetCurrentProcess(kernel); - std::array args; kernel.CurrentPhysicalCore().SaveSvcArguments(process, args); + LOG_TRACE(Kernel_SVC, "#{:#x} [0]={:#x} [1]={:#x} [2]={:#x} [3]={:#x} [4]={:#x} [5]={:#x} [6]={:#x}", + imm, GetArg32(args, 0), GetArg32(args, 1), GetArg32(args, 2), + GetArg32(args, 3), GetArg32(args, 4), GetArg32(args, 5), GetArg32(args, 6)); //kernel.EnterSVCProfile(); if (process.Is64Bit()) Call64(system, imm, args); diff --git a/tools/svc_generator.py b/tools/svc_generator.py index ac6136fdcd..11e551ec78 100755 --- a/tools/svc_generator.py +++ b/tools/svc_generator.py @@ -567,9 +567,12 @@ EPILOGUE_CPP = """ void Call(Core::System& system, u32 imm) { auto& kernel = system.Kernel(); auto& process = GetCurrentProcess(kernel); - std::array args; kernel.CurrentPhysicalCore().SaveSvcArguments(process, args); + LOG_TRACE(Kernel_SVC, "#{:#x} [0]={:#x} [1]={:#x} [2]={:#x} [3]={:#x} [4]={:#x} [5]={:#x} [6]={:#x}", + imm, + GetArg32(args, 0), GetArg32(args, 1), GetArg32(args, 2), + GetArg32(args, 3), GetArg32(args, 4), GetArg32(args, 5), GetArg32(args, 6)); //kernel.EnterSVCProfile(); if (process.Is64Bit()) Call64(system, imm, args);