>>> On 02.03.18 at 09:14, <jgr...@suse.com> wrote:
> @@ -123,22 +142,14 @@ unsigned int flush_area_local(const void *va, unsigned 
> int flags)
>              u32 t = pre_flush();
>  
>              if ( !cpu_has_invpcid )
> -            {
> -                unsigned long cr4 = read_cr4();
> -
> -                write_cr4(cr4 & ~X86_CR4_PGE);
> -                barrier();
> -                write_cr4(cr4);
> -            }
> +                do_flush_tlb(0);
>              else
> -            {
>                  /*
>                   * Using invpcid to flush all mappings works
>                   * regardless of whether PCID is enabled or not.
>                   * It is faster than read-modify-write CR4.
>                   */
>                  invpcid_flush_all();
> -            }

Btw, this is correct for FLUSH_TLB_GLOBAL, but goes too far for
FLUSH_TLB.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to