linux/arch/arm/include/asm/mach/map.h
<<
>>
Prefs
   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#ifndef __ASM_MACH_MAP_H
  13#define __ASM_MACH_MAP_H
  14
  15#include <asm/io.h>
  16
  17struct map_desc {
  18        unsigned long virtual;
  19        unsigned long pfn;
  20        unsigned long length;
  21        unsigned int type;
  22};
  23
  24/* types 0-3 are defined in asm/io.h */
  25#define MT_UNCACHED             4
  26#define MT_CACHECLEAN           5
  27#define MT_MINICLEAN            6
  28#define MT_LOW_VECTORS          7
  29#define MT_HIGH_VECTORS         8
  30#define MT_MEMORY               9
  31#define MT_ROM                  10
  32#define MT_MEMORY_NONCACHED     11
  33#define MT_MEMORY_DTCM          12
  34#define MT_MEMORY_ITCM          13
  35#define MT_MEMORY_SO            14
  36#define MT_MEMORY_DMA_READY     15
  37
  38#ifdef CONFIG_MMU
  39extern void iotable_init(struct map_desc *, int);
  40extern void vm_reserve_area_early(unsigned long addr, unsigned long size,
  41                                  void *caller);
  42
  43#ifdef CONFIG_DEBUG_LL
  44extern void debug_ll_addr(unsigned long *paddr, unsigned long *vaddr);
  45extern void debug_ll_io_init(void);
  46#else
  47static inline void debug_ll_io_init(void) {}
  48#endif
  49
  50struct mem_type;
  51extern const struct mem_type *get_mem_type(unsigned int type);
  52/*
  53 * external interface to remap single page with appropriate type
  54 */
  55extern int ioremap_page(unsigned long virt, unsigned long phys,
  56                        const struct mem_type *mtype);
  57#else
  58#define iotable_init(map,num)   do { } while (0)
  59#define vm_reserve_area_early(a,s,c)    do { } while (0)
  60#endif
  61
  62#endif
  63