ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning.
define paravirt_dv_serialize_data() and insert it to suppress false positive warnings. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
committed by
Tony Luck
parent
ee158fcd09
commit
dae17da60d
@@ -118,6 +118,12 @@ void paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch);
|
|||||||
|
|
||||||
#endif /* CONFIG_PARAVIRT */
|
#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
|
/* these routines utilize privilege-sensitive or performance-sensitive
|
||||||
* privileged instructions so the code must be replaced with
|
* privileged instructions so the code must be replaced with
|
||||||
* paravirtualized versions */
|
* paravirtualized versions */
|
||||||
|
@@ -456,6 +456,7 @@ efi_map_pal_code (void)
|
|||||||
GRANULEROUNDDOWN((unsigned long) pal_vaddr),
|
GRANULEROUNDDOWN((unsigned long) pal_vaddr),
|
||||||
pte_val(pfn_pte(__pa(pal_vaddr) >> PAGE_SHIFT, PAGE_KERNEL)),
|
pte_val(pfn_pte(__pa(pal_vaddr) >> PAGE_SHIFT, PAGE_KERNEL)),
|
||||||
IA64_GRANULE_SHIFT);
|
IA64_GRANULE_SHIFT);
|
||||||
|
paravirt_dv_serialize_data();
|
||||||
ia64_set_psr(psr); /* restore psr */
|
ia64_set_psr(psr); /* restore psr */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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;
|
phy_pte &= ~PAGE_FLAGS_RV_MASK;
|
||||||
psr = ia64_clear_ic();
|
psr = ia64_clear_ic();
|
||||||
ia64_itc(type, va, phy_pte, itir_ps(itir));
|
ia64_itc(type, va, phy_pte, itir_ps(itir));
|
||||||
|
paravirt_dv_serialize_data();
|
||||||
ia64_set_psr(psr);
|
ia64_set_psr(psr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -464,6 +465,7 @@ int thash_purge_and_insert(struct kvm_vcpu *v, u64 pte, u64 itir,
|
|||||||
phy_pte &= ~PAGE_FLAGS_RV_MASK;
|
phy_pte &= ~PAGE_FLAGS_RV_MASK;
|
||||||
psr = ia64_clear_ic();
|
psr = ia64_clear_ic();
|
||||||
ia64_itc(type, ifa, phy_pte, ps);
|
ia64_itc(type, ifa, phy_pte, ps);
|
||||||
|
paravirt_dv_serialize_data();
|
||||||
ia64_set_psr(psr);
|
ia64_set_psr(psr);
|
||||||
}
|
}
|
||||||
if (!(pte&VTLB_PTE_IO))
|
if (!(pte&VTLB_PTE_IO))
|
||||||
|
Reference in New Issue
Block a user