Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/*
2 * arch/arm/include/asm/map.h
3 *
4 * Copyright (C) 1999-2000 Russell King
5 *
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.
9 *
10 * Page table mapping constructs and function prototypes
11 */
12#include <asm/io.h>
13
14struct map_desc {
15 unsigned long virtual;
16 unsigned long pfn;
17 unsigned long length;
18 unsigned int type;
19};
20
21/* types 0-3 are defined in asm/io.h */
22#define MT_UNCACHED 4
23#define MT_CACHECLEAN 5
24#define MT_MINICLEAN 6
25#define MT_LOW_VECTORS 7
26#define MT_HIGH_VECTORS 8
27#define MT_MEMORY 9
28#define MT_ROM 10
29#define MT_MEMORY_NONCACHED 11
30#define MT_MEMORY_DTCM 12
31#define MT_MEMORY_ITCM 13
32#define MT_MEMORY_SO 14
33
34#ifdef CONFIG_MMU
35extern void iotable_init(struct map_desc *, int);
36
37struct mem_type;
38extern const struct mem_type *get_mem_type(unsigned int type);
39/*
40 * external interface to remap single page with appropriate type
41 */
42extern int ioremap_page(unsigned long virt, unsigned long phys,
43 const struct mem_type *mtype);
44#else
45#define iotable_init(map,num) do { } while (0)
46#endif