page.h File Reference

Include dependency graph for page.h:

Go to the source code of this file.

Data Structures

struct  page_mapping_operations

Defines

#define PAGE_CACHEABLE_SHIFT   0
#define PAGE_NOT_CACHEABLE_SHIFT   PAGE_CACHEABLE_SHIFT
#define PAGE_PRESENT_SHIFT   1
#define PAGE_NOT_PRESENT_SHIFT   PAGE_PRESENT_SHIFT
#define PAGE_USER_SHIFT   2
#define PAGE_KERNEL_SHIFT   PAGE_USER_SHIFT
#define PAGE_READ_SHIFT   3
#define PAGE_WRITE_SHIFT   4
#define PAGE_EXEC_SHIFT   5
#define PAGE_GLOBAL_SHIFT   6
#define PAGE_NOT_CACHEABLE   (0<<PAGE_CACHEABLE_SHIFT)
#define PAGE_CACHEABLE   (1<<PAGE_CACHEABLE_SHIFT)
#define PAGE_PRESENT   (0<<PAGE_PRESENT_SHIFT)
#define PAGE_NOT_PRESENT   (1<<PAGE_PRESENT_SHIFT)
#define PAGE_USER   (1<<PAGE_USER_SHIFT)
#define PAGE_KERNEL   (0<<PAGE_USER_SHIFT)
#define PAGE_READ   (1<<PAGE_READ_SHIFT)
#define PAGE_WRITE   (1<<PAGE_WRITE_SHIFT)
#define PAGE_EXEC   (1<<PAGE_EXEC_SHIFT)
#define PAGE_GLOBAL   (1<<PAGE_GLOBAL_SHIFT)

Typedefs

typedef enum pf_access pf_access_t
typedef page_mapping_operations page_mapping_operations_t

Enumerations

enum  pf_access { PF_ACCESS_READ, PF_ACCESS_WRITE, PF_ACCESS_EXEC }

Functions

void page_init (void)
void page_table_lock (as_t *as, bool lock)
void page_table_unlock (as_t *as, bool unlock)
void page_mapping_insert (as_t *as, __address page, __address frame, int flags)
void page_mapping_remove (as_t *as, __address page)
pte_tpage_mapping_find (as_t *as, __address page)
pte_tpage_table_create (int flags)
void page_table_destroy (pte_t *page_table)
void map_structure (__address s, size_t size)
__address hw_map (__address physaddr, size_t size)

Variables

page_mapping_operations_tpage_mapping_operations


Detailed Description

Definition in file page.h.


Generated on Sun Jun 18 17:18:28 2006 for HelenOS Kernel (ppc32) by  doxygen 1.4.6