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 <julien.grall@arm.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
Julien Grall authored and Andrew Cooper committed 2017-09-12 11:29:40 +01:00
1 parent d0291f3391
commit caa8d100b9
1 file changed
+4
+4
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.