Made GDB target descriptor register functions const
This commit is contained in:
@@ -18,11 +18,11 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
|
|||||||
|
|
||||||
std::optional<GdbRegisterNumberType> TargetDescriptor::getRegisterNumberFromTargetRegisterDescriptor(
|
std::optional<GdbRegisterNumberType> TargetDescriptor::getRegisterNumberFromTargetRegisterDescriptor(
|
||||||
const Targets::TargetRegisterDescriptor& registerDescriptor
|
const Targets::TargetRegisterDescriptor& registerDescriptor
|
||||||
) {
|
) const {
|
||||||
return this->targetRegisterDescriptorsByGdbNumber.valueAt(registerDescriptor);
|
return this->targetRegisterDescriptorsByGdbNumber.valueAt(registerDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
const RegisterDescriptor& TargetDescriptor::getRegisterDescriptorFromNumber(GdbRegisterNumberType number) {
|
const RegisterDescriptor& TargetDescriptor::getRegisterDescriptorFromNumber(GdbRegisterNumberType number) const {
|
||||||
if (this->registerDescriptorsByGdbNumber.contains(number)) {
|
if (this->registerDescriptorsByGdbNumber.contains(number)) {
|
||||||
return this->registerDescriptorsByGdbNumber.at(number);
|
return this->registerDescriptorsByGdbNumber.at(number);
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,9 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
|
|||||||
+ ") not mapped to any GDB register descriptor.");
|
+ ") not mapped to any GDB register descriptor.");
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterDescriptor& TargetDescriptor::getTargetRegisterDescriptorFromNumber(GdbRegisterNumberType number) {
|
const TargetRegisterDescriptor& TargetDescriptor::getTargetRegisterDescriptorFromNumber(
|
||||||
|
GdbRegisterNumberType number
|
||||||
|
) const {
|
||||||
if (this->targetRegisterDescriptorsByGdbNumber.contains(number)) {
|
if (this->targetRegisterDescriptorsByGdbNumber.contains(number)) {
|
||||||
return this->targetRegisterDescriptorsByGdbNumber.at(number);
|
return this->targetRegisterDescriptorsByGdbNumber.at(number);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
|
|||||||
BiMap<GdbRegisterNumberType, RegisterDescriptor> registerDescriptorsByGdbNumber = {};
|
BiMap<GdbRegisterNumberType, RegisterDescriptor> registerDescriptorsByGdbNumber = {};
|
||||||
BiMap<GdbRegisterNumberType, Targets::TargetRegisterDescriptor> targetRegisterDescriptorsByGdbNumber = {};
|
BiMap<GdbRegisterNumberType, Targets::TargetRegisterDescriptor> targetRegisterDescriptorsByGdbNumber = {};
|
||||||
|
|
||||||
explicit TargetDescriptor(const Bloom::Targets::TargetDescriptor& targetDescriptor);
|
explicit TargetDescriptor(const Targets::TargetDescriptor& targetDescriptor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should retrieve the GDB register number, given a target register descriptor. Or std::nullopt if the target
|
* Should retrieve the GDB register number, given a target register descriptor. Or std::nullopt if the target
|
||||||
@@ -23,7 +23,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
|
|||||||
*/
|
*/
|
||||||
std::optional<GdbRegisterNumberType> getRegisterNumberFromTargetRegisterDescriptor(
|
std::optional<GdbRegisterNumberType> getRegisterNumberFromTargetRegisterDescriptor(
|
||||||
const Targets::TargetRegisterDescriptor& registerDescriptor
|
const Targets::TargetRegisterDescriptor& registerDescriptor
|
||||||
) override;
|
) const override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should retrieve the GDB register descriptor for a given GDB register number.
|
* Should retrieve the GDB register descriptor for a given GDB register number.
|
||||||
@@ -31,7 +31,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
|
|||||||
* @param number
|
* @param number
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) override;
|
const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) const override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should retrieve the mapped target register descriptor for a given GDB register number.
|
* Should retrieve the mapped target register descriptor for a given GDB register number.
|
||||||
@@ -41,7 +41,7 @@ namespace Bloom::DebugServers::Gdb::AvrGdb
|
|||||||
*/
|
*/
|
||||||
const Targets::TargetRegisterDescriptor& getTargetRegisterDescriptorFromNumber(
|
const Targets::TargetRegisterDescriptor& getTargetRegisterDescriptorFromNumber(
|
||||||
GdbRegisterNumberType number
|
GdbRegisterNumberType number
|
||||||
) override;
|
) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadRegisterMappings();
|
void loadRegisterMappings();
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace Bloom::DebugServers::Gdb
|
|||||||
*/
|
*/
|
||||||
virtual std::optional<GdbRegisterNumberType> getRegisterNumberFromTargetRegisterDescriptor(
|
virtual std::optional<GdbRegisterNumberType> getRegisterNumberFromTargetRegisterDescriptor(
|
||||||
const Targets::TargetRegisterDescriptor& registerDescriptor
|
const Targets::TargetRegisterDescriptor& registerDescriptor
|
||||||
) = 0;
|
) const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should retrieve the GDB register descriptor for a given GDB register number.
|
* Should retrieve the GDB register descriptor for a given GDB register number.
|
||||||
@@ -35,7 +35,7 @@ namespace Bloom::DebugServers::Gdb
|
|||||||
* @param number
|
* @param number
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
virtual const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) = 0;
|
virtual const RegisterDescriptor& getRegisterDescriptorFromNumber(GdbRegisterNumberType number) const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should retrieve the mapped target register descriptor for a given GDB register number.
|
* Should retrieve the mapped target register descriptor for a given GDB register number.
|
||||||
@@ -45,6 +45,6 @@ namespace Bloom::DebugServers::Gdb
|
|||||||
*/
|
*/
|
||||||
virtual const Targets::TargetRegisterDescriptor& getTargetRegisterDescriptorFromNumber(
|
virtual const Targets::TargetRegisterDescriptor& getTargetRegisterDescriptorFromNumber(
|
||||||
GdbRegisterNumberType number
|
GdbRegisterNumberType number
|
||||||
) = 0;
|
) const = 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user