diff options
author | Julien Grall <julien.grall@linaro.org> | 2013-05-08 23:59:58 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-05-13 11:51:42 +0100 |
commit | 0a6a239a61baaaac1704ccd1594ab3860181b702 (patch) | |
tree | 7ce9bd1aa55e6f36c9ddb418fd6534d8ac000457 | |
parent | ce2abaa5faae6662ddb93fc77b39ecf087d4c95f (diff) | |
download | xen-0a6a239a61baaaac1704ccd1594ab3860181b702.tar.gz xen-0a6a239a61baaaac1704ccd1594ab3860181b702.tar.bz2 xen-0a6a239a61baaaac1704ccd1594ab3860181b702.zip |
xen/arm: Extend create_xen_entries prototype to take mapping attribute
Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r-- | xen/arch/arm/mm.c | 9 |
1 files 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 }; |