Message ID | 1454091618-13423-1-git-send-email-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 1/29/16 12:20 PM, Andrew Cooper wrote: > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > --- > CC: Jan Beulich <JBeulich@suse.com> > CC: Doug Goldstein <cardoe@cardoe.com> > CC: Tim Deegan <tim@xen.org> > CC: George Dunlap <george.dunlap@eu.citrix.com> > > v2: > * Expand text. Use more-common makefile syntax > --- > xen/arch/x86/Kconfig | 18 ++++++++++++++++++ > xen/arch/x86/Rules.mk | 4 ---- > xen/arch/x86/mm/shadow/Makefile | 2 +- > 3 files changed, 19 insertions(+), 5 deletions(-) > > diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig > index 4781b34..1fd72fa 100644 > --- a/xen/arch/x86/Kconfig > +++ b/xen/arch/x86/Kconfig > @@ -27,6 +27,24 @@ menu "Architecture Features" > > source "arch/Kconfig" > > +config SHADOW_PAGING > + bool "Shadow Paging" > + default y > + ---help--- > + > + Shadow paging is a software alternative to hardware paging support > + (Intel EPT, AMD NPT). > + > + It is required for: > + * Running HVM guests on hardware lacking hardware paging support > + (First-generation Intel VT-x or AMD SVM). > + * Live migration of PV guests. > + > + Under a small number of specific workloads, shadow paging may be > + deliberately used as a performance optimisation. > + > + If unsure, say Y. > + > config BIGMEM > bool "big memory support" > default n > diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk > index a108d24..a1cdae0 100644 > --- a/xen/arch/x86/Rules.mk > +++ b/xen/arch/x86/Rules.mk > @@ -22,13 +22,9 @@ $(call as-insn-check,CFLAGS,CC,".equ \"x\"$$(comma)1", \ > -U__OBJECT_LABEL__ -DHAVE_GAS_QUOTED_SYM \ > '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$$@') > > -shadow-paging ?= y > - > CFLAGS += -mno-red-zone -mno-sse -fpic > CFLAGS += -fno-asynchronous-unwind-tables > # -fvisibility=hidden reduces -fpic cost, if it's available > ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n) > CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE > endif > - > -CFLAGS-$(shadow-paging) += -DCONFIG_SHADOW_PAGING > diff --git a/xen/arch/x86/mm/shadow/Makefile b/xen/arch/x86/mm/shadow/Makefile > index a07bc0c..cd4ec8a 100644 > --- a/xen/arch/x86/mm/shadow/Makefile > +++ b/xen/arch/x86/mm/shadow/Makefile > @@ -1,4 +1,4 @@ > -ifeq ($(shadow-paging),y) > +ifeq ($(CONFIG_SHADOW_PAGING),y) > obj-y += common.o guest_2.o guest_3.o guest_4.o > else > obj-y += none.o > Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
At 18:20 +0000 on 29 Jan (1454091618), Andrew Cooper wrote: > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Tim Deegan <tim@xen.org>
On 29/01/16 18:20, Andrew Cooper wrote: > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > --- > CC: Jan Beulich <JBeulich@suse.com> > CC: Doug Goldstein <cardoe@cardoe.com> > CC: Tim Deegan <tim@xen.org> > CC: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: George Dunlap <george.dunlap@citrix.com>
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index 4781b34..1fd72fa 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -27,6 +27,24 @@ menu "Architecture Features" source "arch/Kconfig" +config SHADOW_PAGING + bool "Shadow Paging" + default y + ---help--- + + Shadow paging is a software alternative to hardware paging support + (Intel EPT, AMD NPT). + + It is required for: + * Running HVM guests on hardware lacking hardware paging support + (First-generation Intel VT-x or AMD SVM). + * Live migration of PV guests. + + Under a small number of specific workloads, shadow paging may be + deliberately used as a performance optimisation. + + If unsure, say Y. + config BIGMEM bool "big memory support" default n diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk index a108d24..a1cdae0 100644 --- a/xen/arch/x86/Rules.mk +++ b/xen/arch/x86/Rules.mk @@ -22,13 +22,9 @@ $(call as-insn-check,CFLAGS,CC,".equ \"x\"$$(comma)1", \ -U__OBJECT_LABEL__ -DHAVE_GAS_QUOTED_SYM \ '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$$@') -shadow-paging ?= y - CFLAGS += -mno-red-zone -mno-sse -fpic CFLAGS += -fno-asynchronous-unwind-tables # -fvisibility=hidden reduces -fpic cost, if it's available ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n) CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE endif - -CFLAGS-$(shadow-paging) += -DCONFIG_SHADOW_PAGING diff --git a/xen/arch/x86/mm/shadow/Makefile b/xen/arch/x86/mm/shadow/Makefile index a07bc0c..cd4ec8a 100644 --- a/xen/arch/x86/mm/shadow/Makefile +++ b/xen/arch/x86/mm/shadow/Makefile @@ -1,4 +1,4 @@ -ifeq ($(shadow-paging),y) +ifeq ($(CONFIG_SHADOW_PAGING),y) obj-y += common.o guest_2.o guest_3.o guest_4.o else obj-y += none.o
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Jan Beulich <JBeulich@suse.com> CC: Doug Goldstein <cardoe@cardoe.com> CC: Tim Deegan <tim@xen.org> CC: George Dunlap <george.dunlap@eu.citrix.com> v2: * Expand text. Use more-common makefile syntax --- xen/arch/x86/Kconfig | 18 ++++++++++++++++++ xen/arch/x86/Rules.mk | 4 ---- xen/arch/x86/mm/shadow/Makefile | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-)