MOS Source Code
|
#include "mos/mm/paging/iterator.h"
#include "mos/mm/paging/pmlx/pml1.h"
#include "mos/mm/paging/pmlx/pml2.h"
#include "mos/mm/paging/pmlx/pml3.h"
#include "mos/mm/paging/pmlx/pml4.h"
#include "mos/platform/platform.h"
#include <mos_string.h>
Go to the source code of this file.
Macros | |
#define | yield_range() |
#define | _IS_IN_RANGE MOS_IN_RANGE(it->vaddr, it->start, it->end) |
Functions | |
static void | pagetable_iterator_start_current_range (pagetable_iter_t *it, pml5_t *pml5, pml4_t *pml4, pml3_t *pml3, pml2_t *pml2, pml1_t *pml1) |
void | pagetable_iter_init (pagetable_iter_t *it, pgd_t pgd, ptr_t vaddr, ptr_t end) |
Initialize a pagetable iterator. | |
pagetable_iter_range_t * | pagetable_iter_next (pagetable_iter_t *it) |
Get the next page table range. | |
#define yield_range | ( | ) |
Definition at line 90 of file iterator.c.
Referenced by pagetable_iter_next().
#define _IS_IN_RANGE MOS_IN_RANGE(it->vaddr, it->start, it->end) |
Referenced by pagetable_iter_next().
|
static |
Definition at line 13 of file iterator.c.
Referenced by pagetable_iter_next().
void pagetable_iter_init | ( | pagetable_iter_t * | it, |
pgd_t | pgd, | ||
ptr_t | vaddr, | ||
ptr_t | end ) |
Initialize a pagetable iterator.
it | The iterator to initialize. |
pgd | The page directory to iterate. |
vaddr | The virtual address to start iterating from. |
end | The virtual address to stop iterating at. |
Definition at line 82 of file iterator.c.
Referenced by mm_dump_pagetable(), and mmstat_sysfs_pagetable_show().
pagetable_iter_range_t * pagetable_iter_next | ( | pagetable_iter_t * | it | ) |
Get the next page table range.
it | The iterator to get the next range from. |
Definition at line 97 of file iterator.c.
Referenced by mm_dump_pagetable(), and mmstat_sysfs_pagetable_show().