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
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
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
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
>
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
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.
--
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
On Tue, Dec 9, 2014 at 12:22 PM, Luis R. Rodriguez
<[email protected]> wrote:
> If you are sure then yes.
Likewise here.
Luis
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
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