* [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
* 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
* [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
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.