Loading arch/ia64/include/asm/paravirt_privop.h +6 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,12 @@ void paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch); #endif /* CONFIG_PARAVIRT */ #if defined(CONFIG_PARAVIRT) && defined(ASM_SUPPORTED) #define paravirt_dv_serialize_data() ia64_dv_serialize_data() #else #define paravirt_dv_serialize_data() /* nothing */ #endif /* these routines utilize privilege-sensitive or performance-sensitive * privileged instructions so the code must be replaced with * paravirtualized versions */ Loading arch/ia64/kernel/efi.c +1 −0 Original line number Diff line number Diff line Loading @@ -456,6 +456,7 @@ efi_map_pal_code (void) GRANULEROUNDDOWN((unsigned long) pal_vaddr), pte_val(pfn_pte(__pa(pal_vaddr) >> PAGE_SHIFT, PAGE_KERNEL)), IA64_GRANULE_SHIFT); paravirt_dv_serialize_data(); ia64_set_psr(psr); /* restore psr */ } Loading arch/ia64/kvm/vtlb.c +2 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,7 @@ void thash_vhpt_insert(struct kvm_vcpu *v, u64 pte, u64 itir, u64 va, int type) phy_pte &= ~PAGE_FLAGS_RV_MASK; psr = ia64_clear_ic(); ia64_itc(type, va, phy_pte, itir_ps(itir)); paravirt_dv_serialize_data(); ia64_set_psr(psr); } Loading Loading @@ -464,6 +465,7 @@ int thash_purge_and_insert(struct kvm_vcpu *v, u64 pte, u64 itir, phy_pte &= ~PAGE_FLAGS_RV_MASK; psr = ia64_clear_ic(); ia64_itc(type, ifa, phy_pte, ps); paravirt_dv_serialize_data(); ia64_set_psr(psr); } if (!(pte&VTLB_PTE_IO)) Loading Loading
arch/ia64/include/asm/paravirt_privop.h +6 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,12 @@ void paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch); #endif /* CONFIG_PARAVIRT */ #if defined(CONFIG_PARAVIRT) && defined(ASM_SUPPORTED) #define paravirt_dv_serialize_data() ia64_dv_serialize_data() #else #define paravirt_dv_serialize_data() /* nothing */ #endif /* these routines utilize privilege-sensitive or performance-sensitive * privileged instructions so the code must be replaced with * paravirtualized versions */ Loading
arch/ia64/kernel/efi.c +1 −0 Original line number Diff line number Diff line Loading @@ -456,6 +456,7 @@ efi_map_pal_code (void) GRANULEROUNDDOWN((unsigned long) pal_vaddr), pte_val(pfn_pte(__pa(pal_vaddr) >> PAGE_SHIFT, PAGE_KERNEL)), IA64_GRANULE_SHIFT); paravirt_dv_serialize_data(); ia64_set_psr(psr); /* restore psr */ } Loading
arch/ia64/kvm/vtlb.c +2 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,7 @@ void thash_vhpt_insert(struct kvm_vcpu *v, u64 pte, u64 itir, u64 va, int type) phy_pte &= ~PAGE_FLAGS_RV_MASK; psr = ia64_clear_ic(); ia64_itc(type, va, phy_pte, itir_ps(itir)); paravirt_dv_serialize_data(); ia64_set_psr(psr); } Loading Loading @@ -464,6 +465,7 @@ int thash_purge_and_insert(struct kvm_vcpu *v, u64 pte, u64 itir, phy_pte &= ~PAGE_FLAGS_RV_MASK; psr = ia64_clear_ic(); ia64_itc(type, ifa, phy_pte, ps); paravirt_dv_serialize_data(); ia64_set_psr(psr); } if (!(pte&VTLB_PTE_IO)) Loading