Moved RISC-V CSR and GPR address spaces to TDF.

Some other bits of refactoring/tidying
This commit is contained in:
Nav
2024-12-27 03:41:31 +00:00
parent 00c4cee6c2
commit 4dc019e915
9 changed files with 81 additions and 108 deletions

View File

@@ -10,10 +10,10 @@ namespace DebugServer::Gdb::RiscVGdb
using Exceptions::Exception;
RiscVGdbTargetDescriptor::RiscVGdbTargetDescriptor(const Targets::TargetDescriptor& targetDescriptor)
: systemAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("system"))
, cpuAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("csr"))
: gprAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("gpr"))
, systemAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("system"))
, programMemorySegmentDescriptor(this->systemAddressSpaceDescriptor.getMemorySegmentDescriptor("main_program"))
, gpRegistersMemorySegmentDescriptor(this->cpuAddressSpaceDescriptor.getMemorySegmentDescriptor("gp_registers"))
, gpRegistersMemorySegmentDescriptor(this->gprAddressSpaceDescriptor.getMemorySegmentDescriptor("gpr"))
, cpuGpPeripheralDescriptor(targetDescriptor.getPeripheralDescriptor("cpu"))
, cpuGpRegisterGroupDescriptor(this->cpuGpPeripheralDescriptor.getRegisterGroupDescriptor("gpr"))
, programCounterGdbRegisterId(static_cast<GdbRegisterId>(this->cpuGpRegisterGroupDescriptor.registerDescriptorsByKey.size()))

View File

@@ -13,8 +13,8 @@ namespace DebugServer::Gdb::RiscVGdb
class RiscVGdbTargetDescriptor: public DebugServer::Gdb::TargetDescriptor
{
public:
const Targets::TargetAddressSpaceDescriptor& gprAddressSpaceDescriptor;
const Targets::TargetAddressSpaceDescriptor& systemAddressSpaceDescriptor;
const Targets::TargetAddressSpaceDescriptor& cpuAddressSpaceDescriptor;
const Targets::TargetMemorySegmentDescriptor& programMemorySegmentDescriptor;
const Targets::TargetMemorySegmentDescriptor& gpRegistersMemorySegmentDescriptor;

View File

@@ -4,9 +4,6 @@
namespace DebugServer
{
/**
* Every debug server must implement this interface.
*/
class ServerInterface
{
public: