[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCHv6] 00/28] Kconfig conversion
The following series is a follow on to the Kconfig conversion patch series. There are still more components to convert however this is the bare minimal to get everything working and get the options out of the existing makefiles. The CONFIG_HAS_ variables are there to match the behavior of the Linux CONFIG_HAVE_ variables. The purpose is to say that this hardware/profile/env supports this option while the CONFIG_ variable states that this option was requested on/off by user intervention. The UARTs are now uniformly prefixed as CONFIG_UART_ and dropping most of the CONFIG_HAS_ labeling for them. This means they are now user selectable as requested by Julien Grall in the prior review. The question I've got is the old config was just for selecting defaults. Users could enable the OMAP UART for arm64 for example but I'm not sure if that's valid. Currently this patchset makes those UARTs not user selectable if they were not previously defaulted on. But I would like some feedback on this if possible. Ultimately my goal is to allow for more parts of the hypervisor to be turned off at compile time and potentially make it easier to include more experimental features by others which can be turned off by default. Also to provide the one true location for all possible knobs in the source code. The patch series can be grabbed at: https://github.com/cardoe/xen/tree/kconfig_v6 Changes since v5: - added Andrew Cooper's Acked-by and Tested-by - rebased to resolve conflict with NUMA changes in staging (minor conflict) Changes since v4: - v4 was an oops and was a resend of v3. So the 'Changes since v3' apply here. Changes since v3: - fix dependency inversion causing options to appear to flip back on (hi kexec) - separate out wiring up Kconfig and then using it in the build (added patch 3) - dropped the old patch 3 - changed UART configs to be prefixed as CONFIG_UART_ - changed ARM UART defaults Changes since v2: - drop x86_32 support (patch 2) - fix make defconfig (patch 2) - fix 'make -C xen' vs 'cd xen && make' behaving differently (patch 2) - fix for ARM64 builds (added patch 3) - At this point all targets are tested on x86_64, arm32, and arm64 with fresh clones and rebuilds. Changes since v1: - hopefully addressed all review comments - added CCs to all maintainers from get_maintainer.pl as requested - drop Kbuild to build Kconfig and instead port the Makefile to the Xen env - add support for xconfig/gconfig - include Kconfig docs from Linux Doug Goldstein (28): build: import Kbuild/Kconfig from Linux 4.2 build: build Kconfig and config rules build: use generated Kconfig options for Xen build: convert HAS_PASSTHROUGH use to Kconfig build: convert HAS_DEVICE_TREE use to Kconfig build: convert HAS_PCI use to Kconfig build: convert HAS_NS16550 use to Kconfig build: convert HAS_IOPORTS use to Kconfig build: convert HAS_ACPI use to Kconfig build: convert HAS_VIDEO use to Kconfig build: convert HAS_VGA use to Kconfig build: convert HAS_CPUFREQ use to Kconfig build: convert HAS_GDBSX use to Kconfig build: convert HAS_PDX use to Kconfig build: convert HAS_KEXEC use to Kconfig build: convert HAS_ARM_HDLCD use to Kconfig build: convert HAS_CADENCE_UART use to Kconfig build: convert HAS_PL011 use to Kconfig build: convert HAS_EXYNOS4210 use to Kconfig build: convert HAS_OMAP use to Kconfig build: convert HAS_SCIF use to Kconfig build: convert HAS_EHCI use to Kconfig build: convert HAS_MEM_ACCESS use to Kconfig build: convert HAS_MEM_PAGING use to Kconfig build: convert HAS_MEM_SHARING use to Kconfig build: convert HAS_GICV3 use to Kconfig build: convert CONFIG_COMPAT to Kconfig build: convert kexec options to CONFIG_KEXEC .gitignore | 8 + config/arm32.mk | 5 - config/arm64.mk | 4 - config/x86_32.mk | 2 - config/x86_64.mk | 2 - docs/misc/kconfig-language.txt | 395 ++++ docs/misc/kconfig.txt | 237 +++ xen/Kconfig | 26 + xen/Makefile | 25 + xen/Rules.mk | 18 +- xen/arch/arm/Kconfig | 42 + xen/arch/arm/Makefile | 2 +- xen/arch/arm/Rules.mk | 8 - xen/arch/arm/configs/arm32_defconfig | 5 + xen/arch/arm/configs/arm64_defconfig | 3 + xen/arch/arm/vgic.c | 2 +- xen/arch/x86/Kconfig | 39 + xen/arch/x86/Rules.mk | 12 - xen/arch/x86/configs/x86_64_defconfig | 0 xen/common/Kconfig | 44 + xen/common/Makefile | 8 +- xen/common/compat/memory.c | 4 +- xen/common/domain.c | 2 +- xen/common/domctl.c | 2 +- xen/common/memory.c | 12 +- xen/common/sysctl.c | 4 +- xen/common/vm_event.c | 16 +- xen/drivers/Kconfig | 15 + xen/drivers/Makefile | 10 +- xen/drivers/acpi/Kconfig | 4 + xen/drivers/char/Kconfig | 52 + xen/drivers/char/Makefile | 14 +- xen/drivers/char/ns16550.c | 40 +- xen/drivers/cpufreq/Kconfig | 4 + xen/drivers/passthrough/Kconfig | 4 + xen/drivers/passthrough/Makefile | 4 +- xen/drivers/passthrough/arm/smmu.c | 4 - xen/drivers/passthrough/iommu.c | 4 +- xen/drivers/pci/Kconfig | 4 + xen/drivers/video/Kconfig | 13 + xen/drivers/video/Makefile | 14 +- xen/include/asm-arm/device.h | 2 +- xen/include/asm-arm/domain.h | 2 +- xen/include/asm-arm/gic.h | 4 +- xen/include/asm-arm/vgic.h | 2 +- xen/include/linux/kconfig.h | 54 + xen/include/xen/config.h | 2 + xen/include/xen/hvm/iommu.h | 2 +- xen/include/xen/iommu.h | 14 +- xen/include/xen/mem_access.h | 4 +- xen/include/xen/pdx.h | 4 +- xen/include/xen/sched.h | 4 +- xen/include/xsm/dummy.h | 14 +- xen/include/xsm/xsm.h | 28 +- xen/scripts/Makefile.host | 128 ++ xen/scripts/kconfig/.gitignore | 25 + xen/scripts/kconfig/Makefile | 77 + xen/scripts/kconfig/Makefile.linux | 317 +++ xen/scripts/kconfig/POTFILES.in | 12 + xen/scripts/kconfig/check.sh | 13 + xen/scripts/kconfig/conf.c | 722 +++++++ xen/scripts/kconfig/confdata.c | 1248 ++++++++++++ xen/scripts/kconfig/expr.c | 1206 +++++++++++ xen/scripts/kconfig/expr.h | 238 +++ xen/scripts/kconfig/gconf.c | 1521 ++++++++++++++ xen/scripts/kconfig/gconf.glade | 661 ++++++ xen/scripts/kconfig/images.c | 326 +++ xen/scripts/kconfig/kxgettext.c | 235 +++ xen/scripts/kconfig/list.h | 131 ++ xen/scripts/kconfig/lkc.h | 186 ++ xen/scripts/kconfig/lkc_proto.h | 52 + xen/scripts/kconfig/lxdialog/.gitignore | 4 + xen/scripts/kconfig/lxdialog/BIG.FAT.WARNING | 4 + xen/scripts/kconfig/lxdialog/check-lxdialog.sh | 91 + xen/scripts/kconfig/lxdialog/checklist.c | 332 +++ xen/scripts/kconfig/lxdialog/dialog.h | 257 +++ xen/scripts/kconfig/lxdialog/inputbox.c | 301 +++ xen/scripts/kconfig/lxdialog/menubox.c | 437 ++++ xen/scripts/kconfig/lxdialog/textbox.c | 408 ++++ xen/scripts/kconfig/lxdialog/util.c | 713 +++++++ xen/scripts/kconfig/lxdialog/yesno.c | 114 ++ xen/scripts/kconfig/mconf.c | 1047 ++++++++++ xen/scripts/kconfig/menu.c | 697 +++++++ xen/scripts/kconfig/merge_config.sh | 158 ++ xen/scripts/kconfig/nconf.c | 1561 ++++++++++++++ xen/scripts/kconfig/nconf.gui.c | 656 ++++++ xen/scripts/kconfig/nconf.h | 96 + xen/scripts/kconfig/qconf.cc | 1798 +++++++++++++++++ xen/scripts/kconfig/qconf.h | 338 ++++ xen/scripts/kconfig/streamline_config.pl | 647 ++++++ xen/scripts/kconfig/symbol.c | 1377 +++++++++++++ xen/scripts/kconfig/util.c | 147 ++ xen/scripts/kconfig/zconf.gperf | 48 + xen/scripts/kconfig/zconf.hash.c_shipped | 289 +++ xen/scripts/kconfig/zconf.l | 372 ++++ xen/scripts/kconfig/zconf.lex.c_shipped | 2476 +++++++++++++++++++++++ xen/scripts/kconfig/zconf.tab.c_shipped | 2580 ++++++++++++++++++++++++ xen/scripts/kconfig/zconf.y | 742 +++++++ xen/xsm/dummy.c | 10 +- xen/xsm/flask/hooks.c | 34 +- xen/xsm/xsm_core.c | 2 +- xen/xsm/xsm_policy.c | 4 +- 102 files changed, 25900 insertions(+), 187 deletions(-) create mode 100644 docs/misc/kconfig-language.txt create mode 100644 docs/misc/kconfig.txt create mode 100644 xen/Kconfig create mode 100644 xen/arch/arm/Kconfig create mode 100644 xen/arch/arm/configs/arm32_defconfig create mode 100644 xen/arch/arm/configs/arm64_defconfig create mode 100644 xen/arch/x86/Kconfig create mode 100644 xen/arch/x86/configs/x86_64_defconfig create mode 100644 xen/common/Kconfig create mode 100644 xen/drivers/Kconfig create mode 100644 xen/drivers/acpi/Kconfig create mode 100644 xen/drivers/char/Kconfig create mode 100644 xen/drivers/cpufreq/Kconfig create mode 100644 xen/drivers/passthrough/Kconfig create mode 100644 xen/drivers/pci/Kconfig create mode 100644 xen/drivers/video/Kconfig create mode 100644 xen/include/linux/kconfig.h create mode 100644 xen/scripts/Makefile.host create mode 100644 xen/scripts/kconfig/.gitignore create mode 100644 xen/scripts/kconfig/Makefile create mode 100644 xen/scripts/kconfig/Makefile.linux create mode 100644 xen/scripts/kconfig/POTFILES.in create mode 100755 xen/scripts/kconfig/check.sh create mode 100644 xen/scripts/kconfig/conf.c create mode 100644 xen/scripts/kconfig/confdata.c create mode 100644 xen/scripts/kconfig/expr.c create mode 100644 xen/scripts/kconfig/expr.h create mode 100644 xen/scripts/kconfig/gconf.c create mode 100644 xen/scripts/kconfig/gconf.glade create mode 100644 xen/scripts/kconfig/images.c create mode 100644 xen/scripts/kconfig/kxgettext.c create mode 100644 xen/scripts/kconfig/list.h create mode 100644 xen/scripts/kconfig/lkc.h create mode 100644 xen/scripts/kconfig/lkc_proto.h create mode 100644 xen/scripts/kconfig/lxdialog/.gitignore create mode 100644 xen/scripts/kconfig/lxdialog/BIG.FAT.WARNING create mode 100755 xen/scripts/kconfig/lxdialog/check-lxdialog.sh create mode 100644 xen/scripts/kconfig/lxdialog/checklist.c create mode 100644 xen/scripts/kconfig/lxdialog/dialog.h create mode 100644 xen/scripts/kconfig/lxdialog/inputbox.c create mode 100644 xen/scripts/kconfig/lxdialog/menubox.c create mode 100644 xen/scripts/kconfig/lxdialog/textbox.c create mode 100644 xen/scripts/kconfig/lxdialog/util.c create mode 100644 xen/scripts/kconfig/lxdialog/yesno.c create mode 100644 xen/scripts/kconfig/mconf.c create mode 100644 xen/scripts/kconfig/menu.c create mode 100755 xen/scripts/kconfig/merge_config.sh create mode 100644 xen/scripts/kconfig/nconf.c create mode 100644 xen/scripts/kconfig/nconf.gui.c create mode 100644 xen/scripts/kconfig/nconf.h create mode 100644 xen/scripts/kconfig/qconf.cc create mode 100644 xen/scripts/kconfig/qconf.h create mode 100755 xen/scripts/kconfig/streamline_config.pl create mode 100644 xen/scripts/kconfig/symbol.c create mode 100644 xen/scripts/kconfig/util.c create mode 100644 xen/scripts/kconfig/zconf.gperf create mode 100644 xen/scripts/kconfig/zconf.hash.c_shipped create mode 100644 xen/scripts/kconfig/zconf.l create mode 100644 xen/scripts/kconfig/zconf.lex.c_shipped create mode 100644 xen/scripts/kconfig/zconf.tab.c_shipped create mode 100644 xen/scripts/kconfig/zconf.y -- 2.4.10 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |