Used TargetMemoryAddressRange in address space and memory segment descriptors

This commit is contained in:
Nav
2024-03-16 16:22:35 +00:00
parent 4675d1fddc
commit 11a714d4b6
3 changed files with 22 additions and 16 deletions

View File

@@ -19,26 +19,27 @@ namespace Targets
public:
const TargetAddressSpaceDescriptorId id;
std::string key;
TargetMemoryAddress startAddress;
TargetMemorySize size;
TargetMemoryAddressRange addressRange;
TargetMemoryEndianness endianness;
std::map<std::string, TargetMemorySegmentDescriptor> segmentDescriptorsByKey;
TargetAddressSpaceDescriptor(
const std::string& key,
TargetMemoryAddress startAddress,
TargetMemorySize size,
const TargetMemoryAddressRange& addressRange,
TargetMemoryEndianness endianness,
const std::map<std::string, TargetMemorySegmentDescriptor>& segmentDescriptorsByKey
)
: id(++(TargetAddressSpaceDescriptor::lastAddressSpaceDescriptorId))
, key(key)
, startAddress(startAddress)
, size(size)
, addressRange(addressRange)
, endianness(endianness)
, segmentDescriptorsByKey(segmentDescriptorsByKey)
{};
TargetMemorySize size() const {
return this->addressRange.size();
}
std::optional<std::reference_wrapper<const TargetMemorySegmentDescriptor>> tryGetMemorySegmentDescriptor(
const std::string& key
) const {