diff options
author | LC <mathew1800@gmail.com> | 2021-02-01 19:36:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-01 19:36:55 +0100 |
commit | 5e49b81d4dfee576765689a0c9ce30df88be3da1 (patch) | |
tree | f18f45e3e76e0368cc72f307c8dafdeef754fe9c /src/core | |
parent | Merge pull request #5859 from Morph1984/nifm (diff) | |
parent | arm_dynarmic_32: Print out CPSR.T on exception (diff) | |
download | yuzu-5e49b81d4dfee576765689a0c9ce30df88be3da1.tar yuzu-5e49b81d4dfee576765689a0c9ce30df88be3da1.tar.gz yuzu-5e49b81d4dfee576765689a0c9ce30df88be3da1.tar.bz2 yuzu-5e49b81d4dfee576765689a0c9ce30df88be3da1.tar.lz yuzu-5e49b81d4dfee576765689a0c9ce30df88be3da1.tar.xz yuzu-5e49b81d4dfee576765689a0c9ce30df88be3da1.tar.zst yuzu-5e49b81d4dfee576765689a0c9ce30df88be3da1.zip |
Diffstat (limited to 'src/core')
-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; |