xen/x86: use invpcid for flushing the TLB
authorJuergen Gross <jgross@suse.com>
Thu, 26 Apr 2018 11:33:13 +0000 (13:33 +0200)
committerWei Liu <wei.liu2@citrix.com>
Fri, 4 May 2018 14:55:06 +0000 (15:55 +0100)
commit94a992bccdbf656a5a7a0b585c9f140fccc02674
tree6d6d09c6596355309e8679fe6ad517bb57d93782
parent0d3e7f0b6bf01fbd6250fd3408a22fead1601bf0
xen/x86: use invpcid for flushing the TLB

If possible use the INVPCID instruction for flushing the TLB instead of
toggling cr4.pge for that purpose.

While at it remove the dependency on cr4.pge being required for mtrr
loading, as this will be required later anyway.

Add a command line option "invpcid" for controlling the use of
INVPCID (default to true).

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
docs/misc/xen-command-line.markdown
xen/arch/x86/cpu/mtrr/generic.c
xen/arch/x86/flushtlb.c
xen/arch/x86/setup.c
xen/include/asm-x86/invpcid.h