aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Cpu/AppleHv/HvCpuContext.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Cpu/AppleHv/HvCpuContext.cs')
-rw-r--r--Ryujinx.Cpu/AppleHv/HvCpuContext.cs47
1 files changed, 47 insertions, 0 deletions
diff --git a/Ryujinx.Cpu/AppleHv/HvCpuContext.cs b/Ryujinx.Cpu/AppleHv/HvCpuContext.cs
new file mode 100644
index 00000000..de782d54
--- /dev/null
+++ b/Ryujinx.Cpu/AppleHv/HvCpuContext.cs
@@ -0,0 +1,47 @@
+using ARMeilleure.Memory;
+using System;
+
+namespace Ryujinx.Cpu.AppleHv
+{
+ class HvCpuContext : ICpuContext
+ {
+ private readonly ITickSource _tickSource;
+ private readonly HvMemoryManager _memoryManager;
+
+ public HvCpuContext(ITickSource tickSource, IMemoryManager memory, bool for64Bit)
+ {
+ _tickSource = tickSource;
+ _memoryManager = (HvMemoryManager)memory;
+ }
+
+ private void UnmapHandler(ulong address, ulong size)
+ {
+ }
+
+ /// <inheritdoc/>
+ public IExecutionContext CreateExecutionContext(ExceptionCallbacks exceptionCallbacks)
+ {
+ return new HvExecutionContext(_tickSource, exceptionCallbacks);
+ }
+
+ /// <inheritdoc/>
+ public void Execute(IExecutionContext context, ulong address)
+ {
+ ((HvExecutionContext)context).Execute(_memoryManager, address);
+ }
+
+ /// <inheritdoc/>
+ public void InvalidateCacheRegion(ulong address, ulong size)
+ {
+ }
+
+ public IDiskCacheLoadState LoadDiskCache(string titleIdText, string displayVersion, bool enabled)
+ {
+ return new DummyDiskCacheLoadState();
+ }
+
+ public void PrepareCodeRange(ulong address, ulong size)
+ {
+ }
+ }
+} \ No newline at end of file