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

[Xen-devel] [PATCH v7 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.

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_v7

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                              |    5 -
 config/arm64.mk                              |    4 -
 config/x86_32.mk                             |    2 -
 config/x86_64.mk                             |    3 -
 docs/misc/kconfig-language.txt               |  395 ++++
 docs/misc/kconfig.txt                        |  237 +++
 xen/Kconfig                                  |   24 +
 xen/Makefile                                 |   29 +
 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                         |   39 +
 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                     |   59 +
 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                    |   12 +
 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                      |   12 +-
 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           |   76 +
 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, 25847 insertions(+), 178 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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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