Corrected memory address/size alignment in EDBG and RISC-V drivers
This commit is contained in:
@@ -1267,9 +1267,7 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((address % alignTo) != 0) {
|
if ((address % alignTo) != 0) {
|
||||||
return static_cast<TargetMemoryAddress>(std::floor(
|
return (address / alignTo) * alignTo;
|
||||||
static_cast<float>(address) / static_cast<float>(alignTo)
|
|
||||||
) * alignTo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return address;
|
return address;
|
||||||
@@ -1299,7 +1297,7 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
|||||||
|
|
||||||
if ((bytes % alignTo) != 0) {
|
if ((bytes % alignTo) != 0) {
|
||||||
return static_cast<TargetMemorySize>(std::ceil(
|
return static_cast<TargetMemorySize>(std::ceil(
|
||||||
static_cast<float>(bytes) / static_cast<float>(alignTo)
|
static_cast<double>(bytes) / static_cast<double>(alignTo)
|
||||||
) * alignTo);
|
) * alignTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -579,14 +579,12 @@ namespace DebugToolDrivers::Protocols::RiscVDebugSpec
|
|||||||
}
|
}
|
||||||
|
|
||||||
TargetMemoryAddress DebugTranslator::alignMemoryAddress(TargetMemoryAddress address, TargetMemoryAddress alignTo) {
|
TargetMemoryAddress DebugTranslator::alignMemoryAddress(TargetMemoryAddress address, TargetMemoryAddress alignTo) {
|
||||||
return static_cast<TargetMemoryAddress>(
|
return (address / alignTo) * alignTo;
|
||||||
std::floor(static_cast<float>(address) / static_cast<float>(alignTo))
|
|
||||||
) * alignTo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TargetMemorySize DebugTranslator::alignMemorySize(TargetMemorySize size, TargetMemorySize alignTo) {
|
TargetMemorySize DebugTranslator::alignMemorySize(TargetMemorySize size, TargetMemorySize alignTo) {
|
||||||
return static_cast<TargetMemorySize>(
|
return static_cast<TargetMemorySize>(
|
||||||
std::ceil(static_cast<float>(size) / static_cast<float>(alignTo))
|
std::ceil(static_cast<double>(size) / static_cast<double>(alignTo))
|
||||||
) * alignTo;
|
) * alignTo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user