diff options
author | MerryMage <MerryMage@users.noreply.github.com> | 2021-02-01 19:31:14 +0100 |
---|---|---|
committer | MerryMage <MerryMage@users.noreply.github.com> | 2021-02-01 19:35:33 +0100 |
commit | 821fc4a7b6b04a9b59e81930f8a570f521080775 (patch) | |
tree | f18f45e3e76e0368cc72f307c8dafdeef754fe9c | |
parent | Merge pull request #5859 from Morph1984/nifm (diff) | |
download | yuzu-821fc4a7b6b04a9b59e81930f8a570f521080775.tar yuzu-821fc4a7b6b04a9b59e81930f8a570f521080775.tar.gz yuzu-821fc4a7b6b04a9b59e81930f8a570f521080775.tar.bz2 yuzu-821fc4a7b6b04a9b59e81930f8a570f521080775.tar.lz yuzu-821fc4a7b6b04a9b59e81930f8a570f521080775.tar.xz yuzu-821fc4a7b6b04a9b59e81930f8a570f521080775.tar.zst yuzu-821fc4a7b6b04a9b59e81930f8a570f521080775.zip |
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 5 | ||||
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.h | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index c650a4dfb..ec4407b6e 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -71,8 +71,9 @@ public: } void ExceptionRaised(u32 pc, Dynarmic::A32::Exception exception) override { - LOG_CRITICAL(Core_ARM, "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X})", - exception, pc, MemoryReadCode(pc)); + LOG_CRITICAL(Core_ARM, + "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X}, thumb = {})", + exception, pc, MemoryReadCode(pc), parent.IsInThumbMode()); UNIMPLEMENTED(); } diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.h b/src/core/arm/dynarmic/arm_dynarmic_32.h index 35e9ced48..f6c4d4db9 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.h +++ b/src/core/arm/dynarmic/arm_dynarmic_32.h @@ -50,6 +50,10 @@ public: u64 GetTPIDR_EL0() const override; void ChangeProcessorID(std::size_t new_core_id) override; + bool IsInThumbMode() const { + return (GetPSTATE() & 0x20) != 0; + } + void SaveContext(ThreadContext32& ctx) override; void SaveContext(ThreadContext64& ctx) override {} void LoadContext(const ThreadContext32& ctx) override; |