Linux Kernel
3.7.1
|
#include <linux/const.h>
#include <asm/page_types.h>
#include <asm/pgtable_64_types.h>
#include <linux/types.h>
#include <asm-generic/pgtable-nopud.h>
#include <asm-generic/pgtable-nopmd.h>
Go to the source code of this file.
Data Structures | |
struct | pgprot |
struct | pgd_t |
Typedefs | |
typedef struct pgprot | pgprot_t |
typedef struct page * | pgtable_t |
Enumerations | |
enum | { PG_LEVEL_NONE, PG_LEVEL_4K, PG_LEVEL_2M, PG_LEVEL_1G, PG_LEVEL_NUM } |
Functions | |
void | set_nx (void) |
pgprot_t | pgprot_writecombine (pgprot_t prot) |
pgprot_t | phys_mem_access_prot (struct file *file, unsigned long pfn, unsigned long size, pgprot_t vma_prot) |
int | phys_mem_access_prot_allowed (struct file *file, unsigned long pfn, unsigned long size, pgprot_t *vma_prot) |
void | set_pte_vaddr (unsigned long vaddr, pte_t pte) |
void | native_pagetable_reserve (u64 start, u64 end) |
void | arch_report_meminfo (struct seq_file *m) |
pte_t * | lookup_address (unsigned long address, unsigned int *level) |
Variables | |
pteval_t | __supported_pte_mask |
int | nx_enabled |
#define __HAVE_ARCH_PTE_SPECIAL |
Definition at line 50 of file pgtable_types.h.
#define __HAVE_PFNMAP_TRACKING |
Definition at line 292 of file pgtable_types.h.
#define __HAVE_PHYS_MEM_ACCESS_PROT |
Definition at line 294 of file pgtable_types.h.
#define __P000 PAGE_NONE |
Definition at line 142 of file pgtable_types.h.
#define __P001 PAGE_READONLY |
Definition at line 143 of file pgtable_types.h.
#define __P010 PAGE_COPY |
Definition at line 144 of file pgtable_types.h.
#define __P011 PAGE_COPY |
Definition at line 145 of file pgtable_types.h.
#define __P100 PAGE_READONLY_EXEC |
Definition at line 146 of file pgtable_types.h.
#define __P101 PAGE_READONLY_EXEC |
Definition at line 147 of file pgtable_types.h.
#define __P110 PAGE_COPY_EXEC |
Definition at line 148 of file pgtable_types.h.
#define __P111 PAGE_COPY_EXEC |
Definition at line 149 of file pgtable_types.h.
#define __PAGE_KERNEL (__PAGE_KERNEL_EXEC | _PAGE_NX) |
Definition at line 101 of file pgtable_types.h.
#define __PAGE_KERNEL_EXEC (_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_GLOBAL) |
Definition at line 99 of file pgtable_types.h.
#define __PAGE_KERNEL_EXEC_NOCACHE (__PAGE_KERNEL_EXEC | _PAGE_PCD | _PAGE_PWT) |
Definition at line 105 of file pgtable_types.h.
#define __PAGE_KERNEL_IO (__PAGE_KERNEL | _PAGE_IOMAP) |
Definition at line 116 of file pgtable_types.h.
#define __PAGE_KERNEL_IO_NOCACHE (__PAGE_KERNEL_NOCACHE | _PAGE_IOMAP) |
Definition at line 117 of file pgtable_types.h.
#define __PAGE_KERNEL_IO_UC_MINUS (__PAGE_KERNEL_UC_MINUS | _PAGE_IOMAP) |
Definition at line 118 of file pgtable_types.h.
#define __PAGE_KERNEL_IO_WC (__PAGE_KERNEL_WC | _PAGE_IOMAP) |
Definition at line 119 of file pgtable_types.h.
#define __PAGE_KERNEL_LARGE (__PAGE_KERNEL | _PAGE_PSE) |
Definition at line 112 of file pgtable_types.h.
#define __PAGE_KERNEL_LARGE_EXEC (__PAGE_KERNEL_EXEC | _PAGE_PSE) |
Definition at line 114 of file pgtable_types.h.
#define __PAGE_KERNEL_LARGE_NOCACHE (__PAGE_KERNEL | _PAGE_CACHE_UC | _PAGE_PSE) |
Definition at line 113 of file pgtable_types.h.
#define __PAGE_KERNEL_NOCACHE (__PAGE_KERNEL | _PAGE_PCD | _PAGE_PWT) |
Definition at line 107 of file pgtable_types.h.
#define __PAGE_KERNEL_RO (__PAGE_KERNEL & ~_PAGE_RW) |
Definition at line 103 of file pgtable_types.h.
#define __PAGE_KERNEL_RX (__PAGE_KERNEL_EXEC & ~_PAGE_RW) |
Definition at line 104 of file pgtable_types.h.
#define __PAGE_KERNEL_UC_MINUS (__PAGE_KERNEL | _PAGE_PCD) |
Definition at line 108 of file pgtable_types.h.
#define __PAGE_KERNEL_VSYSCALL (__PAGE_KERNEL_RX | _PAGE_USER) |
Definition at line 109 of file pgtable_types.h.
#define __PAGE_KERNEL_VVAR (__PAGE_KERNEL_RO | _PAGE_USER) |
Definition at line 110 of file pgtable_types.h.
#define __PAGE_KERNEL_VVAR_NOCACHE (__PAGE_KERNEL_VVAR | _PAGE_PCD | _PAGE_PWT) |
Definition at line 111 of file pgtable_types.h.
#define __PAGE_KERNEL_WC (__PAGE_KERNEL | _PAGE_CACHE_WC) |
Definition at line 106 of file pgtable_types.h.
Definition at line 279 of file pgtable_types.h.
#define __S000 PAGE_NONE |
Definition at line 151 of file pgtable_types.h.
#define __S001 PAGE_READONLY |
Definition at line 152 of file pgtable_types.h.
#define __S010 PAGE_SHARED |
Definition at line 153 of file pgtable_types.h.
#define __S011 PAGE_SHARED |
Definition at line 154 of file pgtable_types.h.
#define __S100 PAGE_READONLY_EXEC |
Definition at line 155 of file pgtable_types.h.
#define __S101 PAGE_READONLY_EXEC |
Definition at line 156 of file pgtable_types.h.
#define __S110 PAGE_SHARED_EXEC |
Definition at line 157 of file pgtable_types.h.
#define __S111 PAGE_SHARED_EXEC |
Definition at line 158 of file pgtable_types.h.
#define _HPAGE_CHG_MASK (_PAGE_CHG_MASK | _PAGE_PSE) |
Definition at line 75 of file pgtable_types.h.
#define _KERNPG_TABLE |
Definition at line 69 of file pgtable_types.h.
#define _PAGE_ACCESSED (_AT(pteval_t, 1) << _PAGE_BIT_ACCESSED) |
Definition at line 39 of file pgtable_types.h.
Definition at line 14 of file pgtable_types.h.
#define _PAGE_BIT_CPA_TEST _PAGE_BIT_UNUSED1 |
Definition at line 24 of file pgtable_types.h.
Definition at line 15 of file pgtable_types.h.
#define _PAGE_BIT_FILE _PAGE_BIT_DIRTY |
Definition at line 32 of file pgtable_types.h.
#define _PAGE_BIT_GLOBAL 8 /* Global TLB entry PPro+ */ |
Definition at line 18 of file pgtable_types.h.
#define _PAGE_BIT_HIDDEN 11 /* hidden by kmemcheck */ |
Definition at line 21 of file pgtable_types.h.
Definition at line 20 of file pgtable_types.h.
Definition at line 26 of file pgtable_types.h.
#define _PAGE_BIT_PAT 7 /* on 4KB pages */ |
Definition at line 17 of file pgtable_types.h.
#define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */ |
Definition at line 22 of file pgtable_types.h.
Definition at line 13 of file pgtable_types.h.
#define _PAGE_BIT_PRESENT 0 /* is present */ |
Definition at line 9 of file pgtable_types.h.
#define _PAGE_BIT_PROTNONE _PAGE_BIT_GLOBAL |
Definition at line 30 of file pgtable_types.h.
Definition at line 16 of file pgtable_types.h.
Definition at line 12 of file pgtable_types.h.
#define _PAGE_BIT_RW 1 /* writeable */ |
Definition at line 10 of file pgtable_types.h.
#define _PAGE_BIT_SPECIAL _PAGE_BIT_UNUSED1 |
Definition at line 23 of file pgtable_types.h.
#define _PAGE_BIT_SPLITTING _PAGE_BIT_UNUSED1 /* only valid on a PSE pmd */ |
Definition at line 25 of file pgtable_types.h.
Definition at line 19 of file pgtable_types.h.
#define _PAGE_BIT_USER 2 /* userspace addressable */ |
Definition at line 11 of file pgtable_types.h.
Definition at line 77 of file pgtable_types.h.
Definition at line 81 of file pgtable_types.h.
#define _PAGE_CACHE_UC_MINUS (_PAGE_PCD) |
Definition at line 80 of file pgtable_types.h.
#define _PAGE_CACHE_WB (0) |
Definition at line 78 of file pgtable_types.h.
#define _PAGE_CACHE_WC (_PAGE_PWT) |
Definition at line 79 of file pgtable_types.h.
#define _PAGE_CHG_MASK |
Definition at line 73 of file pgtable_types.h.
#define _PAGE_CPA_TEST (_AT(pteval_t, 1) << _PAGE_BIT_CPA_TEST) |
Definition at line 48 of file pgtable_types.h.
#define _PAGE_DIRTY (_AT(pteval_t, 1) << _PAGE_BIT_DIRTY) |
Definition at line 40 of file pgtable_types.h.
#define _PAGE_FILE (_AT(pteval_t, 1) << _PAGE_BIT_FILE) |
Definition at line 64 of file pgtable_types.h.
#define _PAGE_GLOBAL (_AT(pteval_t, 1) << _PAGE_BIT_GLOBAL) |
Definition at line 42 of file pgtable_types.h.
Definition at line 55 of file pgtable_types.h.
#define _PAGE_IOMAP (_AT(pteval_t, 1) << _PAGE_BIT_IOMAP) |
Definition at line 44 of file pgtable_types.h.
Definition at line 61 of file pgtable_types.h.
#define _PAGE_PAT (_AT(pteval_t, 1) << _PAGE_BIT_PAT) |
Definition at line 45 of file pgtable_types.h.
#define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE) |
Definition at line 46 of file pgtable_types.h.
#define _PAGE_PCD (_AT(pteval_t, 1) << _PAGE_BIT_PCD) |
Definition at line 38 of file pgtable_types.h.
#define _PAGE_PRESENT (_AT(pteval_t, 1) << _PAGE_BIT_PRESENT) |
Definition at line 34 of file pgtable_types.h.
#define _PAGE_PROTNONE (_AT(pteval_t, 1) << _PAGE_BIT_PROTNONE) |
Definition at line 65 of file pgtable_types.h.
#define _PAGE_PSE (_AT(pteval_t, 1) << _PAGE_BIT_PSE) |
Definition at line 41 of file pgtable_types.h.
#define _PAGE_PWT (_AT(pteval_t, 1) << _PAGE_BIT_PWT) |
Definition at line 37 of file pgtable_types.h.
#define _PAGE_RW (_AT(pteval_t, 1) << _PAGE_BIT_RW) |
Definition at line 35 of file pgtable_types.h.
#define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL) |
Definition at line 47 of file pgtable_types.h.
#define _PAGE_SPLITTING (_AT(pteval_t, 1) << _PAGE_BIT_SPLITTING) |
Definition at line 49 of file pgtable_types.h.
#define _PAGE_TABLE |
Definition at line 67 of file pgtable_types.h.
#define _PAGE_UNUSED1 (_AT(pteval_t, 1) << _PAGE_BIT_UNUSED1) |
Definition at line 43 of file pgtable_types.h.
#define _PAGE_USER (_AT(pteval_t, 1) << _PAGE_BIT_USER) |
Definition at line 36 of file pgtable_types.h.
#define FIRST_USER_ADDRESS 0 |
Definition at line 7 of file pgtable_types.h.
#define native_pagetable_init paging_init |
Definition at line 308 of file pgtable_types.h.
#define PAGE_COPY PAGE_COPY_NOEXEC |
Definition at line 93 of file pgtable_types.h.
#define PAGE_COPY_EXEC |
Definition at line 91 of file pgtable_types.h.
#define PAGE_COPY_NOEXEC |
Definition at line 89 of file pgtable_types.h.
#define PAGE_KERNEL __pgprot(__PAGE_KERNEL) |
Definition at line 121 of file pgtable_types.h.
#define PAGE_KERNEL_EXEC __pgprot(__PAGE_KERNEL_EXEC) |
Definition at line 123 of file pgtable_types.h.
#define PAGE_KERNEL_EXEC_NOCACHE __pgprot(__PAGE_KERNEL_EXEC_NOCACHE) |
Definition at line 128 of file pgtable_types.h.
#define PAGE_KERNEL_IO __pgprot(__PAGE_KERNEL_IO) |
Definition at line 136 of file pgtable_types.h.
#define PAGE_KERNEL_IO_NOCACHE __pgprot(__PAGE_KERNEL_IO_NOCACHE) |
Definition at line 137 of file pgtable_types.h.
#define PAGE_KERNEL_IO_UC_MINUS __pgprot(__PAGE_KERNEL_IO_UC_MINUS) |
Definition at line 138 of file pgtable_types.h.
#define PAGE_KERNEL_IO_WC __pgprot(__PAGE_KERNEL_IO_WC) |
Definition at line 139 of file pgtable_types.h.
#define PAGE_KERNEL_LARGE __pgprot(__PAGE_KERNEL_LARGE) |
Definition at line 129 of file pgtable_types.h.
#define PAGE_KERNEL_LARGE_EXEC __pgprot(__PAGE_KERNEL_LARGE_EXEC) |
Definition at line 131 of file pgtable_types.h.
#define PAGE_KERNEL_LARGE_NOCACHE __pgprot(__PAGE_KERNEL_LARGE_NOCACHE) |
Definition at line 130 of file pgtable_types.h.
#define PAGE_KERNEL_NOCACHE __pgprot(__PAGE_KERNEL_NOCACHE) |
Definition at line 126 of file pgtable_types.h.
#define PAGE_KERNEL_RO __pgprot(__PAGE_KERNEL_RO) |
Definition at line 122 of file pgtable_types.h.
#define PAGE_KERNEL_RX __pgprot(__PAGE_KERNEL_RX) |
Definition at line 124 of file pgtable_types.h.
#define PAGE_KERNEL_UC_MINUS __pgprot(__PAGE_KERNEL_UC_MINUS) |
Definition at line 127 of file pgtable_types.h.
#define PAGE_KERNEL_VSYSCALL __pgprot(__PAGE_KERNEL_VSYSCALL) |
Definition at line 132 of file pgtable_types.h.
#define PAGE_KERNEL_VVAR __pgprot(__PAGE_KERNEL_VVAR) |
Definition at line 133 of file pgtable_types.h.
#define PAGE_KERNEL_VVAR_NOCACHE __pgprot(__PAGE_KERNEL_VVAR_NOCACHE) |
Definition at line 134 of file pgtable_types.h.
#define PAGE_KERNEL_WC __pgprot(__PAGE_KERNEL_WC) |
Definition at line 125 of file pgtable_types.h.
#define PAGE_NONE __pgprot(_PAGE_PROTNONE | _PAGE_ACCESSED) |
Definition at line 83 of file pgtable_types.h.
#define PAGE_READONLY |
Definition at line 94 of file pgtable_types.h.
#define PAGE_READONLY_EXEC |
Definition at line 96 of file pgtable_types.h.
#define PAGE_SHARED |
Definition at line 84 of file pgtable_types.h.
#define PAGE_SHARED_EXEC |
Definition at line 87 of file pgtable_types.h.
#define PDE_IDENT_ATTR 0x067 /* PRESENT+RW+USER+DIRTY+ACCESSED */ |
Definition at line 172 of file pgtable_types.h.
#define PGD_IDENT_ATTR 0x001 /* PRESENT (no other attributes) */ |
Definition at line 173 of file pgtable_types.h.
Definition at line 278 of file pgtable_types.h.
#define pgprot_writecombine pgprot_writecombine |
Definition at line 288 of file pgtable_types.h.
#define PTE_FLAGS_MASK (~PTE_PFN_MASK) |
Definition at line 190 of file pgtable_types.h.
#define PTE_IDENT_ATTR 0x003 /* PRESENT+RW */ |
Definition at line 171 of file pgtable_types.h.
#define PTE_PFN_MASK ((pteval_t)PHYSICAL_PAGE_MASK) |
Definition at line 187 of file pgtable_types.h.
Definition at line 282 of file pgtable_types.h.
anonymous enum |
Definition at line 314 of file pgtable_types.h.
Definition at line 333 of file pageattr.c.
pteval_t __supported_pte_mask |
int nx_enabled |