diff --git a/include/pagemap-cache.h b/include/pagemap-cache.h index f4d9c4e43..48e366c7f 100644 --- a/include/pagemap-cache.h +++ b/include/pagemap-cache.h @@ -2,14 +2,14 @@ #define __CR_PAGEMAP_H__ #include -#include "asm/types.h" +#include "asm-generic/page.h" +#include "asm/int.h" #include "list.h" struct vma_area; -#define PAGEMAP_PFN(addr) ((addr) / PAGE_SIZE) -#define PAGEMAP_PFN_OFF(addr) (PAGEMAP_PFN(addr) * sizeof(u64)) +#define PAGEMAP_PFN_OFF(addr) (PAGE_PFN(addr) * sizeof(u64)) typedef struct { pid_t pid; /* which process it belongs */ diff --git a/mem.c b/mem.c index 7d7609aa2..b6681d161 100644 --- a/mem.c +++ b/mem.c @@ -108,7 +108,7 @@ static inline bool page_in_parent(u64 pme) static int generate_iovs(struct vma_area *vma, struct page_pipe *pp, u64 *map, u64 *off) { - u64 *at = &map[PAGEMAP_PFN(*off)]; + u64 *at = &map[PAGE_PFN(*off)]; unsigned long pfn, nr_to_scan; unsigned long pages[2] = {}; diff --git a/pagemap-cache.c b/pagemap-cache.c index b102345ca..9def58783 100644 --- a/pagemap-cache.c +++ b/pagemap-cache.c @@ -17,7 +17,7 @@ #define PMC_MASK (~(PMC_SIZE - 1)) #define PMC_SIZE_GAP (PMC_SIZE / 4) -#define PAGEMAP_LEN(addr) (PAGEMAP_PFN(addr) * sizeof(u64)) +#define PAGEMAP_LEN(addr) (PAGE_PFN(addr) * sizeof(u64)) static inline void pmc_reset(pmc_t *pmc) { @@ -56,7 +56,7 @@ int pmc_init(pmc_t *pmc, pid_t pid, struct list_head *vma_head, size_t size) static inline u64 *__pmc_get_map(pmc_t *pmc, unsigned long addr) { - return &pmc->map[PAGEMAP_PFN(addr - pmc->start)]; + return &pmc->map[PAGE_PFN(addr - pmc->start)]; } static int pmc_fill_cache(pmc_t *pmc, struct vma_area *vma)