[dynarmic] revert bad changes (#202)

This reverts commit 56acd4041a.

pr needs rebase and fix, audio broke

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/202
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2025-08-04 19:57:51 +02:00
parent 76d0659ffe
commit 41f0fa97ca
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6
47 changed files with 651 additions and 889 deletions

View file

@ -445,9 +445,6 @@ static void RunTestInstance(Dynarmic::A32::Jit& jit,
}
}
// TODO: Why the difference? QEMU what are you doing???
jit.Regs()[15] = uni.GetRegisters()[15];
REQUIRE(uni.GetRegisters() == jit.Regs());
REQUIRE(uni.GetExtRegs() == jit.ExtRegs());
REQUIRE((uni.GetCpsr() & 0xFFFFFDDF) == (jit.Cpsr() & 0xFFFFFDDF));

File diff suppressed because one or more lines are too long

View file

@ -8,7 +8,7 @@
#include <array>
#include <exception>
#include <unordered_map>
#include <map>
#include <catch2/catch_test_macros.hpp>
#include "dynarmic/common/common_types.h"
@ -23,7 +23,7 @@ namespace {
class MyEnvironment final : public A64::UserCallbacks {
public:
u64 ticks_left = 0;
std::unordered_map<u64, u8> memory{};
std::map<u64, u8> memory{};
u8 MemoryRead8(u64 vaddr) override {
return memory[vaddr];

File diff suppressed because one or more lines are too long

View file

@ -9,7 +9,7 @@
#pragma once
#include <array>
#include <unordered_map>
#include <map>
#include "dynarmic/common/assert.h"
#include "dynarmic/common/common_types.h"
@ -26,7 +26,7 @@ public:
u64 code_mem_start_address = 0;
std::vector<u32> code_mem;
std::unordered_map<u64, u8> modified_memory;
std::map<u64, u8> modified_memory;
std::vector<std::string> interrupts;
bool IsInCodeMem(u64 vaddr) const {
@ -133,7 +133,6 @@ class A64FastmemTestEnv final : public Dynarmic::A64::UserCallbacks {
public:
u64 ticks_left = 0;
char* backing_memory = nullptr;
bool ignore_invalid_insn = false;
explicit A64FastmemTestEnv(char* addr)
: backing_memory(addr) {}
@ -206,7 +205,7 @@ public:
return true;
}
void InterpreterFallback(u64 pc, size_t num_instructions) override { ASSERT_MSG(ignore_invalid_insn, "InterpreterFallback({:016x}, {})", pc, num_instructions); }
void InterpreterFallback(u64 pc, size_t num_instructions) override { ASSERT_MSG(false, "InterpreterFallback({:016x}, {})", pc, num_instructions); }
void CallSVC(std::uint32_t swi) override { ASSERT_MSG(false, "CallSVC({})", swi); }

View file

@ -29,7 +29,6 @@ if ("A64" IN_LIST DYNARMIC_FRONTENDS)
A64/fp_min_max.cpp
A64/misaligned_page_table.cpp
A64/test_invalidation.cpp
A64/real_world.cpp
A64/testenv.h
)
endif()

View file

@ -173,7 +173,7 @@ void A64Unicorn::InterruptHook(uc_engine* uc, u32 int_number, void* user_data) {
auto* this_ = static_cast<A64Unicorn*>(user_data);
u32 esr;
//CHECKED(uc_reg_read(uc, UC_ARM64_REG_ESR_EL0, &esr));
CHECKED(uc_reg_read(uc, UC_ARM64_REG_ESR, &esr));
auto ec = esr >> 26;
auto iss = esr & 0xFFFFFF;