|
Data Structures |
| struct | vm_area_struct |
| struct | vm_operations_struct |
Defines |
| #define | VERIFY_READ 0 |
| #define | VERIFY_WRITE 1 |
| #define | BAD_PAGETABLE __bad_pagetable() |
| #define | BAD_PAGE __bad_page() |
| #define | ZERO_PAGE __zero_page() |
| #define | MAX_SECONDARY_PAGES 20 |
| #define | read_swap_page(nr, buf) rw_swap_page(READ,(nr),(buf)) |
| #define | write_swap_page(nr, buf) rw_swap_page(WRITE,(nr),(buf)) |
| #define | invalidate() __asm__ __volatile__("movl %%cr3,%%eax\n\tmovl %%eax,%%cr3": : :"ax") |
| #define | MAP_NR(addr) ((addr) >> PAGE_SHIFT) |
| #define | MAP_PAGE_RESERVED (1<<15) |
| #define | PAGE_PRESENT 0x001 |
| #define | PAGE_RW 0x002 |
| #define | PAGE_USER 0x004 |
| #define | PAGE_PWT 0x008 |
| | 486 only - not used currently
|
| #define | PAGE_PCD 0x010 |
| | 486 only - not used currently
|
| #define | PAGE_ACCESSED 0x020 |
| #define | PAGE_DIRTY 0x040 |
| #define | PAGE_COW 0x200 |
| | implemented in software (one of the AVL bits)
|
| #define | PAGE_PRIVATE (PAGE_PRESENT | PAGE_RW | PAGE_USER | PAGE_ACCESSED | PAGE_COW) |
| #define | PAGE_SHARED (PAGE_PRESENT | PAGE_RW | PAGE_USER | PAGE_ACCESSED) |
| #define | PAGE_COPY (PAGE_PRESENT | PAGE_USER | PAGE_ACCESSED | PAGE_COW) |
| #define | PAGE_READONLY (PAGE_PRESENT | PAGE_USER | PAGE_ACCESSED) |
| #define | PAGE_TABLE (PAGE_PRESENT | PAGE_RW | PAGE_USER | PAGE_ACCESSED) |
| #define | GFP_BUFFER 0x00 |
| #define | GFP_ATOMIC 0x01 |
| #define | GFP_USER 0x02 |
| #define | GFP_KERNEL 0x03 |
| #define | SHM_SWP_TYPE 0x41 |
| | vm_ops not present page codes
|
Typedefs |
| typedef int(*) | map_mergep_fnp (const struct vm_area_struct *, const struct vm_area_struct *, void *) |
Functions |
| int | __verify_write (unsigned long addr, unsigned long count) |
| int | verify_area (int type, const void *addr, unsigned long size) |
| unsigned long | __bad_page (void) |
| unsigned long | __bad_pagetable (void) |
| unsigned long | __zero_page (void) |
| unsigned long | __get_free_page (int priority) |
| unsigned long | get_free_page (int priority) |
| void | free_page (unsigned long addr) |
| | memory.c
|
| unsigned long | put_dirty_page (struct task_struct *tsk, unsigned long page, unsigned long address) |
| void | free_page_tables (struct task_struct *tsk) |
| void | clear_page_tables (struct task_struct *tsk) |
| int | copy_page_tables (struct task_struct *to) |
| int | clone_page_tables (struct task_struct *to) |
| int | unmap_page_range (unsigned long from, unsigned long size) |
| int | remap_page_range (unsigned long from, unsigned long to, unsigned long size, int mask) |
| int | zeromap_page_range (unsigned long from, unsigned long size, int mask) |
| void | do_wp_page (unsigned long error_code, unsigned long address, struct task_struct *tsk, unsigned long user_esp) |
| void | do_no_page (unsigned long error_code, unsigned long address, struct task_struct *tsk, unsigned long user_esp) |
| unsigned long | paging_init (unsigned long start_mem, unsigned long end_mem) |
| void | mem_init (unsigned long low_start_mem, unsigned long start_mem, unsigned long end_mem) |
| void | show_mem (void) |
| void | oom (struct task_struct *task) |
| void | si_meminfo (struct sysinfo *val) |
| void * | vmalloc (unsigned long size) |
| | vmalloc.c
|
| void | vfree (void *addr) |
| int | vread (char *buf, char *addr, int count) |
| void | swap_free (unsigned long page_nr) |
| | swap.c
|
| unsigned long | swap_duplicate (unsigned long page_nr) |
| void | swap_in (unsigned long *table_ptr) |
| void | si_swapinfo (struct sysinfo *val) |
| void | rw_swap_page (int rw, unsigned long nr, char *buf) |
| int | do_mmap (struct file *file, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long off) |
| | mmap.c
|
| void | merge_segments (struct vm_area_struct *, map_mergep_fnp, void *) |
| void | insert_vm_struct (struct task_struct *, struct vm_area_struct *) |
| int | ignoff_mergep (const struct vm_area_struct *, const struct vm_area_struct *, void *) |
| int | do_munmap (unsigned long, size_t) |
| void | shm_no_page (ulong *) |
Variables |
| volatile short | free_page_ptr |
| | used by malloc and tcp/ip.
|
| int | nr_swap_pages |
| int | nr_free_pages |
| unsigned long | free_page_list |
| int | nr_secondary_pages |
| unsigned long | secondary_page_list |
| unsigned long | high_memory |
| unsigned short * | mem_map |