|
|
|
@ -41,9 +41,8 @@ static void PutSIMDRegister(std::array<u32, 64>& simd_regs, size_t offset, const
|
|
|
|
|
|
|
|
|
|
// For sample XML files see the GDB source /gdb/features
|
|
|
|
|
// This XML defines what the registers are for this specific ARM device
|
|
|
|
|
std::string GDBStubA64::GetTargetXML() const {
|
|
|
|
|
constexpr static const char* target_xml =
|
|
|
|
|
R"(<?xml version="1.0"?>
|
|
|
|
|
constexpr std::string_view GDBStubA64::GetTargetXML() const {
|
|
|
|
|
return R"(<?xml version="1.0"?>
|
|
|
|
|
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
|
|
|
|
<target version="1.0">
|
|
|
|
|
<architecture>aarch64</architecture>
|
|
|
|
@ -178,8 +177,6 @@ std::string GDBStubA64::GetTargetXML() const {
|
|
|
|
|
<reg name="fpcr" bitsize="32"/>
|
|
|
|
|
</feature>
|
|
|
|
|
</target>)";
|
|
|
|
|
|
|
|
|
|
return target_xml;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string GDBStubA64::RegRead(const Kernel::KThread* thread, size_t id) const {
|
|
|
|
@ -270,9 +267,8 @@ u32 GDBStubA64::BreakpointInstruction() const {
|
|
|
|
|
return 0xd4200000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string GDBStubA32::GetTargetXML() const {
|
|
|
|
|
constexpr static const char* target_xml =
|
|
|
|
|
R"(<?xml version="1.0"?>
|
|
|
|
|
constexpr std::string_view GDBStubA32::GetTargetXML() const {
|
|
|
|
|
return R"(<?xml version="1.0"?>
|
|
|
|
|
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
|
|
|
|
<target version="1.0">
|
|
|
|
|
<architecture>arm</architecture>
|
|
|
|
@ -378,8 +374,6 @@ std::string GDBStubA32::GetTargetXML() const {
|
|
|
|
|
<reg name="fpscr" bitsize="32" type="int" group="float" regnum="80"/>
|
|
|
|
|
</feature>
|
|
|
|
|
</target>)";
|
|
|
|
|
|
|
|
|
|
return target_xml;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string GDBStubA32::RegRead(const Kernel::KThread* thread, size_t id) const {
|
|
|
|
|