diff options
author | MerryMage <MerryMage@users.noreply.github.com> | 2017-09-24 23:44:13 +0200 |
---|---|---|
committer | MerryMage <MerryMage@users.noreply.github.com> | 2017-09-25 00:08:25 +0200 |
commit | 67a70bd9e1655dfd705550c1d561f3ba444360c8 (patch) | |
tree | 18f0720a18d9d878a7699c755bf167af8564b776 /src/core/arm/dynarmic/arm_dynarmic.h | |
parent | memory: Remove GetCurrentPageTablePointers (diff) | |
download | yuzu-67a70bd9e1655dfd705550c1d561f3ba444360c8.tar yuzu-67a70bd9e1655dfd705550c1d561f3ba444360c8.tar.gz yuzu-67a70bd9e1655dfd705550c1d561f3ba444360c8.tar.bz2 yuzu-67a70bd9e1655dfd705550c1d561f3ba444360c8.tar.lz yuzu-67a70bd9e1655dfd705550c1d561f3ba444360c8.tar.xz yuzu-67a70bd9e1655dfd705550c1d561f3ba444360c8.tar.zst yuzu-67a70bd9e1655dfd705550c1d561f3ba444360c8.zip |
Diffstat (limited to 'src/core/arm/dynarmic/arm_dynarmic.h')
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.h b/src/core/arm/dynarmic/arm_dynarmic.h index 834dc989e..96148a1a5 100644 --- a/src/core/arm/dynarmic/arm_dynarmic.h +++ b/src/core/arm/dynarmic/arm_dynarmic.h @@ -4,12 +4,17 @@ #pragma once +#include <map> #include <memory> #include <dynarmic/dynarmic.h> #include "common/common_types.h" #include "core/arm/arm_interface.h" #include "core/arm/skyeye_common/armstate.h" +namespace Memory { +struct PageTable; +} // namespace Memory + class ARM_Dynarmic final : public ARM_Interface { public: ARM_Dynarmic(PrivilegeMode initial_mode); @@ -36,8 +41,11 @@ public: void ExecuteInstructions(int num_instructions) override; void ClearInstructionCache() override; + void PageTableChanged() override; private: - std::unique_ptr<Dynarmic::Jit> jit; + Dynarmic::Jit* jit = nullptr; + Memory::PageTable* current_page_table = nullptr; + std::map<Memory::PageTable*, std::unique_ptr<Dynarmic::Jit>> jits; std::shared_ptr<ARMul_State> interpreter_state; }; |