tools/llvm: Do not build with symbols
[minix3.git] / minix / servers / vm / arch / i386 / pagetable.h
bloba7b3c403094b4094a2747f6b5323b363f7c62277
2 #ifndef _PAGETABLE_H
3 #define _PAGETABLE_H 1
5 #include <stdint.h>
6 #include <machine/vm.h>
8 #include "vm.h"
10 /* Mapping flags. */
11 #define PTF_WRITE I386_VM_WRITE
12 #define PTF_READ I386_VM_READ
13 #define PTF_PRESENT I386_VM_PRESENT
14 #define PTF_USER I386_VM_USER
15 #define PTF_GLOBAL I386_VM_GLOBAL
16 #define PTF_NOCACHE (I386_VM_PWT | I386_VM_PCD)
18 #define ARCH_VM_DIR_ENTRIES I386_VM_DIR_ENTRIES
19 #define ARCH_BIG_PAGE_SIZE I386_BIG_PAGE_SIZE
20 #define ARCH_VM_ADDR_MASK I386_VM_ADDR_MASK
21 #define ARCH_VM_PAGE_PRESENT I386_VM_PRESENT
22 #define ARCH_VM_PDE_MASK I386_VM_PDE_MASK
23 #define ARCH_VM_PDE_PRESENT I386_VM_PRESENT
24 #define ARCH_VM_PTE_PRESENT I386_VM_PRESENT
25 #define ARCH_VM_PTE_USER I386_VM_USER
26 #define ARCH_VM_PTE_RW I386_VM_WRITE
27 #define ARCH_PAGEDIR_SIZE I386_PAGE_SIZE
28 #define ARCH_VM_BIGPAGE I386_VM_BIGPAGE
29 #define ARCH_VM_PT_ENTRIES I386_VM_PT_ENTRIES
31 /* For arch-specific PT routines to check if no bits outside
32 * the regular flags are set.
34 #define PTF_ALLFLAGS (PTF_READ|PTF_WRITE|PTF_PRESENT|PTF_USER|PTF_GLOBAL|PTF_NOCACHE)
36 #define PFERR_NOPAGE(e) (!((e) & I386_VM_PFE_P))
37 #define PFERR_PROT(e) (((e) & I386_VM_PFE_P))
38 #define PFERR_WRITE(e) ((e) & I386_VM_PFE_W)
39 #define PFERR_READ(e) (!((e) & I386_VM_PFE_W))
41 #define VM_PAGE_SIZE I386_PAGE_SIZE
43 /* virtual address -> pde, pte macros */
44 #define ARCH_VM_PTE(v) I386_VM_PTE(v)
45 #define ARCH_VM_PDE(v) I386_VM_PDE(v)
47 #endif