bsps/aarch64: Use MMU pages appropriately

There were two bugs with MMU page use that were partially hiding each
other. The linker script page table section was 4x the size it needed to
be and the page table allocation routine was allocating pages PTRSIZE
times larger than it needed to. On ILP32, this resulted in incorrect but
functional allocation. On LP64, this resulted in allocation failures
earlier than expected.
This commit is contained in:
Kinsey Moore
2022-07-05 13:35:28 -05:00
committed by Joel Sherrill
parent 22015c0251
commit 2f6ee01e9e
5 changed files with 14 additions and 14 deletions

View File

@@ -145,8 +145,8 @@ BSP_START_TEXT_SECTION static inline rtems_status_code
aarch64_mmu_page_table_alloc( uint64_t **page_table )
{
/* First page table is already in use as TTB0 */
static uintptr_t *current_page_table =
(uintptr_t *) bsp_translation_table_base;
static uintptr_t current_page_table =
(uintptr_t) bsp_translation_table_base;
current_page_table += MMU_PAGE_SIZE;
*page_table = (uint64_t *) current_page_table;