1/**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12#ifndef __MMU_H 13#define __MMU_H 14 15typedef unsigned long mm_context_id_t[NR_CPUS]; 16 17typedef struct { 18 mm_context_id_t id; 19 void *vdso; 20} mm_context_t; 21 22#define PMB_PASCR 0xff000070 23#define PMB_IRMCR 0xff000078 24 25#define PMB_ADDR 0xf6100000 26#define PMB_DATA 0xf7100000 27#define PMB_ENTRY_MAX 16 28#define PMB_E_MASK 0x0000000f 29#define PMB_E_SHIFT 8 30 31#define PMB_SZ_16M 0x00000000 32#define PMB_SZ_64M 0x00000010 33#define PMB_SZ_128M 0x00000080 34#define PMB_SZ_512M 0x00000090 35#define PMB_SZ_MASK PMB_SZ_512M 36#define PMB_C 0x00000008 37#define PMB_WT 0x00000001 38#define PMB_UB 0x00000200 39#define PMB_V 0x00000100 40 41#define PMB_NO_ENTRY (-1) 42 43struct pmb_entry; 44 45struct pmb_entry { 46 unsigned long vpn; 47 unsigned long ppn; 48 unsigned long flags; 49 50 int entry; 51 52 struct pmb_entry *next; 53 54 struct pmb_entry *link; 55}; 56 57struct pmb_entry *pmb_alloc(unsigned long vpn, unsigned long ppn, 58 unsigned long flags); 59 60#endif 61 62