mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.4 KiB
64 lines
1.4 KiB
/* SPDX-License-Identifier: GPL-2.0-only */ |
|
/* |
|
* arch/arm/include/asm/map.h |
|
* |
|
* Copyright (C) 1999-2000 Russell King |
|
* |
|
* 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
|
|
|