aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-01-28 16:48:20 +0000
committerIan Campbell <ian.campbell@citrix.com>2013-01-28 16:48:20 +0000
commit66eb6f8b77474fcdd140e43f819a3a80fd5a25a8 (patch)
tree8ee58f6f6325dbf1bca25415d7201098385b2f20
parent748e38f4719ea739f39b9529664e2221d6f8a394 (diff)
downloadxen-66eb6f8b77474fcdd140e43f819a3a80fd5a25a8.tar.gz
xen-66eb6f8b77474fcdd140e43f819a3a80fd5a25a8.tar.bz2
xen-66eb6f8b77474fcdd140e43f819a3a80fd5a25a8.zip
xen: arm: implement domain_page_map_to_mfn
This was recently (re?)introduced on x86 in 26447:f831d8dcf18f and is now used in generic code (specifically tmem in 26454:38847c15d8cd). This fixes the build on ARM. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r--xen/arch/arm/mm.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 9c5c33448a..7621d1ba0f 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -208,6 +208,18 @@ void unmap_domain_page(const void *va)
local_irq_restore(flags);
}
+unsigned long domain_page_map_to_mfn(const void *va)
+{
+ lpae_t *map = xen_second + second_linear_offset(DOMHEAP_VIRT_START);
+ int slot = ((unsigned long) va - DOMHEAP_VIRT_START) >> SECOND_SHIFT;
+ unsigned long offset = ((unsigned long)va>>THIRD_SHIFT) & LPAE_ENTRY_MASK;
+
+ ASSERT(slot >= 0 && slot < DOMHEAP_ENTRIES);
+ ASSERT(map[slot].pt.avail != 0);
+
+ return map[slot].pt.base + offset;
+}
+
void __init arch_init_memory(void)
{
/*