Corrected address range in address space descriptor

This commit is contained in:
Nav
2025-01-19 01:01:41 +00:00
parent 37377fb988
commit 3ae03b8981
2 changed files with 4 additions and 3 deletions

View File

@@ -41,7 +41,7 @@ namespace Targets
const TargetMemoryAddressRange& addressRange, const TargetMemoryAddressRange& addressRange,
TargetMemoryEndianness endianness, TargetMemoryEndianness endianness,
std::map<std::string, TargetMemorySegmentDescriptor>&& segmentDescriptorsByKey, std::map<std::string, TargetMemorySegmentDescriptor>&& segmentDescriptorsByKey,
std::uint8_t unitSize = 1 std::uint8_t unitSize
); );
TargetAddressSpaceDescriptor(const TargetAddressSpaceDescriptor& other) = delete; TargetAddressSpaceDescriptor(const TargetAddressSpaceDescriptor& other) = delete;

View File

@@ -963,10 +963,11 @@ namespace Targets::TargetDescription
addressSpace.key, addressSpace.key,
TargetMemoryAddressRange{ TargetMemoryAddressRange{
addressSpace.startAddress, addressSpace.startAddress,
addressSpace.startAddress + addressSpace.size - 1 addressSpace.startAddress + (addressSpace.size / addressSpace.unitSize) - 1
}, },
addressSpace.endianness.value_or(TargetMemoryEndianness::LITTLE), addressSpace.endianness.value_or(TargetMemoryEndianness::LITTLE),
{} {},
addressSpace.unitSize
}; };
for (const auto& [key, memorySegment] : addressSpace.memorySegmentsByKey) { for (const auto& [key, memorySegment] : addressSpace.memorySegmentsByKey) {