diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index b332b6b82..fbdae7433 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -58,6 +58,7 @@ set(SRCS
             hle/kernel/server_port.cpp
             hle/kernel/server_session.cpp
             hle/kernel/shared_memory.cpp
+            hle/kernel/svc.cpp
             hle/kernel/thread.cpp
             hle/kernel/timer.cpp
             hle/kernel/vm_manager.cpp
@@ -170,7 +171,6 @@ set(SRCS
             hle/service/ssl_c.cpp
             hle/service/y2r_u.cpp
             hle/shared_page.cpp
-            hle/svc.cpp
             hw/aes/arithmetic128.cpp
             hw/aes/ccm.cpp
             hw/aes/key.cpp
@@ -263,6 +263,7 @@ set(HEADERS
             hle/kernel/server_session.h
             hle/kernel/session.h
             hle/kernel/shared_memory.h
+            hle/kernel/svc.h
             hle/kernel/thread.h
             hle/kernel/timer.h
             hle/kernel/vm_manager.h
@@ -375,7 +376,6 @@ set(HEADERS
             hle/service/ssl_c.h
             hle/service/y2r_u.h
             hle/shared_page.h
-            hle/svc.h
             hw/aes/arithmetic128.h
             hw/aes/ccm.h
             hw/aes/key.h
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index c318aa0f2..2708d8d33 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -11,7 +11,7 @@
 #include "core/arm/dyncom/arm_dyncom_interpreter.h"
 #include "core/core.h"
 #include "core/core_timing.h"
-#include "core/hle/svc.h"
+#include "core/hle/kernel/svc.h"
 #include "core/memory.h"
 
 static void InterpreterFallback(u32 pc, Dynarmic::Jit* jit, void* user_arg) {
diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
index 9ef52477c..c45bdbf5e 100644
--- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
@@ -20,7 +20,7 @@
 #include "core/arm/skyeye_common/vfp/vfp.h"
 #include "core/core_timing.h"
 #include "core/gdbstub/gdbstub.h"
-#include "core/hle/svc.h"
+#include "core/hle/kernel/svc.h"
 #include "core/memory.h"
 
 #define RM BITS(sht_oper, 0, 3)
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h
index f93439f21..f3a02158b 100644
--- a/src/core/hle/function_wrappers.h
+++ b/src/core/hle/function_wrappers.h
@@ -8,8 +8,8 @@
 #include "core/arm/arm_interface.h"
 #include "core/core.h"
 #include "core/hle/kernel/kernel.h"
+#include "core/hle/kernel/svc.h"
 #include "core/hle/result.h"
-#include "core/hle/svc.h"
 #include "core/memory.h"
 
 namespace HLE {
diff --git a/src/core/hle/svc.cpp b/src/core/hle/kernel/svc.cpp
similarity index 100%
rename from src/core/hle/svc.cpp
rename to src/core/hle/kernel/svc.cpp
diff --git a/src/core/hle/svc.h b/src/core/hle/kernel/svc.h
similarity index 100%
rename from src/core/hle/svc.h
rename to src/core/hle/kernel/svc.h