sys/src/vmsmemory.c File Reference

#include <linux/config.h>
#include <linux/mm.h>
#include <linux/mman.h>
#include <linux/swap.h>
#include <linux/smp_lock.h>
#include <linux/swapctl.h>
#include <linux/iobuf.h>
#include <linux/highmem.h>
#include <linux/pagemap.h>
#include <asm/pgalloc.h>
#include <asm/uaccess.h>
#include <asm/tlb.h>
#include <asm/pgtable.h>
#include <ipldef.h>
#include <phddef.h>
#include <rdedef.h>
#include <va_rangedef.h>
#include <vmspte.h>
#include <wsldef.h>
#include <exe_routines.h>
#include <misc_routines.h>
#include <mmg_routines.h>
#include <fcbdef.h>

Go to the source code of this file.

Defines

#define PTE_TABLE_MASK   ((PTRS_PER_PTE-1) * sizeof(pte_t))
#define PMD_TABLE_MASK   ((PTRS_PER_PMD-1) * sizeof(pmd_t))
#define PUD_TABLE_MASK   ((PTRS_PER_PUD-1) * sizeof(pud_t))
#define dprintk(x...)

Functions

pgprot_t x_to_prot (int x)
struct vm_area_struct * find_vma2 (struct mm_struct *mm, unsigned long addr)
void pgd_clear_bad (pgd_t *pgd)
void pud_clear_bad (pud_t *pud)
void pmd_clear_bad (pmd_t *pmd)
int __pte_alloc (struct mm_struct *mm, pmd_t *pmd, unsigned long address)
int __pte_alloc_kernel (pmd_t *pmd, unsigned long address)
void __free_pte (pte_t pte)
int check_pgt_cache (void)
void clear_page_tables (struct mm_struct *mm, unsigned long first, int nr)
struct page * vm_normal_page (struct vm_area_struct *vma, unsigned long addr, pte_t pte)
int copy_page_range (struct mm_struct *dst_mm, struct mm_struct *src_mm, struct vm_area_struct *vma)
void zap_page_range (struct mm_struct *mm, unsigned long address, unsigned long size)
int map_user_kiobuf (int rw, struct kiobuf *iobuf, unsigned long va, size_t len)
void mark_dirty_kiobuf (struct kiobuf *iobuf, int bytes)
void unmap_kiobuf (struct kiobuf *iobuf)
int lock_kiovec (int nr, struct kiobuf *iovec[], int wait)
int unlock_kiovec (int nr, struct kiobuf *iovec[])
int zeromap_page_range (unsigned long address, unsigned long size, pgprot_t prot)
int remap_page_range (unsigned long from, unsigned long phys_addr, unsigned long size, pgprot_t prot)
int do_wp_page (struct mm_struct *mm, struct _rde *vma, unsigned long address, pte_t *page_table, pte_t pte)
int vmtruncate (struct _fcb *inode, loff_t offset)
pud_t *fastcall __pud_alloc (struct mm_struct *mm, pgd_t *pgd, unsigned long address)
pmd_t *fastcall __pmd_alloc (struct mm_struct *mm, pud_t *pud, unsigned long address)
pte_t *fastcall pte_alloc (struct mm_struct *mm, pmd_t *pmd, unsigned long address)
int make_pages_present (unsigned long addr, unsigned long end)

Variables

unsigned long max_mapnr
unsigned long num_physpages
void * high_memory
struct page * highmem_start_page
mem_map_t * mem_map
int pgt_cache_water [2] = { 25, 50 }


Define Documentation

#define dprintk ( x...   ) 

Definition at line 1174 of file vmsmemory.c.

Referenced by map_user_kiobuf().

#define PMD_TABLE_MASK   ((PTRS_PER_PMD-1) * sizeof(pmd_t))

Definition at line 457 of file vmsmemory.c.

#define PTE_TABLE_MASK   ((PTRS_PER_PTE-1) * sizeof(pte_t))

Definition at line 456 of file vmsmemory.c.

#define PUD_TABLE_MASK   ((PTRS_PER_PUD-1) * sizeof(pud_t))

Definition at line 458 of file vmsmemory.c.


Function Documentation

void __free_pte ( pte_t  pte  ) 

Definition at line 355 of file vmsmemory.c.

References set_page_dirty().

pmd_t* fastcall __pmd_alloc ( struct mm_struct *  mm,
pud_t *  pud,
unsigned long  address 
)

Definition at line 1814 of file vmsmemory.c.

int __pte_alloc ( struct mm_struct *  mm,
pmd_t *  pmd,
unsigned long  address 
)

Definition at line 311 of file vmsmemory.c.

int __pte_alloc_kernel ( pmd_t *  pmd,
unsigned long  address 
)

Definition at line 333 of file vmsmemory.c.

pud_t* fastcall __pud_alloc ( struct mm_struct *  mm,
pgd_t *  pgd,
unsigned long  address 
)

Definition at line 1779 of file vmsmemory.c.

int check_pgt_cache ( void   ) 

Definition at line 430 of file vmsmemory.c.

Referenced by clear_page_tables().

void clear_page_tables ( struct mm_struct *  mm,
unsigned long  first,
int  nr 
)

Definition at line 440 of file vmsmemory.c.

References check_pgt_cache().

Referenced by exit_mmap().

int copy_page_range ( struct mm_struct *  dst_mm,
struct mm_struct *  src_mm,
struct vm_area_struct *  vma 
)

Definition at line 724 of file vmsmemory.c.

int do_wp_page ( struct mm_struct *  mm,
struct _rde vma,
unsigned long  address,
pte_t *  page_table,
pte_t  pte 
)

TryLockPage(old_page)

Definition at line 1618 of file vmsmemory.c.

References can_share_swap_page(), and findpte_new().

struct vm_area_struct* find_vma2 ( struct mm_struct *  mm,
unsigned long  addr 
) [read]

Definition at line 82 of file vmsmemory.c.

int lock_kiovec ( int  nr,
struct kiobuf *  iovec[],
int  wait 
)

Definition at line 1296 of file vmsmemory.c.

References unlock_kiovec().

int make_pages_present ( unsigned long  addr,
unsigned long  end 
)

Definition at line 1876 of file vmsmemory.c.

References find_vma(), and _rde::rde_pq_start_va.

Referenced by do_brk(), do_mmap_pgoff(), do_mremap(), and find_extend_vma().

int map_user_kiobuf ( int  rw,
struct kiobuf *  iobuf,
unsigned long  va,
size_t  len 
)

Definition at line 1176 of file vmsmemory.c.

References dprintk, and unmap_kiobuf().

void mark_dirty_kiobuf ( struct kiobuf *  iobuf,
int  bytes 
)

Definition at line 1232 of file vmsmemory.c.

void pgd_clear_bad ( pgd_t *  pgd  ) 

Definition at line 108 of file vmsmemory.c.

void pmd_clear_bad ( pmd_t *  pmd  ) 

Definition at line 120 of file vmsmemory.c.

pte_t* fastcall pte_alloc ( struct mm_struct *  mm,
pmd_t *  pmd,
unsigned long  address 
)

Definition at line 1847 of file vmsmemory.c.

Referenced by init_fork_p1pp(), init_p1pp(), mmg_crepag(), and shell_init_other().

void pud_clear_bad ( pud_t *  pud  ) 

Definition at line 114 of file vmsmemory.c.

int remap_page_range ( unsigned long  from,
unsigned long  phys_addr,
unsigned long  size,
pgprot_t  prot 
)

Definition at line 1541 of file vmsmemory.c.

int unlock_kiovec ( int  nr,
struct kiobuf *  iovec[] 
)

Definition at line 1374 of file vmsmemory.c.

Referenced by lock_kiovec().

void unmap_kiobuf ( struct kiobuf *  iobuf  ) 

Definition at line 1262 of file vmsmemory.c.

References map.

Referenced by map_user_kiobuf().

struct page* vm_normal_page ( struct vm_area_struct *  vma,
unsigned long  addr,
pte_t  pte 
) [read]

Definition at line 485 of file vmsmemory.c.

int vmtruncate ( struct _fcb inode,
loff_t  offset 
)

Definition at line 1721 of file vmsmemory.c.

References _fcb::fcb_l_filesize, and truncate_inode_pages().

Referenced by generic_file_write().

pgprot_t x_to_prot ( int  x  ) 

Definition at line 71 of file vmsmemory.c.

void zap_page_range ( struct mm_struct *  mm,
unsigned long  address,
unsigned long  size 
)

int zeromap_page_range ( unsigned long  address,
unsigned long  size,
pgprot_t  prot 
)

Definition at line 1439 of file vmsmemory.c.


Variable Documentation

void* high_memory

Definition at line 79 of file vmsmemory.c.

struct page* highmem_start_page

Definition at line 80 of file vmsmemory.c.

unsigned long max_mapnr

Definition at line 77 of file vmsmemory.c.

mem_map_t* mem_map

unsigned long num_physpages

Definition at line 78 of file vmsmemory.c.

Referenced by __vmalloc(), kmem_cache_sizes_init(), sys_mlock(), and sys_mlockall().

int pgt_cache_water[2] = { 25, 50 }

Definition at line 427 of file vmsmemory.c.


Generated on Fri Oct 9 10:26:05 2009 for FreeVMS by  doxygen 1.5.5