From: Julien Grall Date: Tue, 13 Jun 2017 16:13:08 +0000 (+0100) Subject: xen/arm: Define mfn_to_page/page_to_mfn in term of __mfn_to_page/__page_to_mfn X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=948066d0526cebe1ecd0c21863a9cfc1be0290a4;p=people%2Fiwj%2Fxen.git xen/arm: Define mfn_to_page/page_to_mfn in term of __mfn_to_page/__page_to_mfn This is matching the x86 side where the __* version is used if you need to override the helpers in source files. At the same time, move the non-underscore version at the end of the defintion and add a comment to explain them. Signed-off-by: Julien Grall Reviewed-by: Stefano Stabellini --- diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h index f6915ad882..cc3220a6b7 100644 --- a/xen/include/asm-arm/mm.h +++ b/xen/include/asm-arm/mm.h @@ -203,10 +203,8 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len) }) /* Convert between machine frame numbers and page-info structures. */ -#define mfn_to_page(mfn) (frame_table + (pfn_to_pdx(mfn) - frametable_base_pdx)) -#define page_to_mfn(pg) pdx_to_pfn((unsigned long)((pg) - frame_table) + frametable_base_pdx) -#define __page_to_mfn(pg) page_to_mfn(pg) -#define __mfn_to_page(mfn) mfn_to_page(mfn) +#define __mfn_to_page(mfn) (frame_table + (pfn_to_pdx(mfn) - frametable_base_pdx)) +#define __page_to_mfn(pg) pdx_to_pfn((unsigned long)((pg) - frame_table) + frametable_base_pdx) /* Convert between machine addresses and page-info structures. */ #define maddr_to_page(ma) __mfn_to_page((ma) >> PAGE_SHIFT) @@ -264,6 +262,13 @@ static inline int gvirt_to_maddr(vaddr_t va, paddr_t *pa, unsigned int flags) #define virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT) #define mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT)) +/* + * We define non-underscored wrappers for above conversion functions. + * These are overriden in various source files while underscored version + * remain intact. + */ +#define mfn_to_page(mfn) __mfn_to_page(mfn) +#define page_to_mfn(pg) __page_to_mfn(pg) /* Convert between Xen-heap virtual addresses and page-info structures. */ static inline struct page_info *virt_to_page(const void *v)