[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 2/2] kconfig: add xenconfig defconfig helper


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@xxxxxxxxxxxxxxxx>:
> From: "Luis R. Rodriguez" <mcgrof@xxxxxxxx>
> 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:
> 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@xxxxxxxxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxx>
> Cc: Pekka Enberg <penberg@xxxxxxxxxx>
> Cc: David Rientjes <rientjes@xxxxxxxxxx>
> Cc: Michal Marek <mmarek@xxxxxxx>
> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: penberg@xxxxxxxxxx
> Cc: levinsasha928@xxxxxxxxx
> Cc: mtosatti@xxxxxxxxxx
> Cc: fengguang.wu@xxxxxxxxx
> Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
> Cc: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Acked-by: Julien Grall <julien.grall@xxxxxxxxxx>
> Acked-by: Michal Marek <mmarek@xxxxxxx>
> Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx>
> ---

> 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 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)


Best Regards
Masahiro Yamada

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.