forked from suyu/suyu
use a string view to skip allocation
Signed-off-by: arades79 <scravers@protonmail.com>
This commit is contained in:
parent
683019878f
commit
880b6e9795
2 changed files with 7 additions and 13 deletions
|
@ -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
|
// For sample XML files see the GDB source /gdb/features
|
||||||
// This XML defines what the registers are for this specific ARM device
|
// This XML defines what the registers are for this specific ARM device
|
||||||
std::string GDBStubA64::GetTargetXML() const {
|
constexpr std::string_view GDBStubA64::GetTargetXML() const {
|
||||||
constexpr static const char* target_xml =
|
return R"(<?xml version="1.0"?>
|
||||||
R"(<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||||
<target version="1.0">
|
<target version="1.0">
|
||||||
<architecture>aarch64</architecture>
|
<architecture>aarch64</architecture>
|
||||||
|
@ -178,8 +177,6 @@ std::string GDBStubA64::GetTargetXML() const {
|
||||||
<reg name="fpcr" bitsize="32"/>
|
<reg name="fpcr" bitsize="32"/>
|
||||||
</feature>
|
</feature>
|
||||||
</target>)";
|
</target>)";
|
||||||
|
|
||||||
return target_xml;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GDBStubA64::RegRead(const Kernel::KThread* thread, size_t id) const {
|
std::string GDBStubA64::RegRead(const Kernel::KThread* thread, size_t id) const {
|
||||||
|
@ -270,9 +267,8 @@ u32 GDBStubA64::BreakpointInstruction() const {
|
||||||
return 0xd4200000;
|
return 0xd4200000;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GDBStubA32::GetTargetXML() const {
|
constexpr std::string_view GDBStubA32::GetTargetXML() const {
|
||||||
constexpr static const char* target_xml =
|
return R"(<?xml version="1.0"?>
|
||||||
R"(<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||||
<target version="1.0">
|
<target version="1.0">
|
||||||
<architecture>arm</architecture>
|
<architecture>arm</architecture>
|
||||||
|
@ -378,8 +374,6 @@ std::string GDBStubA32::GetTargetXML() const {
|
||||||
<reg name="fpscr" bitsize="32" type="int" group="float" regnum="80"/>
|
<reg name="fpscr" bitsize="32" type="int" group="float" regnum="80"/>
|
||||||
</feature>
|
</feature>
|
||||||
</target>)";
|
</target>)";
|
||||||
|
|
||||||
return target_xml;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GDBStubA32::RegRead(const Kernel::KThread* thread, size_t id) const {
|
std::string GDBStubA32::RegRead(const Kernel::KThread* thread, size_t id) const {
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace Core {
|
||||||
class GDBStubArch {
|
class GDBStubArch {
|
||||||
public:
|
public:
|
||||||
virtual ~GDBStubArch() = default;
|
virtual ~GDBStubArch() = default;
|
||||||
virtual std::string GetTargetXML() const = 0;
|
virtual constexpr std::string_view GetTargetXML() const = 0;
|
||||||
virtual std::string RegRead(const Kernel::KThread* thread, size_t id) const = 0;
|
virtual std::string RegRead(const Kernel::KThread* thread, size_t id) const = 0;
|
||||||
virtual void RegWrite(Kernel::KThread* thread, size_t id, std::string_view value) const = 0;
|
virtual void RegWrite(Kernel::KThread* thread, size_t id, std::string_view value) const = 0;
|
||||||
virtual std::string ReadRegisters(const Kernel::KThread* thread) const = 0;
|
virtual std::string ReadRegisters(const Kernel::KThread* thread) const = 0;
|
||||||
|
@ -27,7 +27,7 @@ public:
|
||||||
|
|
||||||
class GDBStubA64 final : public GDBStubArch {
|
class GDBStubA64 final : public GDBStubArch {
|
||||||
public:
|
public:
|
||||||
std::string GetTargetXML() const override;
|
constexpr std::string_view GetTargetXML() const override;
|
||||||
std::string RegRead(const Kernel::KThread* thread, size_t id) const override;
|
std::string RegRead(const Kernel::KThread* thread, size_t id) const override;
|
||||||
void RegWrite(Kernel::KThread* thread, size_t id, std::string_view value) const override;
|
void RegWrite(Kernel::KThread* thread, size_t id, std::string_view value) const override;
|
||||||
std::string ReadRegisters(const Kernel::KThread* thread) const override;
|
std::string ReadRegisters(const Kernel::KThread* thread) const override;
|
||||||
|
@ -47,7 +47,7 @@ private:
|
||||||
|
|
||||||
class GDBStubA32 final : public GDBStubArch {
|
class GDBStubA32 final : public GDBStubArch {
|
||||||
public:
|
public:
|
||||||
std::string GetTargetXML() const override;
|
constexpr std::string_view GetTargetXML() const override;
|
||||||
std::string RegRead(const Kernel::KThread* thread, size_t id) const override;
|
std::string RegRead(const Kernel::KThread* thread, size_t id) const override;
|
||||||
void RegWrite(Kernel::KThread* thread, size_t id, std::string_view value) const override;
|
void RegWrite(Kernel::KThread* thread, size_t id, std::string_view value) const override;
|
||||||
std::string ReadRegisters(const Kernel::KThread* thread) const override;
|
std::string ReadRegisters(const Kernel::KThread* thread) const override;
|
||||||
|
|
Loading…
Reference in a new issue