mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
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>
This commit is contained in:
1 parent
ce2abaa5fa
commit
0a6a239a61
1 file changed
+5
-4
+5
-4
@@ -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 };
|
||||
|
||||