aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Grall <julien.grall@linaro.org>2013-05-08 23:59:58 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-05-13 11:51:42 +0100
commit0a6a239a61baaaac1704ccd1594ab3860181b702 (patch)
tree7ce9bd1aa55e6f36c9ddb418fd6534d8ac000457
parentce2abaa5faae6662ddb93fc77b39ecf087d4c95f (diff)
downloadxen-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.c9
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 };