mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
arm: handle xenheap which isn't at the start of RAM.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
1 parent
c7bfd04da6
commit
3b62c033e1
1 file changed
+5
-7
@@ -214,17 +214,15 @@ static inline struct page_info *virt_to_page(const void *v)
|
||||
ASSERT(va >= XENHEAP_VIRT_START);
|
||||
ASSERT(va < xenheap_virt_end);
|
||||
|
||||
return frame_table + ((va - XENHEAP_VIRT_START) >> PAGE_SHIFT);
|
||||
return frame_table
|
||||
+ ((va - XENHEAP_VIRT_START) >> PAGE_SHIFT)
|
||||
+ xenheap_mfn_start
|
||||
- frametable_base_mfn;
|
||||
}
|
||||
|
||||
static inline void *page_to_virt(const struct page_info *pg)
|
||||
{
|
||||
ASSERT((unsigned long)pg - FRAMETABLE_VIRT_START < frametable_virt_end);
|
||||
return (void *)(XENHEAP_VIRT_START +
|
||||
((unsigned long)pg - FRAMETABLE_VIRT_START) /
|
||||
(sizeof(*pg) / (sizeof(*pg) & -sizeof(*pg))) *
|
||||
(PAGE_SIZE / (sizeof(*pg) & -sizeof(*pg))));
|
||||
|
||||
return mfn_to_virt(page_to_mfn(pg));
|
||||
}
|
||||
|
||||
struct domain *page_get_owner_and_reference(struct page_info *page);
|
||||
|
||||