From d0691357db6745c7a19304a99dda55265cedd644 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 15 Nov 2018 13:17:37 +0800 Subject: [PATCH] MLK-20373-4 imx8: update mem map table Update mem map table for xen uboot. xen console and some magic pages needs to be mappe as normal memory. Signed-off-by: Peng Fan Reviewed-by: Peng Fan Reviewed-by: Flynn xu (cherry picked from commit c96a9844cd3342f6e31627ccc4f3e63544ffd78e) (cherry picked from commit 30b2d9f4a7c0cfc9b3f999f1c3a1a8c466d66a68) (cherry picked from commit 03db7649c0f8c7a292160e2d5d8981e6c3b84ee3) (cherry picked from commit 4ce0b30c0fb047ff2d0c58ae3ae6bd92737ea611) (cherry picked from commit 1483f13672f065c8ce80ed2750cd6019e5b16e0e) --- arch/arm/mach-imx/imx8/cpu.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c index a17e1c3..bc6f659 100644 --- a/arch/arm/mach-imx/imx8/cpu.c +++ b/arch/arm/mach-imx/imx8/cpu.c @@ -760,20 +760,31 @@ void enable_caches(void) if (IS_ENABLED(CONFIG_XEN)) { imx8_mem_map[0].virt = 0x00000000UL; imx8_mem_map[0].phys = 0x00000000UL; - imx8_mem_map[0].size = 0x80000000UL; + imx8_mem_map[0].size = 0x39000000UL; imx8_mem_map[0].attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN; - imx8_mem_map[1].virt = 0x80000000UL; - imx8_mem_map[1].phys = 0x80000000UL; - imx8_mem_map[1].size = 0x80000000UL; - imx8_mem_map[1].attrs = (PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_OUTER_SHARE); - - imx8_mem_map[2].virt = 0x100000000UL; - imx8_mem_map[2].phys = 0x100000000UL; - imx8_mem_map[2].size = 0x100000000UL; + imx8_mem_map[1].virt = 0x39000000UL; + imx8_mem_map[1].phys = 0x39000000UL; + imx8_mem_map[1].size = 0x01000000UL; + imx8_mem_map[1].attrs = (PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_INNER_SHARE); + + imx8_mem_map[2].virt = 0x40000000UL; + imx8_mem_map[2].phys = 0x40000000UL; + imx8_mem_map[2].size = 0x40000000UL; imx8_mem_map[2].attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN; + imx8_mem_map[3].virt = 0x80000000UL; + imx8_mem_map[3].phys = 0x80000000UL; + imx8_mem_map[3].size = 0x80000000UL; + imx8_mem_map[3].attrs = (PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_INNER_SHARE); + + imx8_mem_map[4].virt = 0x100000000UL; + imx8_mem_map[4].phys = 0x100000000UL; + imx8_mem_map[4].size = 0x100000000UL; + imx8_mem_map[4].attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN; + icache_enable(); dcache_enable(); -- 1.9.1