2022-05-31 20:29:35 +01:00
|
|
|
using ARMeilleure.State;
|
|
|
|
using Ryujinx.Cpu;
|
|
|
|
|
|
|
|
namespace Ryujinx.HLE.HOS.Kernel.Process
|
|
|
|
{
|
|
|
|
class ProcessExecutionContext : IExecutionContext
|
|
|
|
{
|
|
|
|
public ulong Pc => 0UL;
|
|
|
|
|
2023-01-04 22:15:45 +00:00
|
|
|
public ulong CntfrqEl0 { get; set; }
|
2022-05-31 20:29:35 +01:00
|
|
|
public ulong CntpctEl0 => 0UL;
|
|
|
|
|
2023-01-04 22:15:45 +00:00
|
|
|
public long TpidrEl0 { get; set; }
|
|
|
|
public long TpidrroEl0 { get; set; }
|
2022-05-31 20:29:35 +01:00
|
|
|
|
2023-01-04 22:15:45 +00:00
|
|
|
public uint Pstate { get; set; }
|
2022-05-31 20:29:35 +01:00
|
|
|
|
2023-01-04 22:15:45 +00:00
|
|
|
public uint Fpcr { get; set; }
|
|
|
|
public uint Fpsr { get; set; }
|
2022-05-31 20:29:35 +01:00
|
|
|
|
|
|
|
public bool IsAarch32 { get => false; set { } }
|
|
|
|
|
|
|
|
public bool Running { get; private set; } = true;
|
|
|
|
|
2023-01-04 22:15:45 +00:00
|
|
|
private readonly ulong[] _x = new ulong[32];
|
|
|
|
|
|
|
|
public ulong GetX(int index) => _x[index];
|
|
|
|
public void SetX(int index, ulong value) => _x[index] = value;
|
2022-05-31 20:29:35 +01:00
|
|
|
|
|
|
|
public V128 GetV(int index) => default;
|
|
|
|
public void SetV(int index, V128 value) { }
|
|
|
|
|
|
|
|
public void RequestInterrupt()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public void StopRunning()
|
|
|
|
{
|
|
|
|
Running = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void Dispose()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|