From 0a6a239a61baaaac1704ccd1594ab3860181b702 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Wed, 8 May 2013 23:59:58 +0100 Subject: [PATCH] xen/arm: Extend create_xen_entries prototype to take mapping attribute Signed-off-by: Julien Grall Acked-by: Ian Campbell --- xen/arch/arm/mm.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 2836cbbc58..bd7eb1afa3 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -631,7 +631,8 @@ enum xenmap_operation { static int create_xen_entries(enum xenmap_operation op, unsigned long virt, unsigned long mfn, - unsigned long nr_mfns) + unsigned long nr_mfns, + unsigned int ai) { int rc; unsigned long addr = virt, addr_end = addr + nr_mfns * PAGE_SIZE; @@ -664,6 +665,7 @@ static int create_xen_entries(enum xenmap_operation op, } pte = mfn_to_xen_entry(mfn); pte.pt.table = 1; + pte.pt.ai = ai; write_pte(&third[third_table_offset(addr)], pte); break; case REMOVE: @@ -693,12 +695,11 @@ int map_pages_to_xen(unsigned long virt, unsigned long nr_mfns, unsigned int flags) { - ASSERT(flags == PAGE_HYPERVISOR); - return create_xen_entries(INSERT, virt, mfn, nr_mfns); + return create_xen_entries(INSERT, virt, mfn, nr_mfns, flags); } void destroy_xen_mappings(unsigned long v, unsigned long e) { - create_xen_entries(REMOVE, v, 0, (e - v) >> PAGE_SHIFT); + create_xen_entries(REMOVE, v, 0, (e - v) >> PAGE_SHIFT, 0); } enum mg { mg_clear, mg_ro, mg_rw, mg_rx }; -- 2.39.5