Lin Huang (hl@rock-chips.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13914
-gerrit
commit 4ef157d50a6b87b5e69e62558633d7ead18be5c6 Author: huang lin hl@rock-chips.com Date: Thu Mar 3 15:29:34 2016 +0800
libpayload: mmu: Assuming that memory 0-4GiB is device memory
in some platform(like rk3399), mmio space start 0xf8000000, exceed 2GB, so fix it.
Change-Id: I39da4ce247422f67451711ac0ed5a5e1119ed836 Signed-off-by: huang lin hl@rock-chips.com --- payloads/libpayload/arch/arm64/mmu.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/payloads/libpayload/arch/arm64/mmu.c b/payloads/libpayload/arch/arm64/mmu.c index f07e4c4..9bb402b 100644 --- a/payloads/libpayload/arch/arm64/mmu.c +++ b/payloads/libpayload/arch/arm64/mmu.c @@ -260,7 +260,7 @@ void mmu_config_range(void *start, size_t size, uint64_t tag) * Desc : Initialize mmu based on the mmu_memrange passed. ttb_buffer is used as * the base address for xlat tables. TTB_DEFAULT_SIZE defines the max number of * tables that can be used - * Assuming that memory 0-2GiB is device memory. + * Assuming that memory 0-4GiB is device memory. */ uint64_t mmu_init(struct mmu_ranges *mmu_ranges) { @@ -275,8 +275,7 @@ uint64_t mmu_init(struct mmu_ranges *mmu_ranges) printf("Libpayload ARM64: TTB_BUFFER: 0x%p Max Tables: %d\n", (void*)xlat_addr, max_tables);
- mmu_config_range(NULL, 0x80000000, TYPE_DEV_MEM); - + mmu_config_range(NULL, 0x100000000, TYPE_DEV_MEM); for (; i < mmu_ranges->used; i++) mmu_config_range((void *)mmu_ranges->entries[i].base, mmu_ranges->entries[i].size,