From caa8d100b923f2abfb6ba54dbe20ab3f37f8bd91 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Tue, 12 Sep 2017 11:03:07 +0100 Subject: [PATCH] xen/x86: mm: Introduce {G, M}FN <-> {G, M}ADDR helpers The new wrappers will add more safety when converting an address to a frame number (either machine or guest). They are already existing for Arm and could be useful in common code. Signed-off-by: Julien Grall Reviewed-by: Andrew Cooper Reviewed-by: Wei Liu --- xen/include/asm-x86/page.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h index cde5c6b89b..45ca742678 100644 --- a/xen/include/asm-x86/page.h +++ b/xen/include/asm-x86/page.h @@ -250,6 +250,10 @@ void copy_page_sse2(void *, const void *); /* Convert between frame number and address formats. */ #define __pfn_to_paddr(pfn) ((paddr_t)(pfn) << PAGE_SHIFT) #define __paddr_to_pfn(pa) ((unsigned long)((pa) >> PAGE_SHIFT)) +#define gfn_to_gaddr(gfn) __pfn_to_paddr(gfn_x(gfn)) +#define gaddr_to_gfn(ga) _gfn(__paddr_to_pfn(ga)) +#define mfn_to_maddr(mfn) __pfn_to_paddr(mfn_x(mfn)) +#define maddr_to_mfn(ma) _mfn(__paddr_to_pfn(ma)) /* * We define non-underscored wrappers for above conversion functions. These are -- 2.39.5