2015-02-11 00:25:36

by Luis Chamberlain

[permalink] [raw]
Subject: [PATCH v3 RESEND] 0/2] x86/arm64: add xenconfig

From: "Luis R. Rodriguez" <[email protected]>

Resending to the maintainers that it was recommended to try.
Ingo, Thomas, Andrew, who should this go through? Please note
that the Kconfig maintainer is not available anymore and it
was recommended this go through that person first, meanwhile
while that is ironed out it was suggested I try with any of
you.

Luis R. Rodriguez (2):
x86, platform, xen, kconfig: clarify kvmconfig is for kvm
x86, arm, platform, xen, kconfig: add xen defconfig helper

arch/x86/configs/xen.config | 10 ++++++++++
kernel/configs/xen.config | 26 ++++++++++++++++++++++++++
scripts/kconfig/Makefile | 7 ++++++-
3 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 arch/x86/configs/xen.config
create mode 100644 kernel/configs/xen.config

--
2.2.2


2015-02-11 00:27:48

by Luis Chamberlain

[permalink] [raw]
Subject: [PATCH v3 RESEND] 1/2] x86, platform, xen, kconfig: clarify kvmconfig is for kvm

From: "Luis R. Rodriguez" <[email protected]>

We'll be adding options for xen as well.

Cc: Josh Triplett <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: Michal Marek <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: David Vrabel <[email protected]>
Cc: Ian Campbell <[email protected]>
Cc: Konrad Rzeszutek Wilk <[email protected]>
Cc: [email protected]
Acked-by: David Rientjes <[email protected]>
Acked-by: Borislav Petkov <[email protected]>
Acked-by: Michal Marek <[email protected]>
Signed-off-by: Luis R. Rodriguez <[email protected]>
---
scripts/kconfig/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 9645c07..ff612b0 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -141,7 +141,7 @@ help:
@echo ' randconfig - New config with random answer to all options'
@echo ' listnewconfig - List new options'
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
- @echo ' kvmconfig - Enable additional options for guest kernel support'
+ @echo ' kvmconfig - Enable additional options for kvm guest kernel support'
@echo ' tinyconfig - Configure the tiniest possible kernel'

# lxdialog stuff
--
2.2.2

2015-02-11 00:30:00

by Luis Chamberlain

[permalink] [raw]
Subject: [PATCH v3 RESEND] 2/2] x86, arm, platform, xen, kconfig: add xen defconfig helper

From: "Luis R. Rodriguez" <[email protected]>

This lets you build a kernel which can support xen dom0
or xen guests by just using:

make xenconfig

on both x86 and arm64 kernels. This also splits out the
options which are available currently to be built with x86
and 'make ARCH=arm64' under a shared config.

Technically xen supports a dom0 kernel and also a guest
kernel configuration but upon review with the xen team
since we don't have many dom0 options its best to just
combine these two into one.

Cc: Josh Triplett <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: Michal Marek <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: David Vrabel <[email protected]>
Cc: Ian Campbell <[email protected]>
Cc: Konrad Rzeszutek Wilk <[email protected]>
Cc: [email protected]
Acked-by: Stefano Stabellini <[email protected]>
Acked-by: Julien Grall <[email protected]>
Acked-by: Michal Marek <[email protected]>
Reviewed-by: Josh Triplett <[email protected]>
Signed-off-by: Luis R. Rodriguez <[email protected]>
---
arch/x86/configs/xen.config | 10 ++++++++++
kernel/configs/xen.config | 26 ++++++++++++++++++++++++++
scripts/kconfig/Makefile | 5 +++++
3 files changed, 41 insertions(+)
create mode 100644 arch/x86/configs/xen.config
create mode 100644 kernel/configs/xen.config

diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config
new file mode 100644
index 0000000..fa7d214
--- /dev/null
+++ b/arch/x86/configs/xen.config
@@ -0,0 +1,10 @@
+# x86 xen specific config options
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_XEN_PVH=y
+CONFIG_XEN_MCE_LOG=y
+CONFIG_PCI_XEN=y
+CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_XEN_ACPI_PROCESSOR=m
diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
new file mode 100644
index 0000000..476fcf0
--- /dev/null
+++ b/kernel/configs/xen.config
@@ -0,0 +1,26 @@
+# generic config
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_XEN_BLKDEV_BACKEND=m
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_XEN_NETDEV_BACKEND=m
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
+CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
+CONFIG_XEN_WDT=m
+CONFIG_XEN_FBDEV_FRONTEND=y
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XEN_GNTDEV=m
+CONFIG_XEN_GRANT_DEV_ALLOC=m
+CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_PCIDEV_BACKEND=m
+CONFIG_XEN_PRIVCMD=m
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index ff612b0..f4a8f89 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -117,6 +117,10 @@ PHONY += kvmconfig
kvmconfig:
$(call mergeconfig,kvm_guest)

+PHONY += xenconfig
+xenconfig:
+ $(call mergeconfig,xen)
+
PHONY += tinyconfig
tinyconfig: allnoconfig
$(call mergeconfig,tiny)
@@ -142,6 +146,7 @@ help:
@echo ' listnewconfig - List new options'
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
@echo ' kvmconfig - Enable additional options for kvm guest kernel support'
+ @echo ' xenconfig - Enable additional options for xen dom0 and guest kernel support'
@echo ' tinyconfig - Configure the tiniest possible kernel'

# lxdialog stuff
--
2.2.2

2015-02-11 00:49:18

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH v3 RESEND] 2/2] x86, arm, platform, xen, kconfig: add xen defconfig helper

On Tue, 10 Feb 2015, Luis R. Rodriguez wrote:

> From: "Luis R. Rodriguez" <[email protected]>
>
> This lets you build a kernel which can support xen dom0
> or xen guests by just using:
>
> make xenconfig
>
> on both x86 and arm64 kernels. This also splits out the
> options which are available currently to be built with x86
> and 'make ARCH=arm64' under a shared config.
>
> Technically xen supports a dom0 kernel and also a guest
> kernel configuration but upon review with the xen team
> since we don't have many dom0 options its best to just
> combine these two into one.
>

This doesn't work because neither CONFIG_HYPERVISOR_GUEST in
arch/x86/configs/xen.config nor CONFIG_PARAVIRT in
kernel/configs/xen.config get enabled.

make kvmconfig does this appropriately.

You can test this with make {allno,def}config; make xenconfig. Notice
there's no difference with your patchset.

2015-02-11 01:08:41

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [PATCH v3 RESEND] 2/2] x86, arm, platform, xen, kconfig: add xen defconfig helper

On Tue, Feb 10, 2015 at 04:49:13PM -0800, David Rientjes wrote:
> On Tue, 10 Feb 2015, Luis R. Rodriguez wrote:
>
> > From: "Luis R. Rodriguez" <[email protected]>
> >
> > This lets you build a kernel which can support xen dom0
> > or xen guests by just using:
> >
> > make xenconfig
> >
> > on both x86 and arm64 kernels. This also splits out the
> > options which are available currently to be built with x86
> > and 'make ARCH=arm64' under a shared config.
> >
> > Technically xen supports a dom0 kernel and also a guest
> > kernel configuration but upon review with the xen team
> > since we don't have many dom0 options its best to just
> > combine these two into one.
> >
>
> This doesn't work because neither CONFIG_HYPERVISOR_GUEST in
> arch/x86/configs/xen.config nor CONFIG_PARAVIRT in
> kernel/configs/xen.config get enabled.
>
> make kvmconfig does this appropriately.
>
> You can test this with make {allno,def}config; make xenconfig. Notice
> there's no difference with your patchset.

Thanks, I'll fix.

Luis