[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/mm: avoid playing with directmap when self-snoop can be relied upon
commit f9c53bd9eeff5d93e63665d67265dd27155e905e Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Fri Oct 23 10:06:20 2020 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Fri Oct 23 10:06:20 2020 +0200 x86/mm: avoid playing with directmap when self-snoop can be relied upon The set of systems affected by XSA-345 would have been smaller is we had this in place already: When the processor is capable of dealing with mismatched cacheability, there's no extra work we need to carry out. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- xen/arch/x86/mm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 6d2262a3f0..b2f35b3e7d 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -795,6 +795,9 @@ static int update_xen_mappings(unsigned long mfn, unsigned int cacheattr) unsigned long xen_va = XEN_VIRT_START + ((mfn - PFN_DOWN(xen_phys_start)) << PAGE_SHIFT); + if ( boot_cpu_has(X86_FEATURE_XEN_SELFSNOOP) ) + return 0; + if ( unlikely(alias) && cacheattr ) err = map_pages_to_xen(xen_va, _mfn(mfn), 1, 0); if ( !err ) @@ -802,6 +805,7 @@ static int update_xen_mappings(unsigned long mfn, unsigned int cacheattr) PAGE_HYPERVISOR | cacheattr_to_pte_flags(cacheattr)); if ( unlikely(alias) && !cacheattr && !err ) err = map_pages_to_xen(xen_va, _mfn(mfn), 1, PAGE_HYPERVISOR); + return err; } -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |