diff options
author | MerryMage <MerryMage@users.noreply.github.com> | 2018-01-09 22:33:46 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-01-12 23:48:29 +0100 |
commit | d2fbc7832080955598c9fb6f083414eca47f0f19 (patch) | |
tree | 4f4b63aa2d37b86c39fdd17b12731bceda8bc90c /src/core/arm/dynarmic/arm_dynarmic.h | |
parent | core: Include <algorithm> where used. (diff) | |
download | yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar.gz yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar.bz2 yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar.lz yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar.xz yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.tar.zst yuzu-d2fbc7832080955598c9fb6f083414eca47f0f19.zip |
Diffstat (limited to 'src/core/arm/dynarmic/arm_dynarmic.h')
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.h b/src/core/arm/dynarmic/arm_dynarmic.h index c62d02ec9..947fab3f4 100644 --- a/src/core/arm/dynarmic/arm_dynarmic.h +++ b/src/core/arm/dynarmic/arm_dynarmic.h @@ -4,12 +4,18 @@ #pragma once +#include <memory> +#include <dynarmic/A64/a64.h> #include "common/common_types.h" #include "core/arm/arm_interface.h" +#include "core/arm/unicorn/arm_unicorn.h" + +class ARM_Dynarmic_Callbacks; class ARM_Dynarmic final : public ARM_Interface { public: ARM_Dynarmic(); + ~ARM_Dynarmic(); void MapBackingMemory(VAddr address, size_t size, u8* memory, Kernel::VMAPermission perms) override; @@ -18,8 +24,8 @@ public: u64 GetPC() const override; u64 GetReg(int index) const override; void SetReg(int index, u64 value) override; - const u128& GetExtReg(int index) const override; - void SetExtReg(int index, u128& value) override; + u128 GetExtReg(int index) const override; + void SetExtReg(int index, u128 value) override; u32 GetVFPReg(int index) const override; void SetVFPReg(int index, u32 value) override; u32 GetCPSR() const override; @@ -35,4 +41,10 @@ public: void ClearInstructionCache() override; void PageTableChanged() override; + +private: + friend class ARM_Dynarmic_Callbacks; + std::unique_ptr<ARM_Dynarmic_Callbacks> cb; + Dynarmic::A64::Jit jit; + ARM_Unicorn inner_unicorn; }; |