This commit is contained in:
Nav
2023-11-22 22:44:03 +00:00
parent ad1261ebc8
commit c4dc3c89f5
2 changed files with 10 additions and 10 deletions

View File

@@ -6,14 +6,14 @@
namespace Targets::RiscV::DebugModule::Registers namespace Targets::RiscV::DebugModule::Registers
{ {
enum HartSelectionMode: std::uint8_t
{
SINGLE = 0x00,
MULTI = 0x01,
};
struct ControlRegister struct ControlRegister
{ {
enum HartSelectionMode: std::uint8_t
{
SINGLE = 0x00,
MULTI = 0x01,
};
bool debugModuleActive:1 = false; bool debugModuleActive:1 = false;
bool ndmReset:1 = false; bool ndmReset:1 = false;
bool clearResetHaltRequest:1 = false; bool clearResetHaltRequest:1 = false;
@@ -30,7 +30,7 @@ namespace Targets::RiscV::DebugModule::Registers
ControlRegister() = default; ControlRegister() = default;
explicit ControlRegister(RegisterValue registerValue) constexpr explicit ControlRegister(RegisterValue registerValue)
: debugModuleActive(static_cast<bool>(registerValue & 0x01)) : debugModuleActive(static_cast<bool>(registerValue & 0x01))
, ndmReset(static_cast<bool>(registerValue & (0x01 << 1))) , ndmReset(static_cast<bool>(registerValue & (0x01 << 1)))
, clearResetHaltRequest(static_cast<bool>(registerValue & (0x01 << 2))) , clearResetHaltRequest(static_cast<bool>(registerValue & (0x01 << 2)))
@@ -46,7 +46,7 @@ namespace Targets::RiscV::DebugModule::Registers
, haltRequest(static_cast<bool>(registerValue & static_cast<std::uint32_t>(0x01 << 31))) , haltRequest(static_cast<bool>(registerValue & static_cast<std::uint32_t>(0x01 << 31)))
{} {}
RegisterValue value() const { constexpr RegisterValue value() const {
return RegisterValue{0} return RegisterValue{0}
| static_cast<RegisterValue>(this->debugModuleActive) | static_cast<RegisterValue>(this->debugModuleActive)
| static_cast<RegisterValue>(this->ndmReset) << 1 | static_cast<RegisterValue>(this->ndmReset) << 1

View File

@@ -29,7 +29,7 @@ namespace Targets::RiscV::DebugModule::Registers
bool stickyUnavailableBits:1 = false; bool stickyUnavailableBits:1 = false;
bool ndmResetPending:1 = false; bool ndmResetPending:1 = false;
explicit StatusRegister(RegisterValue registerValue) constexpr explicit StatusRegister(RegisterValue registerValue)
: version(static_cast<std::uint8_t>(registerValue & 0x0F)) : version(static_cast<std::uint8_t>(registerValue & 0x0F))
, validConfigStructurePointer(static_cast<bool>(registerValue & (0x01 << 4))) , validConfigStructurePointer(static_cast<bool>(registerValue & (0x01 << 4)))
, supportsResetHalt(static_cast<bool>(registerValue & (0x01 << 5))) , supportsResetHalt(static_cast<bool>(registerValue & (0x01 << 5)))
@@ -52,7 +52,7 @@ namespace Targets::RiscV::DebugModule::Registers
, ndmResetPending(static_cast<bool>(registerValue & (0x01 << 24))) , ndmResetPending(static_cast<bool>(registerValue & (0x01 << 24)))
{} {}
RegisterValue value() const { constexpr RegisterValue value() const {
return RegisterValue{0} return RegisterValue{0}
| static_cast<RegisterValue>(this->version) | static_cast<RegisterValue>(this->version)
| static_cast<RegisterValue>(this->validConfigStructurePointer) << 4 | static_cast<RegisterValue>(this->validConfigStructurePointer) << 4