diff options
Diffstat (limited to 'arch/x86/xen/mmu.c')
-rw-r--r-- | arch/x86/xen/mmu.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index 42086ac406af..1ceb0f2fa0af 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c | |||
@@ -395,7 +395,7 @@ static bool xen_iomap_pte(pte_t pte) | |||
395 | return pte_flags(pte) & _PAGE_IOMAP; | 395 | return pte_flags(pte) & _PAGE_IOMAP; |
396 | } | 396 | } |
397 | 397 | ||
398 | static void xen_set_iomap_pte(pte_t *ptep, pte_t pteval) | 398 | void xen_set_domain_pte(pte_t *ptep, pte_t pteval, unsigned domid) |
399 | { | 399 | { |
400 | struct multicall_space mcs; | 400 | struct multicall_space mcs; |
401 | struct mmu_update *u; | 401 | struct mmu_update *u; |
@@ -407,10 +407,16 @@ static void xen_set_iomap_pte(pte_t *ptep, pte_t pteval) | |||
407 | u->ptr = arbitrary_virt_to_machine(ptep).maddr; | 407 | u->ptr = arbitrary_virt_to_machine(ptep).maddr; |
408 | u->val = pte_val_ma(pteval); | 408 | u->val = pte_val_ma(pteval); |
409 | 409 | ||
410 | MULTI_mmu_update(mcs.mc, mcs.args, 1, NULL, DOMID_IO); | 410 | MULTI_mmu_update(mcs.mc, mcs.args, 1, NULL, domid); |
411 | 411 | ||
412 | xen_mc_issue(PARAVIRT_LAZY_MMU); | 412 | xen_mc_issue(PARAVIRT_LAZY_MMU); |
413 | } | 413 | } |
414 | EXPORT_SYMBOL_GPL(xen_set_domain_pte); | ||
415 | |||
416 | static void xen_set_iomap_pte(pte_t *ptep, pte_t pteval) | ||
417 | { | ||
418 | xen_set_domain_pte(ptep, pteval, DOMID_IO); | ||
419 | } | ||
414 | 420 | ||
415 | static void xen_extend_mmu_update(const struct mmu_update *update) | 421 | static void xen_extend_mmu_update(const struct mmu_update *update) |
416 | { | 422 | { |