From 6f6a8f6d6795234e1da5425a12ca31c2e2959ba8 Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 9 Sep 2026 11:14:22 +0200 Subject: [PATCH] [svc] don't truncate 64-bit SVC args on trace logs (#4374) Small inconvenience with args Signed-off-by: lizzie - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4374 Reviewed-by: CamilleLaVey Reviewed-by: Maufeat --- src/core/hle/kernel/svc.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index faf6a6432d..3542d5a3b6 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-late @@ -2501,14 +2501,15 @@ void Call(Core::System& system, u32 imm) { auto& process = GetCurrentProcess(kernel); std::array args; kernel.CurrentPhysicalCore().SaveSvcArguments(process, args); - LOG_TRACE(Kernel_SVC, "{} [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()) + LOG_TRACE(Kernel_SVC, "{} [0]={:#x} [1]={:#x} [2]={:#x} [3]={:#x} [4]={:#x} [5]={:#x} [6]={:#x}", + imm, GetArg64(args, 0), GetArg64(args, 1), GetArg64(args, 2), + GetArg64(args, 3), GetArg64(args, 4), GetArg64(args, 5), GetArg64(args, 6)); + if (process.Is64Bit()) { Call64(system, imm, args); - else + } else { Call32(system, imm, args); + } //kernel.ExitSVCProfile(); kernel.CurrentPhysicalCore().LoadSvcArguments(process, args); }