mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 05:28:56 +02:00
fix build from nce changes
This commit is contained in:
parent
58bff28b04
commit
e20875d8fc
2 changed files with 7 additions and 2 deletions
|
|
@ -765,8 +765,8 @@ std::optional<u64> MatchAndExecuteOneInstruction(Core::Memory::Memory& memory, m
|
||||||
fpsimd_context* fpsimd_context) {
|
fpsimd_context* fpsimd_context) {
|
||||||
std::span<u64, 31> regs(reinterpret_cast<u64*>(context->regs), 31);
|
std::span<u64, 31> regs(reinterpret_cast<u64*>(context->regs), 31);
|
||||||
std::span<u128, 32> vregs(reinterpret_cast<u128*>(fpsimd_context->vregs), 32);
|
std::span<u128, 32> vregs(reinterpret_cast<u128*>(fpsimd_context->vregs), 32);
|
||||||
u64& sp = *reinterpret_cast<u64*>(&context->sp);
|
u64 sp = context->sp;
|
||||||
const u64& pc = *reinterpret_cast<u64*>(&context->pc);
|
const u64 pc = context->pc;
|
||||||
|
|
||||||
InterpreterVisitor visitor(memory, regs, vregs, sp, pc);
|
InterpreterVisitor visitor(memory, regs, vregs, sp, pc);
|
||||||
u32 instruction = memory.Read32(pc);
|
u32 instruction = memory.Read32(pc);
|
||||||
|
|
@ -774,6 +774,7 @@ std::optional<u64> MatchAndExecuteOneInstruction(Core::Memory::Memory& memory, m
|
||||||
|
|
||||||
auto decoder = Dynarmic::A64::Decode<VisitorBase>(instruction);
|
auto decoder = Dynarmic::A64::Decode<VisitorBase>(instruction);
|
||||||
was_executed = decoder.get().call(visitor, instruction);
|
was_executed = decoder.get().call(visitor, instruction);
|
||||||
|
context->sp = sp;
|
||||||
return was_executed ? std::optional<u64>(pc + 4) : std::nullopt;
|
return was_executed ? std::optional<u64>(pc + 4) : std::nullopt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,8 @@ using NativeExecutionParameters = Kernel::KThread::NativeExecutionParameters;
|
||||||
constexpr size_t MaxRelativeBranch = 128_MiB;
|
constexpr size_t MaxRelativeBranch = 128_MiB;
|
||||||
constexpr u32 ModuleCodeIndex = 0x24 / sizeof(u32);
|
constexpr u32 ModuleCodeIndex = 0x24 / sizeof(u32);
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
[[nodiscard]] std::optional<CacheOperationKind> DecodeCacheOperation(u32 inst) {
|
[[nodiscard]] std::optional<CacheOperationKind> DecodeCacheOperation(u32 inst) {
|
||||||
switch (inst & ~u32{0x1F}) {
|
switch (inst & ~u32{0x1F}) {
|
||||||
case 0xD5087620:
|
case 0xD5087620:
|
||||||
|
|
@ -42,6 +44,8 @@ constexpr u32 ModuleCodeIndex = 0x24 / sizeof(u32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
Patcher::Patcher() : c(m_patch_instructions), c_pre(m_patch_instructions_pre) {
|
Patcher::Patcher() : c(m_patch_instructions), c_pre(m_patch_instructions_pre) {
|
||||||
// The first word of the patch section is always a branch to the first instruction of the
|
// The first word of the patch section is always a branch to the first instruction of the
|
||||||
// module.
|
// module.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue