#include "common.h"
#include "lib/pagetable.h"
#include "lib/misc.h"
#include "lib/vmm.h"
#include "lib/override.h"
Data Structures | |
| struct | slice |
| struct | page_table |
Defines | |
| #define | POINTER_WIDTH 32 |
| NOTE: These values are meant for a typical 32-bit system with 4 KiB large pages. | |
| #define | SLICE_BITSHIFT 24 |
| #define | SLICE_BITMASK ((size_t)-1 << SLICE_BITSHIFT) |
| #define | PAGE_BITSHIFT 12 |
| #define | PAGE_BITMASK ((size_t)-1 << PAGE_BITSHIFT) |
Functions | |
| page_table_t * | page_table_new (void) |
| void | page_table_destroy (page_table_t *tab) |
| size_t | page_table_lookup (page_table_t *tab, void *p) |
| int | page_table_insert (page_table_t *tab, void *p, size_t size) |
| int | page_table_remove (page_table_t *tab, void *p) |
| void | page_table_foreach (page_table_t *tab, page_table_foreach_func func, void *data) |
|
|
|
|
|
|
|
|
NOTE: These values are meant for a typical 32-bit system with 4 KiB large pages. This is not efficient or useful for 64-bit systems. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
1.3.9.1