of: MSI: Simplify irqdomain lookup
[linux/fpc-iii.git] / arch / arm / include / asm / mach / map.h
blobf98c7f32c9c8aefb256c7c7a287c6c2d69602011
1 /*
2 * arch/arm/include/asm/map.h
4 * Copyright (C) 1999-2000 Russell King
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 * Page table mapping constructs and function prototypes
12 #ifndef __ASM_MACH_MAP_H
13 #define __ASM_MACH_MAP_H
15 #include <asm/io.h>
17 struct map_desc {
18 unsigned long virtual;
19 unsigned long pfn;
20 unsigned long length;
21 unsigned int type;
24 /* types 0-3 are defined in asm/io.h */
25 enum {
26 MT_UNCACHED = 4,
27 MT_CACHECLEAN,
28 MT_MINICLEAN,
29 MT_LOW_VECTORS,
30 MT_HIGH_VECTORS,
31 MT_MEMORY_RWX,
32 MT_MEMORY_RW,
33 MT_ROM,
34 MT_MEMORY_RWX_NONCACHED,
35 MT_MEMORY_RW_DTCM,
36 MT_MEMORY_RWX_ITCM,
37 MT_MEMORY_RW_SO,
38 MT_MEMORY_DMA_READY,
41 #ifdef CONFIG_MMU
42 extern void iotable_init(struct map_desc *, int);
43 extern void vm_reserve_area_early(unsigned long addr, unsigned long size,
44 void *caller);
46 #ifdef CONFIG_DEBUG_LL
47 extern void debug_ll_addr(unsigned long *paddr, unsigned long *vaddr);
48 extern void debug_ll_io_init(void);
49 #else
50 static inline void debug_ll_io_init(void) {}
51 #endif
53 struct mem_type;
54 extern const struct mem_type *get_mem_type(unsigned int type);
56 * external interface to remap single page with appropriate type
58 extern int ioremap_page(unsigned long virt, unsigned long phys,
59 const struct mem_type *mtype);
60 #else
61 #define iotable_init(map,num) do { } while (0)
62 #define vm_reserve_area_early(a,s,c) do { } while (0)
63 #endif
65 #endif