|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] x86/mm: Alter is_xen_fixed_mfn() to use mfn_t
The predicate is common between x86 and ARM, and is unlikley to be different
on other architectures. Drop the arch declarations and introduce a common
static inline in xen/mm.h instead.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Julien Grall <julien.grall@xxxxxxx>
CC: Tim Deegan <tim@xxxxxxx>
CC: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
---
xen/common/page_alloc.c | 2 +-
xen/include/asm-arm/mm.h | 4 ----
xen/include/asm-x86/mm.h | 3 ---
xen/include/xen/mm.h | 6 ++++++
4 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 915e1f7..e2c31fe 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1093,7 +1093,7 @@ int offline_page(unsigned long mfn, int broken, uint32_t
*status)
*status = 0;
pg = mfn_to_page(mfn);
- if ( is_xen_fixed_mfn(mfn) )
+ if ( is_xen_fixed_mfn(_mfn(mfn)) )
{
*status = PG_OFFLINE_XENPAGE | PG_OFFLINE_FAILED |
(DOMID_XEN << PG_OFFLINE_OWNER_SHIFT);
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index 19eadd2..3b73935 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -132,10 +132,6 @@ extern vaddr_t xenheap_virt_start;
(mfn_valid(mfn) && is_xen_heap_page(__mfn_to_page(mfn)))
#endif
-#define is_xen_fixed_mfn(mfn) \
- ((pfn_to_paddr(mfn) >= virt_to_maddr(&_start)) && \
- (pfn_to_paddr(mfn) <= virt_to_maddr(&_end)))
-
#define page_get_owner(_p) (_p)->v.inuse.domain
#define page_set_owner(_p,_d) ((_p)->v.inuse.domain = (_d))
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index f0efacb..f4de840 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -252,9 +252,6 @@ struct spage_info
#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
#define is_xen_heap_mfn(mfn) \
(__mfn_valid(mfn) && is_xen_heap_page(__mfn_to_page(mfn)))
-#define is_xen_fixed_mfn(mfn) \
- ((((mfn) << PAGE_SHIFT) >= __pa(&_start)) && \
- (((mfn) << PAGE_SHIFT) <= __pa(&_end)))
#define PRtype_info "016lx"/* should only be used for printk's */
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 88de3c1..7a2b0d0 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -599,4 +599,10 @@ static inline void filtered_flush_tlb_mask(uint32_t
tlbflush_timestamp)
}
}
+static inline bool is_xen_fixed_mfn(mfn_t mfn)
+{
+ return (pfn_to_paddr(mfn_x(mfn)) >= __pa(&_start) &&
+ pfn_to_paddr(mfn_x(mfn)) <= __pa(&_end));
+}
+
#endif /* __XEN_MM_H__ */
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |