From 5d552e4e7c601478c0c0c998d306608c6b698fb8 Mon Sep 17 00:00:00 2001 From: Nav Date: Thu, 23 Nov 2023 16:42:02 +0000 Subject: [PATCH] Implemented RiscV `getProgramCounter()` --- src/Targets/RiscV/Registers/RegisterNumbers.hpp | 1 + src/Targets/RiscV/RiscV.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Targets/RiscV/Registers/RegisterNumbers.hpp b/src/Targets/RiscV/Registers/RegisterNumbers.hpp index 6f2b9761..ffb6c5f7 100644 --- a/src/Targets/RiscV/Registers/RegisterNumbers.hpp +++ b/src/Targets/RiscV/Registers/RegisterNumbers.hpp @@ -9,5 +9,6 @@ namespace Targets::RiscV::Registers enum class RegisterNumber: std::uint16_t { DEBUG_CONTROL_STATUS_REGISTER = 0x07b0, + DEBUG_PROGRAM_COUNTER_REGISTER = 0x07b1, }; } diff --git a/src/Targets/RiscV/RiscV.cpp b/src/Targets/RiscV/RiscV.cpp index a0493f44..32eb1bfd 100644 --- a/src/Targets/RiscV/RiscV.cpp +++ b/src/Targets/RiscV/RiscV.cpp @@ -223,7 +223,7 @@ namespace Targets::RiscV } TargetMemoryAddress RiscV::getProgramCounter() { - return 0; + return this->readRegister(RegisterNumber::DEBUG_PROGRAM_COUNTER_REGISTER); } void RiscV::setProgramCounter(TargetMemoryAddress programCounter) {