All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 00/28] Kconfig conversion
@ 2015-12-15 13:12 Doug Goldstein
  2015-12-15 13:12 ` [PATCH v8 01/28] build: import Kbuild/Kconfig from Linux 4.3 Doug Goldstein
                   ` (30 more replies)
  0 siblings, 31 replies; 90+ messages in thread
From: Doug Goldstein @ 2015-12-15 13:12 UTC (permalink / raw)
  To: xen-devel; +Cc: Doug Goldstein

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

^ permalink raw reply	[flat|nested] 90+ messages in thread

end of thread, other threads:[~2016-01-18 17:05 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-15 13:12 [PATCH v8 00/28] Kconfig conversion Doug Goldstein
2015-12-15 13:12 ` [PATCH v8 01/28] build: import Kbuild/Kconfig from Linux 4.3 Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 02/28] MAINTAINERS: add myself for kconfig Doug Goldstein
2015-12-15 21:58   ` Doug Goldstein
2015-12-16  7:39     ` Jan Beulich
2015-12-15 22:39   ` [PATCH] " Doug Goldstein
2015-12-16  7:27     ` Jan Beulich
2015-12-16 10:49       ` Doug Goldstein
2015-12-16 14:41         ` Doug Goldstein
2016-01-05 12:07           ` Ian Campbell
2016-01-06 13:45             ` Jan Beulich
2016-01-06 14:26               ` Tim Deegan
2016-01-06 14:40                 ` Jan Beulich
2016-01-06 14:58                   ` Ian Jackson
2016-01-06 14:42                 ` Ian Campbell
2016-01-06 15:31                 ` Lars Kurth
2016-01-06 16:30                   ` Ian Jackson
2016-01-14 17:19                     ` Lars Kurth
2016-01-14 17:24                       ` Ian Campbell
2016-01-15 15:59                         ` Ian Campbell
2016-01-15 16:17                           ` Jan Beulich
2016-01-18 17:05           ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 03/28] build: build Kconfig and config rules Doug Goldstein
2015-12-16 10:27   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 04/28] build: use generated Kconfig options for Xen Doug Goldstein
2015-12-16 10:27   ` Ian Campbell
2015-12-16 10:33   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 05/28] build: convert HAS_PASSTHROUGH use to Kconfig Doug Goldstein
2015-12-15 21:25   ` Daniel De Graaf
2015-12-16 10:34   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 06/28] build: convert HAS_DEVICE_TREE " Doug Goldstein
2015-12-15 21:25   ` Daniel De Graaf
2015-12-16 10:34   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 07/28] build: convert HAS_PCI " Doug Goldstein
2015-12-15 21:26   ` Daniel De Graaf
2015-12-15 13:13 ` [PATCH v8 08/28] build: convert HAS_NS16550 " Doug Goldstein
2015-12-16 10:34   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 09/28] build: convert HAS_IOPORTS " Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 10/28] build: convert HAS_ACPI " Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 11/28] build: convert HAS_VIDEO " Doug Goldstein
2015-12-16 10:35   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 12/28] build: convert HAS_VGA " Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 13/28] build: convert HAS_CPUFREQ " Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 14/28] build: convert HAS_GDBSX " Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 15/28] build: convert HAS_PDX " Doug Goldstein
2015-12-16 10:35   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 16/28] build: convert HAS_KEXEC / KEXEC " Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 17/28] build: convert HAS_ARM_HDLCD " Doug Goldstein
2015-12-16 10:35   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 18/28] build: convert HAS_CADENCE_UART " Doug Goldstein
2015-12-16 10:36   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 19/28] build: convert HAS_PL011 " Doug Goldstein
2015-12-16 10:36   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 20/28] build: convert HAS_EXYNOS4210 " Doug Goldstein
2015-12-16 10:36   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 21/28] build: convert HAS_OMAP " Doug Goldstein
2015-12-16 10:38   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 22/28] build: convert HAS_SCIF " Doug Goldstein
2015-12-16 10:38   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 23/28] build: convert HAS_EHCI " Doug Goldstein
2015-12-15 13:13 ` [PATCH v8 24/28] build: convert HAS_MEM_ACCESS " Doug Goldstein
2015-12-15 21:26   ` Daniel De Graaf
2015-12-16 10:38   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 25/28] build: convert HAS_MEM_PAGING " Doug Goldstein
2015-12-15 21:27   ` Daniel De Graaf
2015-12-16 10:39   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 26/28] build: convert HAS_MEM_SHARING " Doug Goldstein
2015-12-15 21:27   ` Daniel De Graaf
2015-12-15 13:13 ` [PATCH v8 27/28] build: convert HAS_GICV3 " Doug Goldstein
2015-12-16 10:39   ` Ian Campbell
2015-12-15 13:13 ` [PATCH v8 28/28] build: convert CONFIG_COMPAT " Doug Goldstein
2015-12-15 15:23   ` Jan Beulich
2015-12-16 12:00     ` [PATCH] " Doug Goldstein
2015-12-16 12:52       ` Jan Beulich
2015-12-16 17:01       ` Jan Beulich
2015-12-17 16:00         ` Doug Goldstein
2015-12-16 12:02     ` [PATCH v8 28/28] " Doug Goldstein
2015-12-16  7:37 ` [PATCH v8 00/28] Kconfig conversion Jan Beulich
2015-12-16 10:41   ` Ian Campbell
2015-12-16 14:38   ` Doug Goldstein
2015-12-16 10:33 ` Ian Campbell
2015-12-16 10:43   ` Ian Campbell
2015-12-16 11:42   ` [PATCH] squash into 'build: use generated Kconfig options for Xen' Doug Goldstein
2015-12-16 11:55     ` Ian Campbell
2015-12-16 11:49   ` [PATCH v8 00/28] Kconfig conversion Doug Goldstein
2015-12-18 10:30 ` Ian Campbell
2015-12-18 14:20   ` Doug Goldstein
2015-12-18 14:55     ` Juergen Gross
2015-12-18 15:06       ` Andrew Cooper
2015-12-18 15:16         ` Jan Beulich

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.