summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2011-08-01 19:58:06 +0800
committerSascha Hauer <s.hauer@pengutronix.de>2011-08-01 16:31:46 +0200
commit2222dbc28668e478ec27cff13f8d4c9498d8519a (patch)
tree7d963bde1d3c69e43ef09298bb80cebfa557b3ca /include
parent8ba794abd43d672eb28cd4edc5778b87a3ad268e (diff)
downloadbarebox-2222dbc28668e478ec27cff13f8d4c9498d8519a.tar.gz
barebox-2222dbc28668e478ec27cff13f8d4c9498d8519a.tar.xz
init: introduce mem, mmu and postmmu initcall
on ARM we need to init all the memory before the mmu and before any drivers use dma_alloc_coherent Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/barebox.lds.h5
-rw-r--r--include/init.h11
2 files changed, 11 insertions, 5 deletions
diff --git a/include/asm-generic/barebox.lds.h b/include/asm-generic/barebox.lds.h
index 842e52cfc7..8aee5d2ce4 100644
--- a/include/asm-generic/barebox.lds.h
+++ b/include/asm-generic/barebox.lds.h
@@ -16,7 +16,10 @@
KEEP(*(.initcall.5)) \
KEEP(*(.initcall.6)) \
KEEP(*(.initcall.7)) \
- KEEP(*(.initcall.8))
+ KEEP(*(.initcall.8)) \
+ KEEP(*(.initcall.9)) \
+ KEEP(*(.initcall.10)) \
+ KEEP(*(.initcall.11))
#define BAREBOX_CMDS KEEP(*(SORT_BY_NAME(.barebox_cmd*)))
diff --git a/include/init.h b/include/init.h
index 2f4fac164b..976f643af8 100644
--- a/include/init.h
+++ b/include/init.h
@@ -30,10 +30,13 @@ typedef int (*initcall_t)(void);
#define postcore_initcall(fn) __define_initcall("2",fn,2)
#define console_initcall(fn) __define_initcall("3",fn,3)
#define postconsole_initcall(fn) __define_initcall("4",fn,4)
-#define coredevice_initcall(fn) __define_initcall("5",fn,5)
-#define fs_initcall(fn) __define_initcall("6",fn,6)
-#define device_initcall(fn) __define_initcall("7",fn,7)
-#define late_initcall(fn) __define_initcall("8",fn,8)
+#define mem_initcall(fn) __define_initcall("5",fn,5)
+#define mmu_initcall(fn) __define_initcall("6",fn,6)
+#define postmmu_initcall(fn) __define_initcall("7",fn,7)
+#define coredevice_initcall(fn) __define_initcall("8",fn,8)
+#define fs_initcall(fn) __define_initcall("9",fn,9)
+#define device_initcall(fn) __define_initcall("10",fn,10)
+#define late_initcall(fn) __define_initcall("11",fn,11)
/* section for code used very early when
* - we're not running from where we linked at