Samsung / TizenRT

TizenRT is a lightweight RTOS-based platform to support low-end IoT devices
Apache License 2.0
566 stars 571 forks source link

arm/src/armv7-a: correct condition to allocate sections in mmu #6386

Closed abhishek-samsung closed 4 weeks ago

abhishek-samsung commented 1 month ago

Previous code was checking only if size is multiple of section size for allocating section. Modified the code to allocate section if size >= section size. This also makes sure that during binary loading, each binary atmost will need 4 l2 pages, 2 for rw data atmost and 2 for rox data atmost.

Before changes :

mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 0
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 1
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 2
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 3
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 4
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 5
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 6

mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 0
mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 1
mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 2
mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 3
mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 4
mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 5

After changes :

mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 0
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 1
mmu_allocate_app_l2_pgtbl: app_id : 0, l2idx : 2

mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 0
mmu_allocate_app_l2_pgtbl: app_id : 1, l2idx : 1