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 15 typedef unsigned long mm_context_id_t[NR_CPUS]; 16 17 typedef 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 43 struct pmb_entry; 44 45 struct 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 57 struct pmb_entry *pmb_alloc(unsigned long vpn, unsigned long ppn, 58 unsigned long flags); 59 60 #endif 61 62