Used TargetMemoryAddressRange in address space and memory segment descriptors
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -695,8 +695,10 @@ namespace Targets::TargetDescription
|
||||
) {
|
||||
auto output = TargetAddressSpaceDescriptor(
|
||||
addressSpace.key,
|
||||
TargetMemoryAddressRange(
|
||||
addressSpace.startAddress,
|
||||
addressSpace.size,
|
||||
addressSpace.startAddress + addressSpace.size - 1
|
||||
),
|
||||
addressSpace.endianness.value_or(TargetMemoryEndianness::LITTLE),
|
||||
{}
|
||||
);
|
||||
@@ -718,8 +720,10 @@ namespace Targets::TargetDescription
|
||||
memorySegment.key,
|
||||
memorySegment.name,
|
||||
memorySegment.type,
|
||||
TargetMemoryAddressRange(
|
||||
memorySegment.startAddress,
|
||||
memorySegment.size,
|
||||
memorySegment.startAddress + memorySegment.size - 1
|
||||
),
|
||||
memorySegment.access,
|
||||
memorySegment.access,
|
||||
memorySegment.pageSize
|
||||
|
||||
@@ -14,8 +14,7 @@ namespace Targets
|
||||
std::string key;
|
||||
std::string name;
|
||||
TargetMemorySegmentType type;
|
||||
TargetMemoryAddress startAddress;
|
||||
TargetMemorySize size;
|
||||
TargetMemoryAddressRange addressRange;
|
||||
TargetMemoryAccess debugModeAccess;
|
||||
TargetMemoryAccess programmingModeAccess;
|
||||
std::optional<TargetMemorySize> pageSize;
|
||||
@@ -24,8 +23,7 @@ namespace Targets
|
||||
const std::string& key,
|
||||
const std::string& name,
|
||||
TargetMemorySegmentType type,
|
||||
TargetMemoryAddress startAddress,
|
||||
TargetMemorySize size,
|
||||
const TargetMemoryAddressRange& addressRange,
|
||||
const TargetMemoryAccess& debugModeAccess,
|
||||
const TargetMemoryAccess& programmingModeAccess,
|
||||
std::optional<TargetMemorySize> pageSize
|
||||
@@ -33,11 +31,14 @@ namespace Targets
|
||||
: key(key)
|
||||
, name(name)
|
||||
, type(type)
|
||||
, startAddress(startAddress)
|
||||
, size(size)
|
||||
, addressRange(addressRange)
|
||||
, debugModeAccess(debugModeAccess)
|
||||
, programmingModeAccess(programmingModeAccess)
|
||||
, pageSize(pageSize)
|
||||
{};
|
||||
|
||||
TargetMemorySize size() const {
|
||||
return this->addressRange.size();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user