ArmProcessContext.cs 733 B

123456789101112131415161718192021222324
  1. using ARMeilleure.State;
  2. using Ryujinx.Cpu;
  3. using Ryujinx.HLE.HOS.Kernel.Process;
  4. using Ryujinx.Memory;
  5. namespace Ryujinx.HLE.HOS
  6. {
  7. class ArmProcessContext : IProcessContext
  8. {
  9. private readonly MemoryManager _memoryManager;
  10. private readonly CpuContext _cpuContext;
  11. public IVirtualMemoryManager AddressSpace => _memoryManager;
  12. public ArmProcessContext(MemoryManager memoryManager)
  13. {
  14. _memoryManager = memoryManager;
  15. _cpuContext = new CpuContext(memoryManager);
  16. }
  17. public void Execute(ExecutionContext context, ulong codeAddress) => _cpuContext.Execute(context, codeAddress);
  18. public void Dispose() => _memoryManager.Dispose();
  19. }
  20. }