From mboxrd@z Thu Jan 1 00:00:00 1970 From: Doug Goldstein Subject: [PATCH v8 00/28] Kconfig conversion Date: Tue, 15 Dec 2015 07:12:58 -0600 Message-ID: <1450185206-14259-1-git-send-email-cardoe@cardoe.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Doug Goldstein List-Id: xen-devel@lists.xenproject.org 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. 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_v8 Change since v7: - rebased on top of split out patches that have been merged - functionally the behavior is identical mostly comment and variable changes Change since v6: - drop UART conversion for ARM to make them selectable - update to Linux 4.3 copy of kconfig - sync entire kconfig directory from Linux (not a change but point of order) - drop changes to #endif comments that added CONFIG_ - add patch to add myself as the maintainer of kconfig bits - move xen/scripts/kconfig to xen/tools/kconfig - alphabatized entries in some cases - dropped Acked-by and Tested-by (minor changes in all to alphabatize) - added initial x86_128 support 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.3 MAINTAINERS: add myself for kconfig 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 / 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 .gitignore | 6 + MAINTAINERS | 6 + config/arm32.mk | 7 - config/arm64.mk | 6 - config/x86_32.mk | 4 - config/x86_64.mk | 5 - docs/misc/kconfig-language.txt | 395 ++++ docs/misc/kconfig.txt | 237 +++ xen/Kconfig | 24 + xen/Makefile | 28 + xen/Rules.mk | 22 +- xen/arch/arm/Kconfig | 42 + xen/arch/arm/Makefile | 2 +- xen/arch/arm/Rules.mk | 8 - xen/arch/arm/configs/arm32_defconfig | 0 xen/arch/arm/configs/arm64_defconfig | 0 xen/arch/arm/vgic.c | 2 +- xen/arch/x86/Kconfig | 38 + xen/arch/x86/Rules.mk | 12 - xen/arch/x86/configs/x86_64_defconfig | 0 xen/common/Kconfig | 47 + 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 | 58 + xen/drivers/char/Makefile | 14 +- xen/drivers/char/ns16550.c | 38 +- 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/xen/config.h | 2 + xen/include/xen/hvm/iommu.h | 2 +- xen/include/xen/iommu.h | 8 +- xen/include/xen/mem_access.h | 2 +- xen/include/xen/pdx.h | 2 +- xen/include/xen/sched.h | 4 +- xen/include/xsm/dummy.h | 10 +- xen/include/xsm/xsm.h | 24 +- xen/tools/kconfig/.gitignore | 22 + xen/tools/kconfig/Makefile | 317 ++++ xen/tools/kconfig/Makefile.host | 128 ++ xen/tools/kconfig/Makefile.kconfig | 66 + xen/tools/kconfig/POTFILES.in | 12 + xen/tools/kconfig/check.sh | 13 + xen/tools/kconfig/conf.c | 722 +++++++ xen/tools/kconfig/confdata.c | 1245 +++++++++++++ xen/tools/kconfig/expr.c | 1206 ++++++++++++ xen/tools/kconfig/expr.h | 238 +++ xen/tools/kconfig/gconf.c | 1521 +++++++++++++++ xen/tools/kconfig/gconf.glade | 661 +++++++ xen/tools/kconfig/images.c | 326 ++++ xen/tools/kconfig/kxgettext.c | 235 +++ xen/tools/kconfig/list.h | 131 ++ xen/tools/kconfig/lkc.h | 186 ++ xen/tools/kconfig/lkc_proto.h | 52 + xen/tools/kconfig/lxdialog/.gitignore | 4 + xen/tools/kconfig/lxdialog/BIG.FAT.WARNING | 4 + xen/tools/kconfig/lxdialog/check-lxdialog.sh | 91 + xen/tools/kconfig/lxdialog/checklist.c | 332 ++++ xen/tools/kconfig/lxdialog/dialog.h | 257 +++ xen/tools/kconfig/lxdialog/inputbox.c | 301 +++ xen/tools/kconfig/lxdialog/menubox.c | 437 +++++ xen/tools/kconfig/lxdialog/textbox.c | 408 ++++ xen/tools/kconfig/lxdialog/util.c | 713 +++++++ xen/tools/kconfig/lxdialog/yesno.c | 114 ++ xen/tools/kconfig/mconf.c | 1047 +++++++++++ xen/tools/kconfig/menu.c | 697 +++++++ xen/tools/kconfig/merge_config.sh | 162 ++ xen/tools/kconfig/nconf.c | 1561 ++++++++++++++++ xen/tools/kconfig/nconf.gui.c | 656 +++++++ xen/tools/kconfig/nconf.h | 96 + xen/tools/kconfig/qconf.cc | 1798 ++++++++++++++++++ xen/tools/kconfig/qconf.h | 338 ++++ xen/tools/kconfig/streamline_config.pl | 647 +++++++ xen/tools/kconfig/symbol.c | 1376 ++++++++++++++ xen/tools/kconfig/util.c | 147 ++ xen/tools/kconfig/zconf.gperf | 49 + xen/tools/kconfig/zconf.hash.c_shipped | 293 +++ xen/tools/kconfig/zconf.l | 374 ++++ xen/tools/kconfig/zconf.lex.c_shipped | 2473 ++++++++++++++++++++++++ xen/tools/kconfig/zconf.tab.c_shipped | 2580 ++++++++++++++++++++++++++ xen/tools/kconfig/zconf.y | 742 ++++++++ xen/xsm/dummy.c | 10 +- xen/xsm/flask/hooks.c | 30 +- xen/xsm/xsm_core.c | 2 +- xen/xsm/xsm_policy.c | 4 +- 102 files changed, 25833 insertions(+), 184 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/tools/kconfig/.gitignore create mode 100644 xen/tools/kconfig/Makefile create mode 100644 xen/tools/kconfig/Makefile.host create mode 100644 xen/tools/kconfig/Makefile.kconfig create mode 100644 xen/tools/kconfig/POTFILES.in create mode 100755 xen/tools/kconfig/check.sh create mode 100644 xen/tools/kconfig/conf.c create mode 100644 xen/tools/kconfig/confdata.c create mode 100644 xen/tools/kconfig/expr.c create mode 100644 xen/tools/kconfig/expr.h create mode 100644 xen/tools/kconfig/gconf.c create mode 100644 xen/tools/kconfig/gconf.glade create mode 100644 xen/tools/kconfig/images.c create mode 100644 xen/tools/kconfig/kxgettext.c create mode 100644 xen/tools/kconfig/list.h create mode 100644 xen/tools/kconfig/lkc.h create mode 100644 xen/tools/kconfig/lkc_proto.h create mode 100644 xen/tools/kconfig/lxdialog/.gitignore create mode 100644 xen/tools/kconfig/lxdialog/BIG.FAT.WARNING create mode 100755 xen/tools/kconfig/lxdialog/check-lxdialog.sh create mode 100644 xen/tools/kconfig/lxdialog/checklist.c create mode 100644 xen/tools/kconfig/lxdialog/dialog.h create mode 100644 xen/tools/kconfig/lxdialog/inputbox.c create mode 100644 xen/tools/kconfig/lxdialog/menubox.c create mode 100644 xen/tools/kconfig/lxdialog/textbox.c create mode 100644 xen/tools/kconfig/lxdialog/util.c create mode 100644 xen/tools/kconfig/lxdialog/yesno.c create mode 100644 xen/tools/kconfig/mconf.c create mode 100644 xen/tools/kconfig/menu.c create mode 100755 xen/tools/kconfig/merge_config.sh create mode 100644 xen/tools/kconfig/nconf.c create mode 100644 xen/tools/kconfig/nconf.gui.c create mode 100644 xen/tools/kconfig/nconf.h create mode 100644 xen/tools/kconfig/qconf.cc create mode 100644 xen/tools/kconfig/qconf.h create mode 100755 xen/tools/kconfig/streamline_config.pl create mode 100644 xen/tools/kconfig/symbol.c create mode 100644 xen/tools/kconfig/util.c create mode 100644 xen/tools/kconfig/zconf.gperf create mode 100644 xen/tools/kconfig/zconf.hash.c_shipped create mode 100644 xen/tools/kconfig/zconf.l create mode 100644 xen/tools/kconfig/zconf.lex.c_shipped create mode 100644 xen/tools/kconfig/zconf.tab.c_shipped create mode 100644 xen/tools/kconfig/zconf.y -- 2.4.10