From 79ff9401f399bed3ea93253441b18e705d31d113 Mon Sep 17 00:00:00 2001 From: Macdu Date: Sun, 16 Oct 2022 22:37:28 +0200 Subject: [PATCH] Small fixes --- src/dynarmic/backend/arm64/a32_interface.cpp | 27 +++++++++++++++++++ src/dynarmic/backend/arm64/emit_arm64_a32.cpp | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/dynarmic/backend/arm64/a32_interface.cpp b/src/dynarmic/backend/arm64/a32_interface.cpp index 3c850cdd..976f235e 100644 --- a/src/dynarmic/backend/arm64/a32_interface.cpp +++ b/src/dynarmic/backend/arm64/a32_interface.cpp @@ -47,6 +47,33 @@ Context& Context::operator=(Context&& ctx) noexcept { return *this; } +std::array& Context::Regs() { + return impl->state.regs; +} +const std::array& Context::Regs() const { + return impl->state.regs; +} +std::array& Context::ExtRegs() { + return impl->state.ext_regs; +} +const std::array& Context::ExtRegs() const { + return impl->state.ext_regs; +} + +std::uint32_t Context::Cpsr() const { + return impl->state.Cpsr(); +} +void Context::SetCpsr(std::uint32_t value) { + impl->state.SetCpsr(value); +} + +std::uint32_t Context::Fpscr() const { + return impl->state.Fpscr(); +} +void Context::SetFpscr(std::uint32_t value) { + return impl->state.SetFpscr(value); +} + struct Jit::Impl final { Impl(Jit* jit_interface, A32::UserConfig conf) : jit_interface(jit_interface) diff --git a/src/dynarmic/backend/arm64/emit_arm64_a32.cpp b/src/dynarmic/backend/arm64/emit_arm64_a32.cpp index 415e9b55..53bc3029 100644 --- a/src/dynarmic/backend/arm64/emit_arm64_a32.cpp +++ b/src/dynarmic/backend/arm64/emit_arm64_a32.cpp @@ -540,7 +540,7 @@ void EmitIR(oaknut::CodeGenerator& code, EmitCon code.MOV(W1, args[0].GetImmediateU32()); code.MOV(W2, args[1].GetImmediateU32()); - EmitRelocation(code, ctx, LinkTarget::CallSVC); + EmitRelocation(code, ctx, LinkTarget::ExceptionRaised); if (ctx.conf.enable_cycle_counting) { EmitRelocation(code, ctx, LinkTarget::GetTicksRemaining);