|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] xen/arm: mmu: avoid transient mapping of page tables when a directmap is available
---
xen/arch/arm/mmu/pt.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index 621b47d..735847e 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -42,7 +42,11 @@ static lpae_t *xen_map_table(mfn_t mfn)
if ( system_state == SYS_STATE_early_boot )
return pmap_map(mfn);
+#if defined(CONFIG_ARM_64)
+ return __va((mfn_to_maddr(mfn)));
+#else
return map_domain_page(mfn);
+#endif
}
static void xen_unmap_table(const lpae_t *table)
@@ -52,9 +56,14 @@ static void xen_unmap_table(const lpae_t *table)
* but the PMAP.
*/
if ( system_state == SYS_STATE_early_boot )
+ {
pmap_unmap(table);
- else
- unmap_domain_page(table);
+ return;
+ }
+
+#if !defined(CONFIG_ARM_64)
+ unmap_domain_page(table);
+#endif
}
void dump_pt_walk(paddr_t ttbr, paddr_t addr,
--
2.54.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |