From: Ian Campbell Date: Thu, 8 Aug 2013 12:15:14 +0000 (+0100) Subject: xen: arm: fix is_xen_fixed_mfn X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6496 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8b36092b02e036088420ba9056afb447a90120e6;p=xen.git xen: arm: fix is_xen_fixed_mfn The current implementation is nonsense since the xenheap and the xen text/data/etc mappings are nowhere near each other. This is only actually used by the page offlining code, which isn't active on ARM. Signed-off-by: Ian Campbell Acked-by: Stefano Stabellini --- diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h index 5e7c5a36be..baaf9c3833 100644 --- a/xen/include/asm-arm/mm.h +++ b/xen/include/asm-arm/mm.h @@ -123,7 +123,9 @@ extern unsigned long xenheap_virt_end; unsigned long _mfn = (mfn); \ (_mfn >= xenheap_mfn_start && _mfn < xenheap_mfn_end); \ }) -#define is_xen_fixed_mfn(mfn) is_xen_heap_mfn(mfn) +#define is_xen_fixed_mfn(mfn) \ + ((((mfn) << PAGE_SHIFT) >= virt_to_maddr(&_start)) && \ + (((mfn) << PAGE_SHIFT) <= virt_to_maddr(&_end))) #define page_get_owner(_p) (_p)->v.inuse.domain #define page_set_owner(_p,_d) ((_p)->v.inuse.domain = (_d))