mirror of
https://github.com/GreemDev/Ryujinx.git
synced 2024-12-19 13:25:54 +01:00
ddc9ae2a83
* Add VTimer as alternative interrupt method on Apple Hypervisor * Fix naming violations on TimeApi * Fix timer interval (was 16us rather than 16ms) * Fix delta ticks calculation * Missing ThrowOnError call * Add SupportedOSPlatform attribute on AppleHv classes
51 lines
1.1 KiB
C#
51 lines
1.1 KiB
C#
using ARMeilleure.State;
|
|
|
|
namespace Ryujinx.Cpu.AppleHv
|
|
{
|
|
class HvExecutionContextShadow : IHvExecutionContext
|
|
{
|
|
public ulong Pc { get; set; }
|
|
public ulong ElrEl1 { get; set; }
|
|
public ulong EsrEl1 { get; set; }
|
|
|
|
public long TpidrEl0 { get; set; }
|
|
public long TpidrroEl0 { get; set; }
|
|
|
|
public uint Pstate { get; set; }
|
|
|
|
public uint Fpcr { get; set; }
|
|
public uint Fpsr { get; set; }
|
|
|
|
public bool IsAarch32 { get; set; }
|
|
|
|
private readonly ulong[] _x;
|
|
private readonly V128[] _v;
|
|
|
|
public HvExecutionContextShadow()
|
|
{
|
|
_x = new ulong[32];
|
|
_v = new V128[32];
|
|
}
|
|
|
|
public ulong GetX(int index)
|
|
{
|
|
return _x[index];
|
|
}
|
|
|
|
public void SetX(int index, ulong value)
|
|
{
|
|
_x[index] = value;
|
|
}
|
|
|
|
public V128 GetV(int index)
|
|
{
|
|
return _v[index];
|
|
}
|
|
|
|
public void SetV(int index, V128 value)
|
|
{
|
|
_v[index] = value;
|
|
}
|
|
}
|
|
}
|