diff options
author | Matt Fleming <matt@console-pimps.org> | 2009-11-05 07:54:17 +0000 |
---|---|---|
committer | Matt Fleming <matt@console-pimps.org> | 2010-01-16 14:31:36 +0000 |
commit | 4d35b93a66e9b87df20784fcf130d2e8760be53f (patch) | |
tree | af0b82ab28a0e4142130c6510cc06cca3d4a67aa /arch/sh/include/asm/fixmap.h | |
parent | 07cad4dc1bfdaefd20c6329e9d8179ad1c600e92 (diff) | |
download | blackbird-op-linux-4d35b93a66e9b87df20784fcf130d2e8760be53f.tar.gz blackbird-op-linux-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/include/asm/fixmap.h')
-rw-r--r-- | arch/sh/include/asm/fixmap.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/sh/include/asm/fixmap.h b/arch/sh/include/asm/fixmap.h index 1566d3361ca4..38a1de866873 100644 --- a/arch/sh/include/asm/fixmap.h +++ b/arch/sh/include/asm/fixmap.h @@ -60,6 +60,14 @@ enum fixed_addresses { FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, #endif + /* + * FIX_IOREMAP entries are useful for mapping physical address + * space before ioremap() is useable, e.g. really early in boot + * before kmalloc() is working. + */ +#define FIX_N_IOREMAPS 32 + FIX_IOREMAP_BEGIN, + FIX_IOREMAP_END = FIX_IOREMAP_BEGIN + FIX_N_IOREMAPS, __end_of_fixed_addresses }; |