diff options
author | Juergen Gross <jgross@suse.com> | 2018-08-28 03:40:21 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-09-03 10:50:35 -0400 |
commit | c00a280a8efa4dc077596cf646bd50cbd13db3c8 (patch) | |
tree | 9b4e09ea3e00b8c2f685f1e947d22fd95b167f65 | |
parent | 5def7a4cd5bef80f7c997cf37c09022fa8c9cd76 (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/Kconfig | 4 | ||||
-rw-r--r-- | arch/x86/boot/compressed/misc.h | 1 | ||||
-rw-r--r-- | arch/x86/mm/mem_encrypt_identity.c | 1 | ||||
-rw-r--r-- | arch/x86/xen/Kconfig | 1 |
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 | ||
758 | config PARAVIRT_XXL | ||
759 | bool | ||
760 | |||
757 | config PARAVIRT_DEBUG | 761 | config 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 |