diff options
| author | 2018-01-09 21:33:46 +0000 | |
|---|---|---|
| committer | 2018-01-12 17:48:29 -0500 | |
| commit | d2fbc7832080955598c9fb6f083414eca47f0f19 (patch) | |
| tree | 4f4b63aa2d37b86c39fdd17b12731bceda8bc90c /src/core/arm/arm_interface.h | |
| parent | core: Include <algorithm> where used. (diff) | |
| download | yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar.gz yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar.xz yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.zip | |
arm_dynarmic: Implement core
Diffstat (limited to 'src/core/arm/arm_interface.h')
| -rw-r--r-- | src/core/arm/arm_interface.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index c0d6e2604..531875006 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <array> | ||
| 7 | #include "common/common_types.h" | 8 | #include "common/common_types.h" |
| 8 | #include "core/hle/kernel/vm_manager.h" | 9 | #include "core/hle/kernel/vm_manager.h" |
| 9 | 10 | ||
| @@ -13,15 +14,12 @@ public: | |||
| 13 | virtual ~ARM_Interface() {} | 14 | virtual ~ARM_Interface() {} |
| 14 | 15 | ||
| 15 | struct ThreadContext { | 16 | struct ThreadContext { |
| 16 | u64 cpu_registers[30]; | 17 | std::array<u64, 31> cpu_registers; |
| 17 | u64 lr; | ||
| 18 | u64 sp; | 18 | u64 sp; |
| 19 | u64 pc; | 19 | u64 pc; |
| 20 | u64 cpsr; | 20 | u64 cpsr; |
| 21 | u128 fpu_registers[32]; | 21 | std::array<u128, 32> fpu_registers; |
| 22 | u64 fpscr; | 22 | u64 fpscr; |
| 23 | u64 fpexc; | ||
| 24 | |||
| 25 | 23 | ||
| 26 | // TODO(bunnei): Fix once we have proper support for tpidrro_el0, etc. in the JIT | 24 | // TODO(bunnei): Fix once we have proper support for tpidrro_el0, etc. in the JIT |
| 27 | VAddr tls_address; | 25 | VAddr tls_address; |
| @@ -75,9 +73,9 @@ public: | |||
| 75 | */ | 73 | */ |
| 76 | virtual void SetReg(int index, u64 value) = 0; | 74 | virtual void SetReg(int index, u64 value) = 0; |
| 77 | 75 | ||
| 78 | virtual const u128& GetExtReg(int index) const = 0; | 76 | virtual u128 GetExtReg(int index) const = 0; |
| 79 | 77 | ||
| 80 | virtual void SetExtReg(int index, u128& value) = 0; | 78 | virtual void SetExtReg(int index, u128 value) = 0; |
| 81 | 79 | ||
| 82 | /** | 80 | /** |
| 83 | * Gets the value of a VFP register | 81 | * Gets the value of a VFP register |