2 ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
3 ** Distributed under the terms of the NewOS License.
5 #ifndef _KERNEL_VM_PAGE_H
6 #define _KERNEL_VM_PAGE_H
8 #include <kernel/kernel.h>
9 #include <boot/stage2.h>
10 #include <kernel/vm.h>
12 int vm_page_init(kernel_args
*ka
);
13 int vm_page_init_postheap(kernel_args
*ka
);
14 int vm_page_init2(kernel_args
*ka
);
15 int vm_page_init_postthread(kernel_args
*ka
);
17 int vm_mark_page_inuse(addr_t page
);
18 int vm_mark_page_range_inuse(addr_t start_page
, addr_t len
);
19 int vm_page_set_state(vm_page
*page
, int state
);
21 vm_page
*vm_page_allocate_page(int state
);
22 vm_page
*vm_page_allocate_page_run(int state
, addr_t len
);
23 vm_page
*vm_page_allocate_specific_page(addr_t page_num
, int state
);
24 vm_page
*vm_lookup_page(addr_t page_num
);