forked from Imagelibrary/rtems
arm: Fix PMSA regions for contiguous sections
Sections with identical attributes may be contiguous with a respective begin and end address which is not on a minimum region boundary. The begin address is aligned down to the region base address. The end address is aligned up to the region end address. Account for this in the check for contiguous sections. Update #4202.
This commit is contained in:
@@ -133,16 +133,16 @@ size_t _AArch32_PMSA_Map_sections_to_regions(
|
||||
if ( attr == region_attr ) {
|
||||
uint32_t region_end;
|
||||
|
||||
if ( end == region_base ) {
|
||||
/* Extend the region region */
|
||||
if ( end - region_base <= AARCH32_PMSA_MIN_REGION_ALIGN ) {
|
||||
/* Extend the region */
|
||||
regions[ ri ].base = base;
|
||||
break;
|
||||
}
|
||||
|
||||
region_end = region_limit + AARCH32_PMSA_MIN_REGION_ALIGN;
|
||||
|
||||
if ( base == region_end ) {
|
||||
/* Extend the region region */
|
||||
if ( region_end - base <= AARCH32_PMSA_MIN_REGION_ALIGN ) {
|
||||
/* Extend the region */
|
||||
regions[ ri ].limit = limit;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user