mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 02:06:43 +07:00
hv: hyperv.h: Introduce some hvpfn helper functions
When a guest communicate with the hypervisor, it must use HV_HYP_PAGE to calculate PFN, so introduce a few hvpfn helper functions as the counterpart of the page helper functions. This is the preparation for supporting guest whose PAGE_SIZE is not 4k. Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/20200916034817.30282-7-boqun.feng@gmail.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
parent
bca6b91dfd
commit
106dee0840
@ -1691,4 +1691,9 @@ static inline unsigned long virt_to_hvpfn(void *addr)
|
|||||||
return paddr >> HV_HYP_PAGE_SHIFT;
|
return paddr >> HV_HYP_PAGE_SHIFT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define NR_HV_HYP_PAGES_IN_PAGE (PAGE_SIZE / HV_HYP_PAGE_SIZE)
|
||||||
|
#define offset_in_hvpage(ptr) ((unsigned long)(ptr) & ~HV_HYP_PAGE_MASK)
|
||||||
|
#define HVPFN_UP(x) (((x) + HV_HYP_PAGE_SIZE-1) >> HV_HYP_PAGE_SHIFT)
|
||||||
|
#define page_to_hvpfn(page) (page_to_pfn(page) * NR_HV_HYP_PAGES_IN_PAGE)
|
||||||
|
|
||||||
#endif /* _HYPERV_H */
|
#endif /* _HYPERV_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user