dynarmic: Update dynarmic to upstream

* Citra's fork of dynarmic is getting old quite fast and accumulating
  technical debt which gets harder and harder to account for as time
  goes on. So to have the access to the latest and greatest features we
  need to use the upstream version which yuzu also uses. This requires
  some extra patches which are contained in the following commits.
This commit is contained in:
emufan4568
2022-07-15 20:06:51 +03:00
parent d373d74804
commit 0e98fb3780
5 changed files with 8 additions and 8 deletions

2
.gitmodules vendored
View File

@ -12,7 +12,7 @@
url = https://github.com/philsquared/Catch.git url = https://github.com/philsquared/Catch.git
[submodule "dynarmic"] [submodule "dynarmic"]
path = externals/dynarmic path = externals/dynarmic
url = https://github.com/citra-emu/dynarmic.git url = https://github.com/merryhime/dynarmic.git
[submodule "xbyak"] [submodule "xbyak"]
path = externals/xbyak path = externals/xbyak
url = https://github.com/herumi/xbyak.git url = https://github.com/herumi/xbyak.git

View File

@ -3,8 +3,8 @@
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include <cstring> #include <cstring>
#include <dynarmic/A32/a32.h> #include <dynarmic/interface/A32/a32.h>
#include <dynarmic/A32/context.h> #include <dynarmic/interface/A32/context.h>
#include "common/assert.h" #include "common/assert.h"
#include "common/microprofile.h" #include "common/microprofile.h"
#include "core/arm/dynarmic/arm_dynarmic.h" #include "core/arm/dynarmic/arm_dynarmic.h"
@ -103,7 +103,7 @@ public:
void InterpreterFallback(VAddr pc, std::size_t num_instructions) override { void InterpreterFallback(VAddr pc, std::size_t num_instructions) override {
// Should never happen. // Should never happen.
UNREACHABLE_MSG("InterpeterFallback reached with pc = 0x{:08x}, code = 0x{:08x}, num = {}", UNREACHABLE_MSG("InterpeterFallback reached with pc = 0x{:08x}, code = 0x{:08x}, num = {}",
pc, MemoryReadCode(pc), num_instructions); pc, MemoryReadCode(pc).value(), num_instructions);
} }
void CallSVC(std::uint32_t swi) override { void CallSVC(std::uint32_t swi) override {
@ -133,7 +133,7 @@ public:
return; return;
} }
ASSERT_MSG(false, "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X})", exception, ASSERT_MSG(false, "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X})", exception,
pc, MemoryReadCode(pc)); pc, MemoryReadCode(pc).value());
} }
void AddTicks(std::uint64_t ticks) override { void AddTicks(std::uint64_t ticks) override {

View File

@ -6,7 +6,7 @@
#include <map> #include <map>
#include <memory> #include <memory>
#include <dynarmic/A32/a32.h> #include <dynarmic/interface/A32/a32.h>
#include "common/common_types.h" #include "common/common_types.h"
#include "core/arm/arm_interface.h" #include "core/arm/arm_interface.h"
#include "core/arm/dynarmic/arm_dynarmic_cp15.h" #include "core/arm/dynarmic/arm_dynarmic_cp15.h"

View File

@ -5,7 +5,7 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include <dynarmic/A32/coprocessor.h> #include <dynarmic/interface/A32/coprocessor.h>
#include "common/common_types.h" #include "common/common_types.h"
struct CP15State { struct CP15State {