diff options
author | MerryMage <MerryMage@users.noreply.github.com> | 2016-12-31 15:01:30 +0100 |
---|---|---|
committer | MerryMage <MerryMage@users.noreply.github.com> | 2017-02-03 18:32:47 +0100 |
commit | 2b36d4c9d773381b91c2251b0e8f890d6f6f090a (patch) | |
tree | 414c9fbd44d8d1835b1af3fd5c20ca2b2f69aa75 /src/core/arm/dynarmic/arm_dynarmic_cp15.h | |
parent | Support looping HLE audio (#2422) (diff) | |
download | yuzu-2b36d4c9d773381b91c2251b0e8f890d6f6f090a.tar yuzu-2b36d4c9d773381b91c2251b0e8f890d6f6f090a.tar.gz yuzu-2b36d4c9d773381b91c2251b0e8f890d6f6f090a.tar.bz2 yuzu-2b36d4c9d773381b91c2251b0e8f890d6f6f090a.tar.lz yuzu-2b36d4c9d773381b91c2251b0e8f890d6f6f090a.tar.xz yuzu-2b36d4c9d773381b91c2251b0e8f890d6f6f090a.tar.zst yuzu-2b36d4c9d773381b91c2251b0e8f890d6f6f090a.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_cp15.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_cp15.h b/src/core/arm/dynarmic/arm_dynarmic_cp15.h new file mode 100644 index 000000000..7fa54e14c --- /dev/null +++ b/src/core/arm/dynarmic/arm_dynarmic_cp15.h @@ -0,0 +1,32 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <memory> +#include <dynarmic/coprocessor.h> +#include "common/common_types.h" + +struct ARMul_State; + +class DynarmicCP15 final : public Dynarmic::Coprocessor { +public: + explicit DynarmicCP15(const std::shared_ptr<ARMul_State>&); + ~DynarmicCP15() override; + + boost::optional<Callback> CompileInternalOperation(bool two, unsigned opc1, CoprocReg CRd, + CoprocReg CRn, CoprocReg CRm, + unsigned opc2) override; + CallbackOrAccessOneWord CompileSendOneWord(bool two, unsigned opc1, CoprocReg CRn, + CoprocReg CRm, unsigned opc2) override; + CallbackOrAccessTwoWords CompileSendTwoWords(bool two, unsigned opc, CoprocReg CRm) override; + CallbackOrAccessOneWord CompileGetOneWord(bool two, unsigned opc1, CoprocReg CRn, CoprocReg CRm, + unsigned opc2) override; + CallbackOrAccessTwoWords CompileGetTwoWords(bool two, unsigned opc, CoprocReg CRm) override; + boost::optional<Callback> CompileLoadWords(bool two, bool long_transfer, CoprocReg CRd, + boost::optional<u8> option) override; + boost::optional<Callback> CompileStoreWords(bool two, bool long_transfer, CoprocReg CRd, + boost::optional<u8> option) override; + +private: + std::shared_ptr<ARMul_State> interpreter_state; +}; |