2014-12-08 23:05:09

by Luis Chamberlain

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

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

This is based on some old set I had lying around. The virtconfig
changes I had proposed a while ago got merged and reused for
tinyconfig, this adapts my original set to use the new mergeconfig.

Not sure who's tree this should go through, last time these were
lost in space and only the non-xen things got cherry picked later,
who's tree should this go through?

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 | 6 ++++++
kernel/configs/xen.config | 32 ++++++++++++++++++++++++++++++++
scripts/kconfig/Makefile | 7 ++++++-
3 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 arch/x86/configs/xen.config
create mode 100644 kernel/configs/xen.config

--
2.1.1


2014-12-08 23:05:17

by Luis Chamberlain

[permalink] [raw]
Subject: [PATCH v3 1/2] x86, platform, 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]>
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.1.1

2014-12-08 23:05:20

by Luis Chamberlain

[permalink] [raw]
Subject: [PATCH v3 2/2] x86, arm64, 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]
Signed-off-by: Luis R. Rodriguez <[email protected]>
---
arch/x86/configs/xen.config | 6 ++++++
kernel/configs/xen.config | 32 ++++++++++++++++++++++++++++++++
scripts/kconfig/Makefile | 5 +++++
3 files changed, 43 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..b97e893
--- /dev/null
+++ b/arch/x86/configs/xen.config
@@ -0,0 +1,6 @@
+# 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
diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
new file mode 100644
index 0000000..0d0eb6d
--- /dev/null
+++ b/kernel/configs/xen.config
@@ -0,0 +1,32 @@
+# generic config
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_PCI_XEN=y
+CONFIG_XEN_PCIDEV_FRONTEND=m
+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_TCG_XEN=m
+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
+CONFIG_XEN_ACPI_PROCESSOR=m
+CONFIG_XEN_MCE_LOG=y
+CONFIG_XEN_HAVE_PVMMU=y
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.1.1

2014-12-08 23:54:06

by Josh Triplett

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

On Mon, Dec 08, 2014 at 03:04:58PM -0800, Luis R. Rodriguez wrote:
> From: "Luis R. Rodriguez" <[email protected]>
>
> This is based on some old set I had lying around. The virtconfig
> changes I had proposed a while ago got merged and reused for
> tinyconfig, this adapts my original set to use the new mergeconfig.
>
> Not sure who's tree this should go through, last time these were
> lost in space and only the non-xen things got cherry picked later,
> who's tree should this go through?
>
> Luis R. Rodriguez (2):
> x86, platform, xen, kconfig: clarify kvmconfig is for kvm
> x86, arm, platform, xen, kconfig: add xen defconfig helper

For both:
Reviewed-by: Josh Triplett <[email protected]>

> arch/x86/configs/xen.config | 6 ++++++
> kernel/configs/xen.config | 32 ++++++++++++++++++++++++++++++++
> scripts/kconfig/Makefile | 7 ++++++-
> 3 files changed, 44 insertions(+), 1 deletion(-)
> create mode 100644 arch/x86/configs/xen.config
> create mode 100644 kernel/configs/xen.config
>
> --
> 2.1.1
>

2014-12-09 09:07:05

by Julien Grall

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH v3 2/2] x86, arm64, platform, xen, kconfig: add xen defconfig helper

Hello Luis,

On 08/12/2014 23:05, Luis R. Rodriguez wrote:
> diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
> new file mode 100644
> index 0000000..0d0eb6d
> --- /dev/null
> +++ b/kernel/configs/xen.config
> +CONFIG_XEN_MCE_LOG=y

MCE is x86 specific.

> +CONFIG_XEN_HAVE_PVMMU=y

We don't have PVMMU support on ARM. Shouldn't you move this config in
architecture specific code?

Regards

--
Julien Grall

2014-12-09 17:28:16

by Borislav Petkov

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

On Mon, Dec 08, 2014 at 03:04:59PM -0800, Luis R. Rodriguez wrote:
> 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]>
> 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

Acked-by: Borislav Petkov <[email protected]>

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

2014-12-09 20:23:10

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH v3 2/2] x86, arm64, platform, xen, kconfig: add xen defconfig helper

On Tue, Dec 9, 2014 at 1:06 AM, Julien Grall <[email protected]> wrote:
> Hello Luis,
>
> On 08/12/2014 23:05, Luis R. Rodriguez wrote:
>>
>> diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
>> new file mode 100644
>> index 0000000..0d0eb6d
>> --- /dev/null
>> +++ b/kernel/configs/xen.config
>> +CONFIG_XEN_MCE_LOG=y
>
>
> MCE is x86 specific.

That's what I thought too but its available for arm64, so should we
fix that Kconfig to depend on x86?

>> +CONFIG_XEN_HAVE_PVMMU=y
>
>
> We don't have PVMMU support on ARM. Shouldn't you move this config in
> architecture specific code?

If you are sure then yes.

Luis

2014-12-09 20:23:21

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH v3 2/2] x86, arm64, platform, xen, kconfig: add xen defconfig helper

On Tue, Dec 9, 2014 at 12:22 PM, Luis R. Rodriguez
<[email protected]> wrote:
> If you are sure then yes.

Likewise here.

Luis

2014-12-09 20:37:54

by Julien Grall

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH v3 2/2] x86, arm64, platform, xen, kconfig: add xen defconfig helper

On 09/12/14 20:22, Luis R. Rodriguez wrote:
> On Tue, Dec 9, 2014 at 1:06 AM, Julien Grall <[email protected]> wrote:
>> Hello Luis,
>>
>> On 08/12/2014 23:05, Luis R. Rodriguez wrote:
>>>
>>> diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
>>> new file mode 100644
>>> index 0000000..0d0eb6d
>>> --- /dev/null
>>> +++ b/kernel/configs/xen.config
>>> +CONFIG_XEN_MCE_LOG=y
>>
>>
>> MCE is x86 specific.
>
> That's what I thought too but its available for arm64, so should we
> fix that Kconfig to depend on x86?

Are you sure? On the Linus's repo I have:

config XEN_MCE_LOG
bool "Xen platform mcelog"
depends on XEN_DOM0 && X86_64 && X86_MCE

Anyway, the MCE interface in the hypervisor is implemented in arch/x86
not in common code.

>>> +CONFIG_XEN_HAVE_PVMMU=y
>>
>>
>> We don't have PVMMU support on ARM. Shouldn't you move this config in
>> architecture specific code?
>
> If you are sure then yes.

I'm 100% sure. MMU is handled by the hardware on ARM.

Thinking a bit more about this option. CONFIG_XEN_HAVE_PVMMU can't be
selected by the user. It's automatically added per platform (for
instance see arch/x86/xen/Kconfig).

So maybe it should not even appear in the one of the fragment configs?

Regards,

--
Julien Grall

2014-12-09 23:27:24

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH v3 2/2] x86, arm64, platform, xen, kconfig: add xen defconfig helper

On Tue, Dec 9, 2014 at 12:37 PM, Julien Grall <[email protected]> wrote:
> On 09/12/14 20:22, Luis R. Rodriguez wrote:
>> On Tue, Dec 9, 2014 at 1:06 AM, Julien Grall <[email protected]> wrote:
>>> Hello Luis,
>>>
>>> On 08/12/2014 23:05, Luis R. Rodriguez wrote:
>>>>
>>>> diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config
>>>> new file mode 100644
>>>> index 0000000..0d0eb6d
>>>> --- /dev/null
>>>> +++ b/kernel/configs/xen.config
>>>> +CONFIG_XEN_MCE_LOG=y
>>>
>>>
>>> MCE is x86 specific.
>>
>> That's what I thought too but its available for arm64, so should we
>> fix that Kconfig to depend on x86?
>
> Are you sure? On the Linus's repo I have:
>
> config XEN_MCE_LOG
> bool "Xen platform mcelog"
> depends on XEN_DOM0 && X86_64 && X86_MCE
>
> Anyway, the MCE interface in the hypervisor is implemented in arch/x86
> not in common code.

OK I'll move to x86.

>>>> +CONFIG_XEN_HAVE_PVMMU=y
>>>
>>>
>>> We don't have PVMMU support on ARM. Shouldn't you move this config in
>>> architecture specific code?
>>
>> If you are sure then yes.
>
> I'm 100% sure. MMU is handled by the hardware on ARM.
>
> Thinking a bit more about this option. CONFIG_XEN_HAVE_PVMMU can't be
> selected by the user. It's automatically added per platform (for
> instance see arch/x86/xen/Kconfig).
>
> So maybe it should not even appear in the one of the fragment configs?

And I'll remove this one.

Luis