aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/setup.c
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-11-05 07:54:17 +0000
committerMatt Fleming <matt@console-pimps.org>2010-01-16 14:31:36 +0000
commit4d35b93a66e9b87df20784fcf130d2e8760be53f (patch)
treeaf0b82ab28a0e4142130c6510cc06cca3d4a67aa /arch/sh/kernel/setup.c
parentsh: Generalise the pte handling code for the fixmap path (diff)
downloadlinux-dev-4d35b93a66e9b87df20784fcf130d2e8760be53f.tar.xz
linux-dev-4d35b93a66e9b87df20784fcf130d2e8760be53f.zip
sh: Add fixed ioremap support
Some devices need to be ioremap'd and accessed very early in the boot process. It is not possible to use the standard ioremap() function in this case because that requires kmalloc()'ing some virtual address space and kmalloc() may not be available so early in boot. This patch provides fixmap mappings that allow physical address ranges to be remapped into the kernel address space during the early boot stages. Signed-off-by: Matt Fleming <matt@console-pimps.org>
Diffstat (limited to 'arch/sh/kernel/setup.c')
-rw-r--r--arch/sh/kernel/setup.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index f79ebe32a24a..e187750dd319 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -449,14 +449,15 @@ void __init setup_arch(char **cmdline_p)
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
#endif
+ paging_init();
+ pmb_init();
+
+ ioremap_fixed_init();
/* Perform the machine specific initialisation */
if (likely(sh_mv.mv_setup))
sh_mv.mv_setup(cmdline_p);
- paging_init();
- pmb_init();
-
#ifdef CONFIG_SMP
plat_smp_setup();
#endif