From: "Luis R. Rodriguez" <mcgrof@suse.com>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
Michal Marek <mmarek@suse.cz>,
david.vrabel@citrix.com, konrad.wilk@oracle.com,
Ian.Campbell@citrix.com, xen-devel@lists.xenproject.org,
josh@joshtriplett.org, Borislav Petkov <bp@suse.de>,
penberg@kernel.org, rientjes@google.com, rdunlap@infradead.org,
levinsasha928@gmail.com, mtosatti@redhat.com,
fengguang.wu@intel.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 2/2] kconfig: add xenconfig defconfig helper
Date: Thu, 21 May 2015 20:47:05 +0200 [thread overview]
Message-ID: <20150521184705.GF23057@wotan.suse.de> (raw)
In-Reply-To: <CAK7LNAR81TscPhbZyAMBV-E8Vq5Jp_KKsrhFeZ9wi75aipCDxQ@mail.gmail.com>
On Thu, May 21, 2015 at 11:49:17PM +0900, Masahiro Yamada wrote:
> Hi,
>
> I am not familiar with xen at all, just some comments
> from the build system side.
>
>
>
> 2015-05-21 3:53 GMT+09:00 Luis R. Rodriguez <mcgrof@do-not-panic.com>:
> > From: "Luis R. Rodriguez" <mcgrof@suse.com>
> >
> > This lets you build a kernel which can support xen dom0
> > or xen guests on i386, x86-64 and arm64 by just using:
> >
> > make xenconfig
> >
> > You can start from an allnoconfig and then switch to xenconfig.
> > 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.
> >
> > A few generic notes: we enable both of these:
> >
> > CONFIG_INET=y
> > CONFIG_BINFMT_ELF=y
> >
> > although technically not required given you likely will
> > end up with a pretty useless system otherwise.
> >
> > A few architectural differences worth noting:
> >
> > $ make allnoconfig; make xenconfig > /dev/null ; \
> > grep XEN .config > 64-bit-config
> > $ make ARCH=i386 allnoconfig; make ARCH=i386 xenconfig > /dev/null; \
> > grep XEN .config > 32-bit-config
> > $ make ARCH=arm64 allnoconfig; make ARCH=arm64 xenconfig > /dev/null; \
> > grep XEN .config > arm64-config
> >
> > Since the options are already split up with a generic config and
> > architecture specific configs you anything on the x86 configs
> > are known to only work right now on x86. For instance arm64 doesn't
> > support MEMORY_HOTPLUG yet as such although we try to enabe it
> > generically arm64 doesn't have it yet, so we leave the xen
> > specific kconfig option XEN_BALLOON_MEMORY_HOTPLUG on x86's config
> > file to set expecations correctly.
> >
> > Then on x86 we have differences between i386 and x86-64. The difference
> > between 64-bit-config and 32-bit-config is you don't get XEN_MCE_LOG as
> > this is only supported on 64-bit. You also do not get on i386
> > XEN_BALLOON_MEMORY_HOTPLUG, there does not seem to be any technical
> > reasons to not allow this but I gave up after a few attempts.
> >
> > Cc: Josh Triplett <josh@joshtriplett.org>
> > Cc: Borislav Petkov <bp@suse.de>
> > Cc: Pekka Enberg <penberg@kernel.org>
> > Cc: David Rientjes <rientjes@google.com>
> > Cc: Michal Marek <mmarek@suse.cz>
> > Cc: Randy Dunlap <rdunlap@infradead.org>
> > Cc: penberg@kernel.org
> > Cc: levinsasha928@gmail.com
> > Cc: mtosatti@redhat.com
> > Cc: fengguang.wu@intel.com
> > Cc: David Vrabel <david.vrabel@citrix.com>
> > Cc: Ian Campbell <Ian.Campbell@citrix.com>
> > Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > Cc: xen-devel@lists.xenproject.org
> > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > Acked-by: Julien Grall <julien.grall@linaro.org>
> > Acked-by: Michal Marek <mmarek@suse.cz>
> > Acked-by: David Rientjes <rientjes@google.com>
> > Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> > Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
> > ---
>
> > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> > index 6950032..f52abae 100644
> > --- a/scripts/kconfig/Makefile
> > +++ b/scripts/kconfig/Makefile
> > @@ -115,6 +115,10 @@ PHONY += kvmconfig
> > kvmconfig: kvm_guest.config
> > @:
> >
> > +PHONY += xenconfig
> > +xenconfig: xen.config
> > + @:
> > +
> > PHONY += tinyconfig
> > tinyconfig:
> > $(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config
>
>
> "make xenconfig" is equivalent to "make xen.config"
> and only saves one character.
>
> Now we have only three targets for mergeconfig (tiny, kvm, xen),
> so it is OK to add this as an alias.
> But if we have more such targets, we might have
> to consider to use generic targets (*.config) at some point.
I'm frankly terrified of all these config target options growing more and
the possible large collateral of patches to Kconfig files in the future. Since
this is a small specialized group now, I think we should treat it as such but
I think what you say has good merit long run.
For now I'm more of a fan we limit what we stuff in here and if this explodes
then only have new options use the subject.config target. Thoughts?
> I do not intend to block this.
> Just take my comment with a grain of salt..
>
>
> > @@ -140,6 +144,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
>
>
> If kvmconfig and xenconfig are only available for x86,
> is it better to enclose those helps with
> ifeq ($(ARCH),x86)
> ...
> endif
That's true if kvm was only for x86 but it is not, and likewise for xen.
mcgrof@ergon ~/linux-next (git::sumadre)$ git grep "config KVM$"
arch/arm/kvm/Kconfig:config KVM
arch/arm64/kvm/Kconfig:config KVM
arch/mips/kvm/Kconfig:config KVM
arch/powerpc/kvm/Kconfig:config KVM
arch/s390/kvm/Kconfig:config KVM
arch/tile/kvm/Kconfig:config KVM
arch/x86/kvm/Kconfig:config KVM
mcgrof@ergon ~/linux-next (git::supadre)$ git grep "config XEN$"
arch/arm/Kconfig:config XEN
arch/arm64/Kconfig:config XEN
arch/x86/xen/Kconfig:config XEN
Luis
next prev parent reply other threads:[~2015-05-21 18:47 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-20 18:53 [PATCH v6 0/2] kconfig: add xenconfig Luis R. Rodriguez
2015-05-20 18:53 ` [PATCH v6 1/2] kconfig: clarify kvmconfig is for kvm Luis R. Rodriguez
2015-05-20 18:53 ` Luis R. Rodriguez
2015-05-20 18:53 ` [PATCH v6 2/2] kconfig: add xenconfig defconfig helper Luis R. Rodriguez
2015-05-20 18:53 ` Luis R. Rodriguez
2015-05-21 14:49 ` Masahiro Yamada
2015-05-21 18:47 ` Luis R. Rodriguez
2015-05-21 18:47 ` Luis R. Rodriguez [this message]
2015-05-25 1:40 ` Masahiro Yamada
2015-05-25 1:40 ` Masahiro Yamada
2015-05-21 14:49 ` Masahiro Yamada
2015-05-21 8:20 ` [PATCH v6 0/2] kconfig: add xenconfig Michal Marek
2015-05-21 18:32 ` Luis R. Rodriguez
2015-05-21 18:32 ` Luis R. Rodriguez
2015-05-28 21:50 ` Luis R. Rodriguez
2015-05-28 21:50 ` Luis R. Rodriguez
2015-06-08 23:35 ` Luis R. Rodriguez
2015-06-09 13:44 ` Konrad Rzeszutek Wilk
2015-06-15 19:07 ` Luis R. Rodriguez
2015-06-15 19:07 ` Luis R. Rodriguez
2015-06-09 13:44 ` Konrad Rzeszutek Wilk
2015-06-08 23:35 ` Luis R. Rodriguez
2015-05-21 8:20 ` Michal Marek
2015-06-16 10:10 ` David Vrabel
2015-06-16 10:10 ` [Xen-devel] " David Vrabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150521184705.GF23057@wotan.suse.de \
--to=mcgrof@suse.com \
--cc=Ian.Campbell@citrix.com \
--cc=bp@suse.de \
--cc=david.vrabel@citrix.com \
--cc=fengguang.wu@intel.com \
--cc=josh@joshtriplett.org \
--cc=konrad.wilk@oracle.com \
--cc=levinsasha928@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@do-not-panic.com \
--cc=mmarek@suse.cz \
--cc=mtosatti@redhat.com \
--cc=penberg@kernel.org \
--cc=rdunlap@infradead.org \
--cc=rientjes@google.com \
--cc=xen-devel@lists.xenproject.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.