1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*
- * arch/arm/include/asm/map.h
- *
- * Copyright (C) 1999-2000 Russell King
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Page table mapping constructs and function prototypes
- */
- #ifndef __ASM_MACH_MAP_H
- #define __ASM_MACH_MAP_H
- #include <asm/io.h>
- struct map_desc {
- unsigned long virtual;
- unsigned long pfn;
- unsigned long length;
- unsigned int type;
- };
- /* types 0-3 are defined in asm/io.h */
- enum {
- MT_UNCACHED = 4,
- MT_CACHECLEAN,
- MT_MINICLEAN,
- MT_LOW_VECTORS,
- MT_HIGH_VECTORS,
- MT_MEMORY_RWX,
- MT_MEMORY_RW,
- MT_ROM,
- MT_MEMORY_RWX_NONCACHED,
- MT_MEMORY_RW_DTCM,
- MT_MEMORY_RWX_ITCM,
- MT_MEMORY_RW_SO,
- MT_MEMORY_DMA_READY,
- };
- #ifdef CONFIG_MMU
- extern void iotable_init(struct map_desc *, int);
- extern void vm_reserve_area_early(unsigned long addr, unsigned long size,
- void *caller);
- extern void create_mapping_late(struct mm_struct *mm, struct map_desc *md,
- bool ng);
- #ifdef CONFIG_DEBUG_LL
- extern void debug_ll_addr(unsigned long *paddr, unsigned long *vaddr);
- extern void debug_ll_io_init(void);
- #else
- static inline void debug_ll_io_init(void) {}
- #endif
- struct mem_type;
- extern const struct mem_type *get_mem_type(unsigned int type);
- /*
- * external interface to remap single page with appropriate type
- */
- extern int ioremap_page(unsigned long virt, unsigned long phys,
- const struct mem_type *mtype);
- #else
- #define iotable_init(map,num) do { } while (0)
- #define vm_reserve_area_early(a,s,c) do { } while (0)
- #endif
- #endif
|