diff --git a/include/cpu_dynarmic.hpp b/include/cpu_dynarmic.hpp index cb7e5627..7bed8704 100644 --- a/include/cpu_dynarmic.hpp +++ b/include/cpu_dynarmic.hpp @@ -170,6 +170,8 @@ public: return env.totalTicks; } + void clearCache() { jit->ClearCache(); } + void runFrame() { env.ticksLeft = ticksPerSec / 60; diff --git a/include/kernel/kernel.hpp b/include/kernel/kernel.hpp index 3d4b6917..b8976796 100644 --- a/include/kernel/kernel.hpp +++ b/include/kernel/kernel.hpp @@ -229,4 +229,5 @@ public: void sendGPUInterrupt(GPUInterrupt type) { serviceManager.sendGPUInterrupt(type); } void signalDSPEvents() { serviceManager.signalDSPEvents(); } + void clearInstructionCache(); }; \ No newline at end of file diff --git a/src/core/kernel/kernel.cpp b/src/core/kernel/kernel.cpp index 5eb3cddb..dfebfb6d 100644 --- a/src/core/kernel/kernel.cpp +++ b/src/core/kernel/kernel.cpp @@ -263,6 +263,8 @@ void Kernel::duplicateHandle() { } } +void Kernel::clearInstructionCache() { cpu.clearCache(); } + namespace SystemInfoType { enum : u32 { MemoryInformation = 0,