diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2012-10-17 16:37:49 -0400 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2012-11-29 07:57:36 -0500 |
commit | 9a032e393a8bc888a9b0c898cbdb9db2cee7b536 (patch) | |
tree | da8d1705a10d2728627d3c13c64f6de5881d177d /arch/x86/xen/mmu.c | |
parent | b3e40b72bb24237b0aee9f6ba2e9f88dd4ff3c0a (diff) |
xen: add pages parameter to xen_remap_domain_mfn_range
Also introduce xen_unmap_domain_mfn_range. These are the parts of
Mukesh's "xen/pvh: Implement MMU changes for PVH" which are also
needed as a baseline for ARM privcmd support.
The original patch was:
Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This derivative is also:
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'arch/x86/xen/mmu.c')
-rw-r--r-- | arch/x86/xen/mmu.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index 6226c99729b9..0f6386a5b437 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c | |||
@@ -2479,7 +2479,9 @@ static int remap_area_mfn_pte_fn(pte_t *ptep, pgtable_t token, | |||
2479 | int xen_remap_domain_mfn_range(struct vm_area_struct *vma, | 2479 | int xen_remap_domain_mfn_range(struct vm_area_struct *vma, |
2480 | unsigned long addr, | 2480 | unsigned long addr, |
2481 | unsigned long mfn, int nr, | 2481 | unsigned long mfn, int nr, |
2482 | pgprot_t prot, unsigned domid) | 2482 | pgprot_t prot, unsigned domid, |
2483 | struct page **pages) | ||
2484 | |||
2483 | { | 2485 | { |
2484 | struct remap_data rmd; | 2486 | struct remap_data rmd; |
2485 | struct mmu_update mmu_update[REMAP_BATCH_SIZE]; | 2487 | struct mmu_update mmu_update[REMAP_BATCH_SIZE]; |
@@ -2523,3 +2525,14 @@ out: | |||
2523 | return err; | 2525 | return err; |
2524 | } | 2526 | } |
2525 | EXPORT_SYMBOL_GPL(xen_remap_domain_mfn_range); | 2527 | EXPORT_SYMBOL_GPL(xen_remap_domain_mfn_range); |
2528 | |||
2529 | /* Returns: 0 success */ | ||
2530 | int xen_unmap_domain_mfn_range(struct vm_area_struct *vma, | ||
2531 | int numpgs, struct page **pages) | ||
2532 | { | ||
2533 | if (!pages || !xen_feature(XENFEAT_auto_translated_physmap)) | ||
2534 | return 0; | ||
2535 | |||
2536 | return -EINVAL; | ||
2537 | } | ||
2538 | EXPORT_SYMBOL_GPL(xen_unmap_domain_mfn_range); | ||