add visit_pte_range()

refs #21
refs #22
This commit is contained in:
NAKAMURA Gou
2014-06-23 18:04:24 +09:00
parent dc7f38c8c7
commit d2e29bf598
2 changed files with 161 additions and 0 deletions

View File

@ -47,6 +47,12 @@ enum ihk_mc_pt_prepare_flag {
IHK_MC_PT_LAST_LEVEL,
};
enum visit_pte_flag {
VPTEF_SKIP_NULL = 0x0001, /* skip null PTEs */
VPTEF_DEFAULT = 0,
};
struct ihk_mc_memory_area {
unsigned long start;
unsigned long size;
@ -123,6 +129,11 @@ int ihk_mc_pt_set_pte(page_table_t pt, pte_t *ptep, size_t pgsize, uintptr_t phy
int ihk_mc_pt_prepare_map(page_table_t pt, void *virt, unsigned long size,
enum ihk_mc_pt_prepare_flag);
typedef int pte_visitor_t(void *arg, page_table_t pt, pte_t *ptep,
void *pgaddr, size_t pgsize);
int visit_pte_range(page_table_t pt, void *start, void *end,
enum visit_pte_flag flags, pte_visitor_t *funcp, void *arg);
struct page_table *ihk_mc_pt_create(enum ihk_mc_ap_flag ap_flag);
/* XXX: proper use of struct page_table and page_table_t is unknown */
void ihk_mc_pt_destroy(struct page_table *pt);