diff options
-rw-r--r-- | src/arch/armv7/lib/mmu.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/arch/armv7/lib/mmu.c b/src/arch/armv7/lib/mmu.c index d4e08f7050..594bba5f29 100644 --- a/src/arch/armv7/lib/mmu.c +++ b/src/arch/armv7/lib/mmu.c @@ -118,11 +118,12 @@ void mmu_init(void) * programmer's guide) * * FIXME: TLB needs to be aligned to 16KB, but cbmem_add() aligns to - * 512 bytes. So add double the space in cbmem and fix-up the pointer. + * 512 bytes. So allocate some extra space in cbmem and fix-up the + * pointer. */ - ttb_size = L1_TLB_ENTRIES * sizeof(unsigned long); - ttb_addr = (uintptr_t)cbmem_add(CBMEM_ID_GDT, ttb_size * 2); - ttb_addr = ALIGN(ttb_addr + ttb_size, ttb_size); + ttb_size = L1_TLB_ENTRIES * sizeof(uint32_t); + ttb_addr = (uintptr_t)cbmem_add(CBMEM_ID_GDT, ttb_size + 16*KiB); + ttb_addr = ALIGN(ttb_addr, 16*KiB); printk(BIOS_DEBUG, "Translation table is @ 0x%08x\n", ttb_addr); /* |