arm64: make mmu_enable() use previous ttb from mmu_init()

No need to pass in the same value for the ttb after just
calling mmu_init(). All current users are setting this once
and forgetting it.

BUG=chrome-os-partner:31545
BRANCH=None
TEST=Built and booted on ryu.

Change-Id: I54c7e4892d44ea6129429d8a46461d089dd8e2a9
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/214772
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
Aaron Durbin 2014-08-27 14:58:43 -05:00 committed by chrome-internal-fetch
commit bd77461d48
3 changed files with 7 additions and 5 deletions

View file

@ -285,7 +285,7 @@ static uint32_t is_mmu_enabled(void)
return (sctlr & SCTLR_M);
}
void mmu_enable(uint64_t ttbr)
void mmu_enable(void)
{
uint32_t sctlr;
@ -301,7 +301,7 @@ void mmu_enable(uint64_t ttbr)
TCR_TBI_USED);
/* Initialize TTBR */
raw_write_ttbr0_el3(ttbr);
raw_write_ttbr0_el3((uintptr_t)xlat_addr);
/* Ensure all translation table writes are committed before enabling MMU */
dsb();

View file

@ -162,7 +162,9 @@
#define TCR_TBI_USED (0x0 << TCR_TBI_SHIFT)
#define TCR_TBI_IGNORED (0x1 << TCR_TBI_SHIFT)
void mmu_init(struct memranges *,uint64_t *,uint64_t);
void mmu_enable(uint64_t);
/* Initialize the MMU TTB tables provide the range sequence and ttb buffer. */
void mmu_init(struct memranges *ranges, uint64_t *ttb, uint64_t ttb_size);
/* Enable the mmu based on previous mmu_init(). */
void mmu_enable(void);
#endif // __ARCH_ARM64_MMU_H__

View file

@ -95,5 +95,5 @@ void tegra132_mmu_init(void)
tz_base_mib *= MiB;
ttb_size_mib = TTB_SIZE * MiB;
mmu_init(map, (void *)tz_base_mib, ttb_size_mib);
mmu_enable(tz_base_mib);
mmu_enable();
}