From 92d166ecb7e5b29a27bffd77754d8e592435ee6b Mon Sep 17 00:00:00 2001 From: gdkchan Date: Thu, 17 Feb 2022 22:53:18 -0300 Subject: Enable CPU JIT cache invalidation (#2965) * Enable CPU JIT cache invalidation * Invalidate cache on IC IVAU --- Ryujinx.HLE/HOS/ArmProcessContext.cs | 5 +++++ Ryujinx.HLE/HOS/Kernel/Process/IProcessContext.cs | 1 + Ryujinx.HLE/HOS/Kernel/Process/ProcessContext.cs | 4 ++++ 3 files changed, 10 insertions(+) (limited to 'Ryujinx.HLE/HOS') diff --git a/Ryujinx.HLE/HOS/ArmProcessContext.cs b/Ryujinx.HLE/HOS/ArmProcessContext.cs index e76ee155..dfa01c1f 100644 --- a/Ryujinx.HLE/HOS/ArmProcessContext.cs +++ b/Ryujinx.HLE/HOS/ArmProcessContext.cs @@ -36,6 +36,11 @@ namespace Ryujinx.HLE.HOS _cpuContext.Execute(context, codeAddress); } + public void InvalidateCacheRegion(ulong address, ulong size) + { + _cpuContext.InvalidateCacheRegion(address, size); + } + public void Dispose() { if (_memoryManager is IRefCounted rc) diff --git a/Ryujinx.HLE/HOS/Kernel/Process/IProcessContext.cs b/Ryujinx.HLE/HOS/Kernel/Process/IProcessContext.cs index 758ac6b1..707e6d98 100644 --- a/Ryujinx.HLE/HOS/Kernel/Process/IProcessContext.cs +++ b/Ryujinx.HLE/HOS/Kernel/Process/IProcessContext.cs @@ -9,5 +9,6 @@ namespace Ryujinx.HLE.HOS.Kernel.Process IVirtualMemoryManager AddressSpace { get; } void Execute(ExecutionContext context, ulong codeAddress); + void InvalidateCacheRegion(ulong address, ulong size); } } diff --git a/Ryujinx.HLE/HOS/Kernel/Process/ProcessContext.cs b/Ryujinx.HLE/HOS/Kernel/Process/ProcessContext.cs index 54997cb7..bb3a1557 100644 --- a/Ryujinx.HLE/HOS/Kernel/Process/ProcessContext.cs +++ b/Ryujinx.HLE/HOS/Kernel/Process/ProcessContext.cs @@ -18,6 +18,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Process throw new NotSupportedException(); } + public void InvalidateCacheRegion(ulong address, ulong size) + { + } + public void Dispose() { } -- cgit v1.2.3