From 043bf7848d13bf324905bd8b58ff14eb8d1fc387 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sat, 15 Nov 2025 08:47:48 +0000 Subject: [PATCH] [hle/kernel] mark invalid SVC paths as unreachable --- src/core/hle/kernel/svc.cpp | 8 ++------ tools/svc_generator.py | 5 +---- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index ed0fae5332..faf6a6432d 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -2364,9 +2364,7 @@ static void Call32(Core::System& system, u32 imm, std::span args) { case SvcId::CallSecureMonitor: return SvcWrap_CallSecureMonitor64From32(system, args); case SvcId::MapInsecureMemory: return SvcWrap_MapInsecureMemory64From32(system, args); case SvcId::UnmapInsecureMemory: return SvcWrap_UnmapInsecureMemory64From32(system, args); - default: - LOG_CRITICAL(Kernel_SVC, "Unknown SVC {:x}!", imm); - break; + default: UNREACHABLE_MSG("Unhandled SVC {:#x}!", imm); } } @@ -2495,9 +2493,7 @@ static void Call64(Core::System& system, u32 imm, std::span args) { case SvcId::CallSecureMonitor: return SvcWrap_CallSecureMonitor64(system, args); case SvcId::MapInsecureMemory: return SvcWrap_MapInsecureMemory64(system, args); case SvcId::UnmapInsecureMemory: return SvcWrap_UnmapInsecureMemory64(system, args); - default: - LOG_CRITICAL(Kernel_SVC, "Unknown SVC {:x}!", imm); - break; + default: UNREACHABLE_MSG("Unhandled SVC {:#x}!", imm); } } void Call(Core::System& system, u32 imm) { diff --git a/tools/svc_generator.py b/tools/svc_generator.py index 11e551ec78..d00fe0ba63 100755 --- a/tools/svc_generator.py +++ b/tools/svc_generator.py @@ -597,10 +597,7 @@ def emit_call(bitness, names, suffix): for _, name in names: lines.append(f"{indent}case SvcId::{name}: return SvcWrap_{name}{suffix}(system, args);") - lines.append(f"{indent}default:") - lines.append( - f"{indent*2}LOG_CRITICAL(Kernel_SVC, \"Unknown SVC {{:x}}!\", imm);") - lines.append(f"{indent*2}break;") + lines.append(f"{indent}default: UNREACHABLE_MSG(\"Unhandled SVC {{:#x}}\", imm);") lines.append(f"{indent}}}") lines.append("}")