diff options
Diffstat (limited to 'ARMeilleure/State/IExecutionContext.cs')
-rw-r--r-- | ARMeilleure/State/IExecutionContext.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ARMeilleure/State/IExecutionContext.cs b/ARMeilleure/State/IExecutionContext.cs new file mode 100644 index 00000000..df91b7a1 --- /dev/null +++ b/ARMeilleure/State/IExecutionContext.cs @@ -0,0 +1,37 @@ +using System; + +namespace ARMeilleure.State +{ + public interface IExecutionContext : IDisposable + { + uint CtrEl0 { get; } + uint DczidEl0 { get; } + + ulong CntfrqEl0 { get; set; } + ulong CntpctEl0 { get; } + + long TpidrEl0 { get; set; } + long Tpidr { get; set; } + + FPCR Fpcr { get; set; } + FPSR Fpsr { get; set; } + + bool IsAarch32 { get; set; } + + bool Running { get; set; } + + event EventHandler<EventArgs> Interrupt; + event EventHandler<InstExceptionEventArgs> Break; + event EventHandler<InstExceptionEventArgs> SupervisorCall; + event EventHandler<InstUndefinedEventArgs> Undefined; + + ulong GetX(int index); + void SetX(int index, ulong value); + + V128 GetV(int index); + + bool GetPstateFlag(PState flag); + + void RequestInterrupt(); + } +}
\ No newline at end of file |