![]() |
MOS Source Code
|
#include "mos/mm/paging/iterator.hpp"#include "mos/assert.hpp"#include "mos/mm/paging/pmlx/pml1.hpp"#include "mos/mm/paging/pmlx/pml2.hpp"#include "mos/mm/paging/pmlx/pml3.hpp"#include "mos/mm/paging/pmlx/pml4.hpp"#include "mos/platform/platform.hpp"#include <mos_string.hpp>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 91 of file iterator.cpp.
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 14 of file iterator.cpp.
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 83 of file iterator.cpp.
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 98 of file iterator.cpp.
Referenced by mm_dump_pagetable(), and mmstat_sysfs_pagetable_show().