public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/4] armv8: enable compilation with CONFIG_SYS_NONCACHED_MEMORY
@ 2015-10-05 18:08 Stephen Warren
  2015-10-05 18:09 ` [U-Boot] [PATCH 2/4] armv8: allow custom MMU setup routines on ARMv8 Stephen Warren
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Stephen Warren @ 2015-10-05 18:08 UTC (permalink / raw)
  To: u-boot

From: Stephen Warren <swarren@nvidia.com>

The implementation of noncached_init() uses define MMU_SECTION_SIZE.
Define this on ARM64.

Move the prototype of noncached_{init,alloc}() to a location that
doesn't depend on !defined(CONFIG_ARM64).

Note that noncached_init() calls mmu_set_region_dcache_behaviour() which
relies on something having set up translation tables with 2MB block size.
The core ARMv8 MMU setup code does not do this by default, but currently
relies on SoC specific MMU setup code. Be aware of this before enabling
this feature on your platform!

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 arch/arm/include/asm/system.h | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
index 868ea54b4fef..c2d3718eb90c 100644
--- a/arch/arm/include/asm/system.h
+++ b/arch/arm/include/asm/system.h
@@ -17,6 +17,7 @@
 #define PGTABLE_SIZE	(0x10000)
 /* 2MB granularity */
 #define MMU_SECTION_SHIFT	21
+#define MMU_SECTION_SIZE	(1 << MMU_SECTION_SHIFT)
 
 #ifndef __ASSEMBLY__
 
@@ -278,11 +279,6 @@ enum {
  */
 void mmu_page_table_flush(unsigned long start, unsigned long stop);
 
-#ifdef CONFIG_SYS_NONCACHED_MEMORY
-void noncached_init(void);
-phys_addr_t noncached_alloc(size_t size, size_t align);
-#endif /* CONFIG_SYS_NONCACHED_MEMORY */
-
 #endif /* __ASSEMBLY__ */
 
 #define arch_align_stack(x) (x)
@@ -302,6 +298,11 @@ phys_addr_t noncached_alloc(size_t size, size_t align);
 void mmu_set_region_dcache_behaviour(phys_addr_t start, size_t size,
 				     enum dcache_option option);
 
+#ifdef CONFIG_SYS_NONCACHED_MEMORY
+void noncached_init(void);
+phys_addr_t noncached_alloc(size_t size, size_t align);
+#endif /* CONFIG_SYS_NONCACHED_MEMORY */
+
 #endif /* __ASSEMBLY__ */
 
 #endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-11-10 17:01 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-05 18:08 [U-Boot] [PATCH 1/4] armv8: enable compilation with CONFIG_SYS_NONCACHED_MEMORY Stephen Warren
2015-10-05 18:09 ` [U-Boot] [PATCH 2/4] armv8: allow custom MMU setup routines on ARMv8 Stephen Warren
2015-10-05 18:09 ` [U-Boot] [PATCH 3/4] ARM: tegra: add custom MMU setup " Stephen Warren
2015-10-05 18:09 ` [U-Boot] [PATCH 4/4] ARM: tegra: enable CONFIG_SYS_NONCACHED_MEMORY everywhere Stephen Warren
2015-10-21 16:35 ` [U-Boot] [PATCH 1/4] armv8: enable compilation with CONFIG_SYS_NONCACHED_MEMORY Stephen Warren
2015-10-22  6:25   ` Albert ARIBAUD
2015-10-27 20:38     ` Tom Warren
2015-11-03 19:18     ` Tom Warren
2015-11-06 16:31     ` Tom Warren
2015-11-09 23:28     ` Tom Warren
2015-11-09 23:35       ` Tom Rini
2015-11-10 15:54         ` Tom Warren
2015-11-10 17:01           ` Albert ARIBAUD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox