aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2018-08-28 03:40:21 -0400
committerThomas Gleixner <tglx@linutronix.de>2018-09-03 10:50:35 -0400
commitc00a280a8efa4dc077596cf646bd50cbd13db3c8 (patch)
tree9b4e09ea3e00b8c2f685f1e947d22fd95b167f65
parent5def7a4cd5bef80f7c997cf37c09022fa8c9cd76 (diff)
x86/paravirt: Introduce new config option PARAVIRT_XXL
A large amount of paravirt ops is used by Xen PV guests only. Add a new config option PARAVIRT_XXL which is selected by XEN_PV. Later we can put the Xen PV only paravirt ops under the PARAVIRT_XXL umbrella. Since irq related paravirt ops are used only by VSMP and Xen PV, let VSMP select PARAVIRT_XXL, too, in order to enable moving the irq ops under PARAVIRT_XXL. Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: xen-devel@lists.xenproject.org Cc: virtualization@lists.linux-foundation.org Cc: akataria@vmware.com Cc: rusty@rustcorp.com.au Cc: boris.ostrovsky@oracle.com Cc: hpa@zytor.com Link: https://lkml.kernel.org/r/20180828074026.820-11-jgross@suse.com
-rw-r--r--arch/x86/Kconfig4
-rw-r--r--arch/x86/boot/compressed/misc.h1
-rw-r--r--arch/x86/mm/mem_encrypt_identity.c1
-rw-r--r--arch/x86/xen/Kconfig1
4 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1a0be022f91d..6265b84f6386 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -523,6 +523,7 @@ config X86_VSMP
523 bool "ScaleMP vSMP" 523 bool "ScaleMP vSMP"
524 select HYPERVISOR_GUEST 524 select HYPERVISOR_GUEST
525 select PARAVIRT 525 select PARAVIRT
526 select PARAVIRT_XXL
526 depends on X86_64 && PCI 527 depends on X86_64 && PCI
527 depends on X86_EXTENDED_PLATFORM 528 depends on X86_EXTENDED_PLATFORM
528 depends on SMP 529 depends on SMP
@@ -754,6 +755,9 @@ config PARAVIRT
754 over full virtualization. However, when run without a hypervisor 755 over full virtualization. However, when run without a hypervisor
755 the kernel is theoretically slower and slightly larger. 756 the kernel is theoretically slower and slightly larger.
756 757
758config PARAVIRT_XXL
759 bool
760
757config PARAVIRT_DEBUG 761config PARAVIRT_DEBUG
758 bool "paravirt-ops debugging" 762 bool "paravirt-ops debugging"
759 depends on PARAVIRT && DEBUG_KERNEL 763 depends on PARAVIRT && DEBUG_KERNEL
diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h
index a423bdb42686..a1d5918765f3 100644
--- a/arch/x86/boot/compressed/misc.h
+++ b/arch/x86/boot/compressed/misc.h
@@ -9,6 +9,7 @@
9 * paravirt and debugging variants are added.) 9 * paravirt and debugging variants are added.)
10 */ 10 */
11#undef CONFIG_PARAVIRT 11#undef CONFIG_PARAVIRT
12#undef CONFIG_PARAVIRT_XXL
12#undef CONFIG_PARAVIRT_SPINLOCKS 13#undef CONFIG_PARAVIRT_SPINLOCKS
13#undef CONFIG_KASAN 14#undef CONFIG_KASAN
14 15
diff --git a/arch/x86/mm/mem_encrypt_identity.c b/arch/x86/mm/mem_encrypt_identity.c
index 7ae36868aed2..a19ef1a416ff 100644
--- a/arch/x86/mm/mem_encrypt_identity.c
+++ b/arch/x86/mm/mem_encrypt_identity.c
@@ -27,6 +27,7 @@
27 * be extended when new paravirt and debugging variants are added.) 27 * be extended when new paravirt and debugging variants are added.)
28 */ 28 */
29#undef CONFIG_PARAVIRT 29#undef CONFIG_PARAVIRT
30#undef CONFIG_PARAVIRT_XXL
30#undef CONFIG_PARAVIRT_SPINLOCKS 31#undef CONFIG_PARAVIRT_SPINLOCKS
31 32
32#include <linux/kernel.h> 33#include <linux/kernel.h>
diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
index c1f98f32c45f..dd92d7bd3613 100644
--- a/arch/x86/xen/Kconfig
+++ b/arch/x86/xen/Kconfig
@@ -18,6 +18,7 @@ config XEN_PV
18 bool "Xen PV guest support" 18 bool "Xen PV guest support"
19 default y 19 default y
20 depends on XEN 20 depends on XEN
21 select PARAVIRT_XXL
21 select XEN_HAVE_PVMMU 22 select XEN_HAVE_PVMMU
22 select XEN_HAVE_VPMU 23 select XEN_HAVE_VPMU
23 help 24 help