All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/3] xen: Break Xen kernel config into two parts: dom0 / guest.
@ 2014-02-12  2:45 Philip Tricca
  2014-02-12  2:45 ` [RFC 1/3] xen: Create structure necessary to break Xen kernel config into " Philip Tricca
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Philip Tricca @ 2014-02-12  2:45 UTC (permalink / raw)
  To: meta-virtualization

Kernel configs for Xen VMs are often very different depending on their
purpose. Dom0 and guest VMs are the most obvious lines to divide the
config space on. This small patch set is an RFC to to get opinions on:
1) whether this is desired
2) whether or not the proposed approach is acceptable

I've broken the 'xen' distro feature up into two parts, one for dom0
the other for guest VMs. In the first patch the configs are functionally
equivalent but some structure is presented for splitting the two up
where desired in the future. The second patch splits the Xen PCI device
passthrough config options between those that make sense for dom0 and
those that make sense fo guest VMs.

Let me know what you all think.

Regards,
Philip

Philip Tricca (3):
  xen: Create structure necessary to break Xen kernel config into dom0
    / guest.
  xen: Split Xen PCI kernel config into dom0 / guest VM.
  xen: Remove pciback kernel module from xen-image-minimal.

 recipes-extended/images/xen-image-minimal.bb    |    1 -
 recipes-kernel/linux/linux-yocto/xen-common.cfg |   51 +++++++++++++++++++++
 recipes-kernel/linux/linux-yocto/xen-dom0.cfg   |    2 +
 recipes-kernel/linux/linux-yocto/xen-dom0.scc   |    5 +++
 recipes-kernel/linux/linux-yocto/xen-guest.cfg  |    2 +
 recipes-kernel/linux/linux-yocto/xen-guest.scc  |    5 +++
 recipes-kernel/linux/linux-yocto/xen.cfg        |   54 -----------------------
 recipes-kernel/linux/linux-yocto/xen.scc        |    4 --
 recipes-kernel/linux/linux-yocto_3.10.bbappend  |    6 ++-
 9 files changed, 70 insertions(+), 60 deletions(-)
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-common.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.scc
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.scc
 delete mode 100644 recipes-kernel/linux/linux-yocto/xen.cfg
 delete mode 100644 recipes-kernel/linux/linux-yocto/xen.scc

-- 
1.7.10.4



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [RFC 1/3] xen: Create structure necessary to break Xen kernel config into dom0 / guest.
  2014-02-12  2:45 [RFC 0/3] xen: Break Xen kernel config into two parts: dom0 / guest Philip Tricca
@ 2014-02-12  2:45 ` Philip Tricca
  2014-02-12 15:40   ` Bruce Ashfield
  2014-02-12  2:45 ` [RFC 2/3] xen: Split Xen PCI kernel config into dom0 / guest VM Philip Tricca
  2014-02-12  2:45 ` [RFC 3/3] xen: Remove pciback kernel module from xen-image-minimal Philip Tricca
  2 siblings, 1 reply; 6+ messages in thread
From: Philip Tricca @ 2014-02-12  2:45 UTC (permalink / raw)
  To: meta-virtualization

For now the config remains the same for both dom0 and guest
DISTRO_FEATURES. This work provides the structure for migrating
config options into the two different distro features as the need
arises.

Signed-off-by: Philip Tricca <flihp@twobit.us>

 create mode 100644 recipes-kernel/linux/linux-yocto/xen-common.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.scc
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.cfg
 create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.scc
 delete mode 100644 recipes-kernel/linux/linux-yocto/xen.cfg
 delete mode 100644 recipes-kernel/linux/linux-yocto/xen.scc

diff --git a/recipes-kernel/linux/linux-yocto/xen-common.cfg b/recipes-kernel/linux/linux-yocto/xen-common.cfg
new file mode 100644
index 0000000..4e796b9
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto/xen-common.cfg
@@ -0,0 +1,54 @@
+###
+# linux 3.4, 3.8
+CONFIG_PARAVIRT_GUEST=y
+###
+
+###
+# linux 3.10
+CONFIG_HYPERVISOR_GUEST=y
+###
+
+CONFIG_PARAVIRT=y
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN_PRIVILEGED_GUEST=y
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_SAVE_RESTORE=y
+CONFIG_PARAVIRT_CLOCK=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_PCI_XEN=y
+CONFIG_XEN_PCIDEV_FRONTEND=y
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_XEN_BLKDEV_FRONTEND=y
+CONFIG_XEN_BLKDEV_BACKEND=m
+CONFIG_XEN_NETDEV_FRONTEND=y
+CONFIG_XEN_NETDEV_BACKEND=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
+CONFIG_XEN_WDT=m
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_XEN_FBDEV_FRONTEND=y
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=y
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=y
+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=y
+CONFIG_XEN_ACPI_PROCESSOR=m
+CONFIG_XEN_MCE_LOG=y
+CONFIG_XEN_HAVE_PVMMU=y
diff --git a/recipes-kernel/linux/linux-yocto/xen-dom0.cfg b/recipes-kernel/linux/linux-yocto/xen-dom0.cfg
new file mode 100644
index 0000000..e69de29
diff --git a/recipes-kernel/linux/linux-yocto/xen-dom0.scc b/recipes-kernel/linux/linux-yocto/xen-dom0.scc
new file mode 100644
index 0000000..a84b0cb
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto/xen-dom0.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Xen dom0 Kernel Support"
+define KFEATURE_COMPATIBILITY arch
+
+kconf non-hardware xen-common.cfg
+kconf non-hardware xen-dom0.cfg
diff --git a/recipes-kernel/linux/linux-yocto/xen-guest.cfg b/recipes-kernel/linux/linux-yocto/xen-guest.cfg
new file mode 100644
index 0000000..e69de29
diff --git a/recipes-kernel/linux/linux-yocto/xen-guest.scc b/recipes-kernel/linux/linux-yocto/xen-guest.scc
new file mode 100644
index 0000000..0edba0c
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto/xen-guest.scc
@@ -0,0 +1,5 @@
+define KFEATURE_DESCRIPTION "Xen Guest Kernel Support"
+define KFEATURE_COMPATIBILITY arch
+
+kconf non-hardware xen-common.cfg
+kconf non-hardware xen-guest.cfg
diff --git a/recipes-kernel/linux/linux-yocto/xen.cfg b/recipes-kernel/linux/linux-yocto/xen.cfg
deleted file mode 100644
index 4e796b9..0000000
--- a/recipes-kernel/linux/linux-yocto/xen.cfg
+++ /dev/null
@@ -1,54 +0,0 @@
-###
-# linux 3.4, 3.8
-CONFIG_PARAVIRT_GUEST=y
-###
-
-###
-# linux 3.10
-CONFIG_HYPERVISOR_GUEST=y
-###
-
-CONFIG_PARAVIRT=y
-CONFIG_XEN=y
-CONFIG_XEN_DOM0=y
-CONFIG_XEN_PRIVILEGED_GUEST=y
-CONFIG_XEN_PVHVM=y
-CONFIG_XEN_MAX_DOMAIN_MEMORY=500
-CONFIG_XEN_SAVE_RESTORE=y
-CONFIG_PARAVIRT_CLOCK=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_PCI_XEN=y
-CONFIG_XEN_PCIDEV_FRONTEND=y
-CONFIG_SYS_HYPERVISOR=y
-CONFIG_XEN_BLKDEV_FRONTEND=y
-CONFIG_XEN_BLKDEV_BACKEND=m
-CONFIG_XEN_NETDEV_FRONTEND=y
-CONFIG_XEN_NETDEV_BACKEND=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
-CONFIG_HVC_IRQ=y
-CONFIG_HVC_XEN=y
-CONFIG_HVC_XEN_FRONTEND=y
-CONFIG_XEN_WDT=m
-CONFIG_FB_SYS_FILLRECT=y
-CONFIG_FB_SYS_COPYAREA=y
-CONFIG_FB_SYS_IMAGEBLIT=y
-CONFIG_FB_SYS_FOPS=y
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_XEN_FBDEV_FRONTEND=y
-CONFIG_XEN_BALLOON=y
-CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_XEN_DEV_EVTCHN=y
-CONFIG_XEN_BACKEND=y
-CONFIG_XENFS=y
-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=y
-CONFIG_XEN_ACPI_PROCESSOR=m
-CONFIG_XEN_MCE_LOG=y
-CONFIG_XEN_HAVE_PVMMU=y
diff --git a/recipes-kernel/linux/linux-yocto/xen.scc b/recipes-kernel/linux/linux-yocto/xen.scc
deleted file mode 100644
index b588e5d..0000000
--- a/recipes-kernel/linux/linux-yocto/xen.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Xen Kernel Support"
-define KFEATURE_COMPATIBILITY arch
-
-kconf non-hardware xen.cfg
diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend
index c029c05..e4ae462 100644
--- a/recipes-kernel/linux/linux-yocto_3.10.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend
@@ -16,4 +16,8 @@ module_autoload_kvm-intel = "kvm-intel"
 KERNEL_FEATURES_append += "${@base_contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
 
 # xen kernel support
-SRC_URI += "${@base_contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
+SRC_URI += " \
+    ${@base_contains('DISTRO_FEATURES', 'xen-dom0', ' file://xen-dom0.scc', '', d)} \
+    ${@base_contains('DISTRO_FEATURES', 'xen-guest', ' file://xen-guest.scc', '', d)} \
+"
+
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [RFC 2/3] xen: Split Xen PCI kernel config into dom0 / guest VM.
  2014-02-12  2:45 [RFC 0/3] xen: Break Xen kernel config into two parts: dom0 / guest Philip Tricca
  2014-02-12  2:45 ` [RFC 1/3] xen: Create structure necessary to break Xen kernel config into " Philip Tricca
@ 2014-02-12  2:45 ` Philip Tricca
  2014-02-12  2:45 ` [RFC 3/3] xen: Remove pciback kernel module from xen-image-minimal Philip Tricca
  2 siblings, 0 replies; 6+ messages in thread
From: Philip Tricca @ 2014-02-12  2:45 UTC (permalink / raw)
  To: meta-virtualization

Dom0 kernel builds the PCI backend drive in directly and omits the
frontend driver (what would be its backend?). The guest kernel builds
the frontend in and the backend gets built as a module.

Signed-off-by: Philip Tricca <flihp@twobit.us>

diff --git a/recipes-kernel/linux/linux-yocto/xen-common.cfg b/recipes-kernel/linux/linux-yocto/xen-common.cfg
index 4e796b9..56ab040 100644
--- a/recipes-kernel/linux/linux-yocto/xen-common.cfg
+++ b/recipes-kernel/linux/linux-yocto/xen-common.cfg
@@ -17,8 +17,6 @@ CONFIG_XEN_MAX_DOMAIN_MEMORY=500
 CONFIG_XEN_SAVE_RESTORE=y
 CONFIG_PARAVIRT_CLOCK=y
 CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_PCI_XEN=y
-CONFIG_XEN_PCIDEV_FRONTEND=y
 CONFIG_SYS_HYPERVISOR=y
 CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_BACKEND=m
@@ -47,7 +45,6 @@ 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=y
 CONFIG_XEN_ACPI_PROCESSOR=m
 CONFIG_XEN_MCE_LOG=y
diff --git a/recipes-kernel/linux/linux-yocto/xen-dom0.cfg b/recipes-kernel/linux/linux-yocto/xen-dom0.cfg
index e69de29..422b769 100644
--- a/recipes-kernel/linux/linux-yocto/xen-dom0.cfg
+++ b/recipes-kernel/linux/linux-yocto/xen-dom0.cfg
@@ -0,0 +1,2 @@
+CONFIG_XEN_PCIDEV_BACKEND=y
+CONFIG_XEN_PCIDEV_FRONTEND=n
diff --git a/recipes-kernel/linux/linux-yocto/xen-guest.cfg b/recipes-kernel/linux/linux-yocto/xen-guest.cfg
index e69de29..edf1748 100644
--- a/recipes-kernel/linux/linux-yocto/xen-guest.cfg
+++ b/recipes-kernel/linux/linux-yocto/xen-guest.cfg
@@ -0,0 +1,2 @@
+CONFIG_XEN_PCIDEV_BACKEND=m
+CONFIG_XEN_PCIDEV_FRONTEND=y
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [RFC 3/3] xen: Remove pciback kernel module from xen-image-minimal.
  2014-02-12  2:45 [RFC 0/3] xen: Break Xen kernel config into two parts: dom0 / guest Philip Tricca
  2014-02-12  2:45 ` [RFC 1/3] xen: Create structure necessary to break Xen kernel config into " Philip Tricca
  2014-02-12  2:45 ` [RFC 2/3] xen: Split Xen PCI kernel config into dom0 / guest VM Philip Tricca
@ 2014-02-12  2:45 ` Philip Tricca
  2 siblings, 0 replies; 6+ messages in thread
From: Philip Tricca @ 2014-02-12  2:45 UTC (permalink / raw)
  To: meta-virtualization

The expectation is that this image would be built with the xen-dom0
distro feature and the pciback driver would be built into the kernel
as a result.

Signed-off-by: Philip Tricca <flihp@twobit.us>

diff --git a/recipes-extended/images/xen-image-minimal.bb b/recipes-extended/images/xen-image-minimal.bb
index 13917c5..81e40ed 100644
--- a/recipes-extended/images/xen-image-minimal.bb
+++ b/recipes-extended/images/xen-image-minimal.bb
@@ -10,7 +10,6 @@ IMAGE_INSTALL += " \
     kernel-module-xen-gntalloc \
     kernel-module-xen-gntdev \
     kernel-module-xen-netback \
-    kernel-module-xen-pciback \
     kernel-module-xen-wdt \
     xen-base \
     xen-qemu \
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [RFC 1/3] xen: Create structure necessary to break Xen kernel config into dom0 / guest.
  2014-02-12  2:45 ` [RFC 1/3] xen: Create structure necessary to break Xen kernel config into " Philip Tricca
@ 2014-02-12 15:40   ` Bruce Ashfield
  2014-02-12 22:12     ` Philip Tricca
  0 siblings, 1 reply; 6+ messages in thread
From: Bruce Ashfield @ 2014-02-12 15:40 UTC (permalink / raw)
  To: Philip Tricca; +Cc: meta-virtualization@yoctoproject.org

On Tue, Feb 11, 2014 at 9:45 PM, Philip Tricca <flihp@twobit.us> wrote:
> For now the config remains the same for both dom0 and guest
> DISTRO_FEATURES. This work provides the structure for migrating
> config options into the two different distro features as the need
> arises.

I have a similar split for KVM hosts and guests, the options are largely
the same, but the flexibility is maintained for cases where they really
do need to differ.

But here's a more general question, rather than having to trigger on
distro features, why not separate the differences based on different machines ?
(maybe that is what you are already doing, and I'm missing it).

i.e. for a KVM host, I use the "native" BSP + some kernel options. For the
KVM guest, I have a x86-kvm-guest BSP that encapsulates the options
and userspace that we want.

The kernel configurations and other changes you have here would be the
same, but just with a different separation mechanism.

Cheers,

Bruce

>
> Signed-off-by: Philip Tricca <flihp@twobit.us>
>
>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-common.cfg
>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.cfg
>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.scc
>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.cfg
>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.scc
>  delete mode 100644 recipes-kernel/linux/linux-yocto/xen.cfg
>  delete mode 100644 recipes-kernel/linux/linux-yocto/xen.scc
>
> diff --git a/recipes-kernel/linux/linux-yocto/xen-common.cfg b/recipes-kernel/linux/linux-yocto/xen-common.cfg
> new file mode 100644
> index 0000000..4e796b9
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-yocto/xen-common.cfg
> @@ -0,0 +1,54 @@
> +###
> +# linux 3.4, 3.8
> +CONFIG_PARAVIRT_GUEST=y
> +###
> +
> +###
> +# linux 3.10
> +CONFIG_HYPERVISOR_GUEST=y
> +###
> +
> +CONFIG_PARAVIRT=y
> +CONFIG_XEN=y
> +CONFIG_XEN_DOM0=y
> +CONFIG_XEN_PRIVILEGED_GUEST=y
> +CONFIG_XEN_PVHVM=y
> +CONFIG_XEN_MAX_DOMAIN_MEMORY=500
> +CONFIG_XEN_SAVE_RESTORE=y
> +CONFIG_PARAVIRT_CLOCK=y
> +CONFIG_HIBERNATE_CALLBACKS=y
> +CONFIG_PCI_XEN=y
> +CONFIG_XEN_PCIDEV_FRONTEND=y
> +CONFIG_SYS_HYPERVISOR=y
> +CONFIG_XEN_BLKDEV_FRONTEND=y
> +CONFIG_XEN_BLKDEV_BACKEND=m
> +CONFIG_XEN_NETDEV_FRONTEND=y
> +CONFIG_XEN_NETDEV_BACKEND=m
> +CONFIG_INPUT_MISC=y
> +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
> +CONFIG_HVC_IRQ=y
> +CONFIG_HVC_XEN=y
> +CONFIG_HVC_XEN_FRONTEND=y
> +CONFIG_XEN_WDT=m
> +CONFIG_FB_SYS_FILLRECT=y
> +CONFIG_FB_SYS_COPYAREA=y
> +CONFIG_FB_SYS_IMAGEBLIT=y
> +CONFIG_FB_SYS_FOPS=y
> +CONFIG_FB_DEFERRED_IO=y
> +CONFIG_XEN_FBDEV_FRONTEND=y
> +CONFIG_XEN_BALLOON=y
> +CONFIG_XEN_SCRUB_PAGES=y
> +CONFIG_XEN_DEV_EVTCHN=y
> +CONFIG_XEN_BACKEND=y
> +CONFIG_XENFS=y
> +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=y
> +CONFIG_XEN_ACPI_PROCESSOR=m
> +CONFIG_XEN_MCE_LOG=y
> +CONFIG_XEN_HAVE_PVMMU=y
> diff --git a/recipes-kernel/linux/linux-yocto/xen-dom0.cfg b/recipes-kernel/linux/linux-yocto/xen-dom0.cfg
> new file mode 100644
> index 0000000..e69de29
> diff --git a/recipes-kernel/linux/linux-yocto/xen-dom0.scc b/recipes-kernel/linux/linux-yocto/xen-dom0.scc
> new file mode 100644
> index 0000000..a84b0cb
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-yocto/xen-dom0.scc
> @@ -0,0 +1,5 @@
> +define KFEATURE_DESCRIPTION "Xen dom0 Kernel Support"
> +define KFEATURE_COMPATIBILITY arch
> +
> +kconf non-hardware xen-common.cfg
> +kconf non-hardware xen-dom0.cfg
> diff --git a/recipes-kernel/linux/linux-yocto/xen-guest.cfg b/recipes-kernel/linux/linux-yocto/xen-guest.cfg
> new file mode 100644
> index 0000000..e69de29
> diff --git a/recipes-kernel/linux/linux-yocto/xen-guest.scc b/recipes-kernel/linux/linux-yocto/xen-guest.scc
> new file mode 100644
> index 0000000..0edba0c
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-yocto/xen-guest.scc
> @@ -0,0 +1,5 @@
> +define KFEATURE_DESCRIPTION "Xen Guest Kernel Support"
> +define KFEATURE_COMPATIBILITY arch
> +
> +kconf non-hardware xen-common.cfg
> +kconf non-hardware xen-guest.cfg
> diff --git a/recipes-kernel/linux/linux-yocto/xen.cfg b/recipes-kernel/linux/linux-yocto/xen.cfg
> deleted file mode 100644
> index 4e796b9..0000000
> --- a/recipes-kernel/linux/linux-yocto/xen.cfg
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -###
> -# linux 3.4, 3.8
> -CONFIG_PARAVIRT_GUEST=y
> -###
> -
> -###
> -# linux 3.10
> -CONFIG_HYPERVISOR_GUEST=y
> -###
> -
> -CONFIG_PARAVIRT=y
> -CONFIG_XEN=y
> -CONFIG_XEN_DOM0=y
> -CONFIG_XEN_PRIVILEGED_GUEST=y
> -CONFIG_XEN_PVHVM=y
> -CONFIG_XEN_MAX_DOMAIN_MEMORY=500
> -CONFIG_XEN_SAVE_RESTORE=y
> -CONFIG_PARAVIRT_CLOCK=y
> -CONFIG_HIBERNATE_CALLBACKS=y
> -CONFIG_PCI_XEN=y
> -CONFIG_XEN_PCIDEV_FRONTEND=y
> -CONFIG_SYS_HYPERVISOR=y
> -CONFIG_XEN_BLKDEV_FRONTEND=y
> -CONFIG_XEN_BLKDEV_BACKEND=m
> -CONFIG_XEN_NETDEV_FRONTEND=y
> -CONFIG_XEN_NETDEV_BACKEND=m
> -CONFIG_INPUT_MISC=y
> -CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
> -CONFIG_HVC_IRQ=y
> -CONFIG_HVC_XEN=y
> -CONFIG_HVC_XEN_FRONTEND=y
> -CONFIG_XEN_WDT=m
> -CONFIG_FB_SYS_FILLRECT=y
> -CONFIG_FB_SYS_COPYAREA=y
> -CONFIG_FB_SYS_IMAGEBLIT=y
> -CONFIG_FB_SYS_FOPS=y
> -CONFIG_FB_DEFERRED_IO=y
> -CONFIG_XEN_FBDEV_FRONTEND=y
> -CONFIG_XEN_BALLOON=y
> -CONFIG_XEN_SCRUB_PAGES=y
> -CONFIG_XEN_DEV_EVTCHN=y
> -CONFIG_XEN_BACKEND=y
> -CONFIG_XENFS=y
> -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=y
> -CONFIG_XEN_ACPI_PROCESSOR=m
> -CONFIG_XEN_MCE_LOG=y
> -CONFIG_XEN_HAVE_PVMMU=y
> diff --git a/recipes-kernel/linux/linux-yocto/xen.scc b/recipes-kernel/linux/linux-yocto/xen.scc
> deleted file mode 100644
> index b588e5d..0000000
> --- a/recipes-kernel/linux/linux-yocto/xen.scc
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -define KFEATURE_DESCRIPTION "Xen Kernel Support"
> -define KFEATURE_COMPATIBILITY arch
> -
> -kconf non-hardware xen.cfg
> diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend
> index c029c05..e4ae462 100644
> --- a/recipes-kernel/linux/linux-yocto_3.10.bbappend
> +++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend
> @@ -16,4 +16,8 @@ module_autoload_kvm-intel = "kvm-intel"
>  KERNEL_FEATURES_append += "${@base_contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
>
>  # xen kernel support
> -SRC_URI += "${@base_contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
> +SRC_URI += " \
> +    ${@base_contains('DISTRO_FEATURES', 'xen-dom0', ' file://xen-dom0.scc', '', d)} \
> +    ${@base_contains('DISTRO_FEATURES', 'xen-guest', ' file://xen-guest.scc', '', d)} \
> +"
> +
> --
> 1.7.10.4
>
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC 1/3] xen: Create structure necessary to break Xen kernel config into dom0 / guest.
  2014-02-12 15:40   ` Bruce Ashfield
@ 2014-02-12 22:12     ` Philip Tricca
  0 siblings, 0 replies; 6+ messages in thread
From: Philip Tricca @ 2014-02-12 22:12 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: meta-virtualization@yoctoproject.org

On 02/12/2014 10:40 AM, Bruce Ashfield wrote:
> On Tue, Feb 11, 2014 at 9:45 PM, Philip Tricca <flihp@twobit.us> wrote:
>> For now the config remains the same for both dom0 and guest
>> DISTRO_FEATURES. This work provides the structure for migrating
>> config options into the two different distro features as the need
>> arises.
> 
> I have a similar split for KVM hosts and guests, the options are largely
> the same, but the flexibility is maintained for cases where they really
> do need to differ.
> 
> But here's a more general question, rather than having to trigger on
> distro features, why not separate the differences based on different machines ?
> (maybe that is what you are already doing, and I'm missing it).

No you're spot-on, didn't miss a thing.

> i.e. for a KVM host, I use the "native" BSP + some kernel options. For the
> KVM guest, I have a x86-kvm-guest BSP that encapsulates the options
> and userspace that we want.
> 
> The kernel configurations and other changes you have here would be the
> same, but just with a different separation mechanism.

This sounds like a great suggestion. I'll take a look at what you all
have done with KVM. It does sound like a better fit. I'll send out a v2
once I've got my head around using the machine mechanisms.

Thanks,
Philip

>> Signed-off-by: Philip Tricca <flihp@twobit.us>
>>
>>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-common.cfg
>>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.cfg
>>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-dom0.scc
>>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.cfg
>>  create mode 100644 recipes-kernel/linux/linux-yocto/xen-guest.scc
>>  delete mode 100644 recipes-kernel/linux/linux-yocto/xen.cfg
>>  delete mode 100644 recipes-kernel/linux/linux-yocto/xen.scc
>>
>> diff --git a/recipes-kernel/linux/linux-yocto/xen-common.cfg b/recipes-kernel/linux/linux-yocto/xen-common.cfg
>> new file mode 100644
>> index 0000000..4e796b9
>> --- /dev/null
>> +++ b/recipes-kernel/linux/linux-yocto/xen-common.cfg
>> @@ -0,0 +1,54 @@
>> +###
>> +# linux 3.4, 3.8
>> +CONFIG_PARAVIRT_GUEST=y
>> +###
>> +
>> +###
>> +# linux 3.10
>> +CONFIG_HYPERVISOR_GUEST=y
>> +###
>> +
>> +CONFIG_PARAVIRT=y
>> +CONFIG_XEN=y
>> +CONFIG_XEN_DOM0=y
>> +CONFIG_XEN_PRIVILEGED_GUEST=y
>> +CONFIG_XEN_PVHVM=y
>> +CONFIG_XEN_MAX_DOMAIN_MEMORY=500
>> +CONFIG_XEN_SAVE_RESTORE=y
>> +CONFIG_PARAVIRT_CLOCK=y
>> +CONFIG_HIBERNATE_CALLBACKS=y
>> +CONFIG_PCI_XEN=y
>> +CONFIG_XEN_PCIDEV_FRONTEND=y
>> +CONFIG_SYS_HYPERVISOR=y
>> +CONFIG_XEN_BLKDEV_FRONTEND=y
>> +CONFIG_XEN_BLKDEV_BACKEND=m
>> +CONFIG_XEN_NETDEV_FRONTEND=y
>> +CONFIG_XEN_NETDEV_BACKEND=m
>> +CONFIG_INPUT_MISC=y
>> +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
>> +CONFIG_HVC_IRQ=y
>> +CONFIG_HVC_XEN=y
>> +CONFIG_HVC_XEN_FRONTEND=y
>> +CONFIG_XEN_WDT=m
>> +CONFIG_FB_SYS_FILLRECT=y
>> +CONFIG_FB_SYS_COPYAREA=y
>> +CONFIG_FB_SYS_IMAGEBLIT=y
>> +CONFIG_FB_SYS_FOPS=y
>> +CONFIG_FB_DEFERRED_IO=y
>> +CONFIG_XEN_FBDEV_FRONTEND=y
>> +CONFIG_XEN_BALLOON=y
>> +CONFIG_XEN_SCRUB_PAGES=y
>> +CONFIG_XEN_DEV_EVTCHN=y
>> +CONFIG_XEN_BACKEND=y
>> +CONFIG_XENFS=y
>> +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=y
>> +CONFIG_XEN_ACPI_PROCESSOR=m
>> +CONFIG_XEN_MCE_LOG=y
>> +CONFIG_XEN_HAVE_PVMMU=y
>> diff --git a/recipes-kernel/linux/linux-yocto/xen-dom0.cfg b/recipes-kernel/linux/linux-yocto/xen-dom0.cfg
>> new file mode 100644
>> index 0000000..e69de29
>> diff --git a/recipes-kernel/linux/linux-yocto/xen-dom0.scc b/recipes-kernel/linux/linux-yocto/xen-dom0.scc
>> new file mode 100644
>> index 0000000..a84b0cb
>> --- /dev/null
>> +++ b/recipes-kernel/linux/linux-yocto/xen-dom0.scc
>> @@ -0,0 +1,5 @@
>> +define KFEATURE_DESCRIPTION "Xen dom0 Kernel Support"
>> +define KFEATURE_COMPATIBILITY arch
>> +
>> +kconf non-hardware xen-common.cfg
>> +kconf non-hardware xen-dom0.cfg
>> diff --git a/recipes-kernel/linux/linux-yocto/xen-guest.cfg b/recipes-kernel/linux/linux-yocto/xen-guest.cfg
>> new file mode 100644
>> index 0000000..e69de29
>> diff --git a/recipes-kernel/linux/linux-yocto/xen-guest.scc b/recipes-kernel/linux/linux-yocto/xen-guest.scc
>> new file mode 100644
>> index 0000000..0edba0c
>> --- /dev/null
>> +++ b/recipes-kernel/linux/linux-yocto/xen-guest.scc
>> @@ -0,0 +1,5 @@
>> +define KFEATURE_DESCRIPTION "Xen Guest Kernel Support"
>> +define KFEATURE_COMPATIBILITY arch
>> +
>> +kconf non-hardware xen-common.cfg
>> +kconf non-hardware xen-guest.cfg
>> diff --git a/recipes-kernel/linux/linux-yocto/xen.cfg b/recipes-kernel/linux/linux-yocto/xen.cfg
>> deleted file mode 100644
>> index 4e796b9..0000000
>> --- a/recipes-kernel/linux/linux-yocto/xen.cfg
>> +++ /dev/null
>> @@ -1,54 +0,0 @@
>> -###
>> -# linux 3.4, 3.8
>> -CONFIG_PARAVIRT_GUEST=y
>> -###
>> -
>> -###
>> -# linux 3.10
>> -CONFIG_HYPERVISOR_GUEST=y
>> -###
>> -
>> -CONFIG_PARAVIRT=y
>> -CONFIG_XEN=y
>> -CONFIG_XEN_DOM0=y
>> -CONFIG_XEN_PRIVILEGED_GUEST=y
>> -CONFIG_XEN_PVHVM=y
>> -CONFIG_XEN_MAX_DOMAIN_MEMORY=500
>> -CONFIG_XEN_SAVE_RESTORE=y
>> -CONFIG_PARAVIRT_CLOCK=y
>> -CONFIG_HIBERNATE_CALLBACKS=y
>> -CONFIG_PCI_XEN=y
>> -CONFIG_XEN_PCIDEV_FRONTEND=y
>> -CONFIG_SYS_HYPERVISOR=y
>> -CONFIG_XEN_BLKDEV_FRONTEND=y
>> -CONFIG_XEN_BLKDEV_BACKEND=m
>> -CONFIG_XEN_NETDEV_FRONTEND=y
>> -CONFIG_XEN_NETDEV_BACKEND=m
>> -CONFIG_INPUT_MISC=y
>> -CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
>> -CONFIG_HVC_IRQ=y
>> -CONFIG_HVC_XEN=y
>> -CONFIG_HVC_XEN_FRONTEND=y
>> -CONFIG_XEN_WDT=m
>> -CONFIG_FB_SYS_FILLRECT=y
>> -CONFIG_FB_SYS_COPYAREA=y
>> -CONFIG_FB_SYS_IMAGEBLIT=y
>> -CONFIG_FB_SYS_FOPS=y
>> -CONFIG_FB_DEFERRED_IO=y
>> -CONFIG_XEN_FBDEV_FRONTEND=y
>> -CONFIG_XEN_BALLOON=y
>> -CONFIG_XEN_SCRUB_PAGES=y
>> -CONFIG_XEN_DEV_EVTCHN=y
>> -CONFIG_XEN_BACKEND=y
>> -CONFIG_XENFS=y
>> -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=y
>> -CONFIG_XEN_ACPI_PROCESSOR=m
>> -CONFIG_XEN_MCE_LOG=y
>> -CONFIG_XEN_HAVE_PVMMU=y
>> diff --git a/recipes-kernel/linux/linux-yocto/xen.scc b/recipes-kernel/linux/linux-yocto/xen.scc
>> deleted file mode 100644
>> index b588e5d..0000000
>> --- a/recipes-kernel/linux/linux-yocto/xen.scc
>> +++ /dev/null
>> @@ -1,4 +0,0 @@
>> -define KFEATURE_DESCRIPTION "Xen Kernel Support"
>> -define KFEATURE_COMPATIBILITY arch
>> -
>> -kconf non-hardware xen.cfg
>> diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend
>> index c029c05..e4ae462 100644
>> --- a/recipes-kernel/linux/linux-yocto_3.10.bbappend
>> +++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend
>> @@ -16,4 +16,8 @@ module_autoload_kvm-intel = "kvm-intel"
>>  KERNEL_FEATURES_append += "${@base_contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
>>
>>  # xen kernel support
>> -SRC_URI += "${@base_contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
>> +SRC_URI += " \
>> +    ${@base_contains('DISTRO_FEATURES', 'xen-dom0', ' file://xen-dom0.scc', '', d)} \
>> +    ${@base_contains('DISTRO_FEATURES', 'xen-guest', ' file://xen-guest.scc', '', d)} \
>> +"
>> +
>> --
>> 1.7.10.4
>>
>> _______________________________________________
>> meta-virtualization mailing list
>> meta-virtualization@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-virtualization
> 
> 
> 



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-02-12 22:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-12  2:45 [RFC 0/3] xen: Break Xen kernel config into two parts: dom0 / guest Philip Tricca
2014-02-12  2:45 ` [RFC 1/3] xen: Create structure necessary to break Xen kernel config into " Philip Tricca
2014-02-12 15:40   ` Bruce Ashfield
2014-02-12 22:12     ` Philip Tricca
2014-02-12  2:45 ` [RFC 2/3] xen: Split Xen PCI kernel config into dom0 / guest VM Philip Tricca
2014-02-12  2:45 ` [RFC 3/3] xen: Remove pciback kernel module from xen-image-minimal Philip Tricca

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.