From 31414118dbf7f3e8b9961ab4df911b5710a841d7 Mon Sep 17 00:00:00 2001 From: pineappleEA Date: Thu, 2 Jun 2022 03:49:28 +0200 Subject: [PATCH] early-access version 2752 --- README.md | 2 +- src/core/debugger/gdbstub_arch.cpp | 93 +++++++++++++++++++++++++++--- src/core/debugger/gdbstub_arch.h | 4 +- 3 files changed, 88 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4c98093f6..d3b7ca437 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 2751. +This is the source code for early-access 2752. ## Legal Notice diff --git a/src/core/debugger/gdbstub_arch.cpp b/src/core/debugger/gdbstub_arch.cpp index 99e3893a9..750c353b9 100755 --- a/src/core/debugger/gdbstub_arch.cpp +++ b/src/core/debugger/gdbstub_arch.cpp @@ -46,6 +46,7 @@ std::string GDBStubA64::GetTargetXML() const { R"( + aarch64 @@ -80,7 +81,7 @@ std::string GDBStubA64::GetTargetXML() const { - + @@ -97,9 +98,84 @@ std::string GDBStubA64::GetTargetXML() const { - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + )"; @@ -121,12 +197,12 @@ std::string GDBStubA64::RegRead(const Kernel::KThread* thread, size_t id) const return ValueToHex(context.pc); } else if (id == PSTATE_REGISTER) { return ValueToHex(context.pstate); - } else if (id >= Q0_REGISTER && id < FPCR_REGISTER) { + } else if (id >= Q0_REGISTER && id < FPSR_REGISTER) { return ValueToHex(fprs[id - Q0_REGISTER]); - } else if (id == FPCR_REGISTER) { - return ValueToHex(context.fpcr); } else if (id == FPSR_REGISTER) { return ValueToHex(context.fpsr); + } else if (id == FPCR_REGISTER) { + return ValueToHex(context.fpcr); } else { return ""; } @@ -145,12 +221,12 @@ void GDBStubA64::RegWrite(Kernel::KThread* thread, size_t id, std::string_view v context.pc = HexToValue(value); } else if (id == PSTATE_REGISTER) { context.pstate = HexToValue(value); - } else if (id >= Q0_REGISTER && id < FPCR_REGISTER) { + } else if (id >= Q0_REGISTER && id < FPSR_REGISTER) { context.vector_registers[id - Q0_REGISTER] = HexToValue(value); - } else if (id == FPCR_REGISTER) { - context.fpcr = HexToValue(value); } else if (id == FPSR_REGISTER) { context.fpsr = HexToValue(value); + } else if (id == FPCR_REGISTER) { + context.fpcr = HexToValue(value); } } @@ -195,6 +271,7 @@ std::string GDBStubA32::GetTargetXML() const { R"( + arm diff --git a/src/core/debugger/gdbstub_arch.h b/src/core/debugger/gdbstub_arch.h index e943848e5..4d039a9f7 100755 --- a/src/core/debugger/gdbstub_arch.h +++ b/src/core/debugger/gdbstub_arch.h @@ -40,8 +40,8 @@ private: static constexpr u32 PC_REGISTER = 32; static constexpr u32 PSTATE_REGISTER = 33; static constexpr u32 Q0_REGISTER = 34; - static constexpr u32 FPCR_REGISTER = 66; - static constexpr u32 FPSR_REGISTER = 67; + static constexpr u32 FPSR_REGISTER = 66; + static constexpr u32 FPCR_REGISTER = 67; }; class GDBStubA32 final : public GDBStubArch {