Modestus Moon OS
R4
CS 450 project
|
#include <system.h>
Go to the source code of this file.
Data Structures | |
struct | page_entry |
struct | page_table |
struct | page_dir |
Macros | |
#define | PAGE_SIZE 0x1000 |
Functions | |
void | set_bit (u32int addr) |
void | clear_bit (u32int addr) |
u32int | get_bit (u32int addr) |
u32int | first_free () |
void | init_paging () |
void | load_page_dir (page_dir *new_page_dir) |
page_entry * | get_page (u32int addr, page_dir *dir, int make_table) |
void | new_frame (page_entry *page) |
#define PAGE_SIZE 0x1000 |
Definition at line 6 of file paging.h.
Referenced by init_paging().
void clear_bit | ( | u32int | addr | ) |
u32int first_free | ( | ) |
page_entry* get_page | ( | u32int | addr, |
page_dir * | dir, | ||
int | make_table | ||
) |
Definition at line 85 of file paging.c.
References _kmalloc(), page_size, page_table::pages, page_dir::tables, and page_dir::tables_phys.
Referenced by _kmalloc(), and init_paging().
void init_paging | ( | ) |
Definition at line 111 of file paging.c.
References _kmalloc(), frames, get_page(), KHEAP_BASE, KHEAP_MIN, KHEAP_SIZE, kmalloc(), load_page_dir(), make_heap(), mem_size, memset(), new_frame(), nframes, PAGE_SIZE, page_size, and phys_alloc_addr.
Referenced by kmain().
void load_page_dir | ( | page_dir * | new_page_dir | ) |
Definition at line 158 of file paging.c.
References page_dir::tables_phys.
Referenced by init_paging().
void new_frame | ( | page_entry * | page | ) |
Definition at line 173 of file paging.c.
References find_free(), page_entry::frameaddr, kpanic(), page_size, page_entry::present, set_bit(), page_entry::usermode, and page_entry::writeable.
Referenced by init_paging().