qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Yang Zhong <yang.zhong@intel.com>, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, sameo@linux.intel.com,
	ehabkost@redhat.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [RFC PATCH v2 19/37] kconfig: introduce kconfig files
Date: Wed, 16 Jan 2019 15:06:33 +0100	[thread overview]
Message-ID: <75ae9c60-de5f-3e69-f8af-94f3bc8d1db7@redhat.com> (raw)
In-Reply-To: <8c5e79dd-b177-44fb-4a3d-7aa55216d13d@redhat.com>

On 2019-01-16 11:44, Thomas Huth wrote:
> On 2019-01-15 15:10, Yang Zhong wrote:
>> From: Paolo Bonzini <pbonzini@redhat.com>
>>
>> The Kconfig files were generated mostly with this script:
>>
>>   for i in `grep -ho CONFIG_[A-Z0-9_]* default-configs/* | sort -u`; do
>>     set fnord `git grep -lw $i -- 'hw/*/Makefile.objs' `
>>     shift
>>     if test $# = 1; then
>>       cat >> $(dirname $1)/Kconfig << EOF
>> config ${i#CONFIG_}
>>     bool
>>
>> EOF
>>       git add $(dirname $1)/Kconfig
>>     else
>>       echo $i $*
>>     fi
>>   done
>>   sed -i '$d' hw/*/Kconfig
>>   for i in hw/*; do
>>     if test -d $i && ! test -f $i/Kconfig; then
>>       touch $i/Kconfig
>>       git add $i/Kconfig
>>     fi
>>   done
>>
>> Whenever a symbol is referenced from multiple subdirectories, the
>> script prints the list of directories that reference the symbol.
>> These symbols have to be added manually to the Kconfig files.
>>
>> Kconfig.host and hw/Kconfig were created manually.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
>> ---
>>  Kconfig.host          | 17 ++++++++
>>  hw/9pfs/Kconfig       |  2 +
>>  hw/Kconfig            | 60 ++++++++++++++++++++++++++
>>  hw/acpi/Kconfig       | 23 ++++++++++
>>  hw/adc/Kconfig        |  2 +
>>  hw/arm/Kconfig        | 98 +++++++++++++++++++++++++++++++++++++++++++
>>  hw/audio/Kconfig      | 35 ++++++++++++++++
>>  hw/block/Kconfig      | 29 +++++++++++++
>>  hw/bt/Kconfig         |  2 +
>>  hw/char/Kconfig       | 32 ++++++++++++++
>>  hw/core/Kconfig       | 11 +++++
>>  hw/cpu/Kconfig        |  8 ++++
>>  hw/display/Kconfig    | 77 ++++++++++++++++++++++++++++++++++
>>  hw/dma/Kconfig        | 20 +++++++++
>>  hw/gpio/Kconfig       |  8 ++++
>>  hw/hyperv/Kconfig     |  5 +++
>>  hw/i2c/Kconfig        | 20 +++++++++
>>  hw/i386/Kconfig       | 23 ++++++++++
>>  hw/ide/Kconfig        | 35 ++++++++++++++++
>>  hw/input/Kconfig      | 23 ++++++++++
>>  hw/intc/Kconfig       | 47 +++++++++++++++++++++
>>  hw/ipack/Kconfig      |  2 +
>>  hw/ipmi/Kconfig       | 14 +++++++
>>  hw/isa/Kconfig        | 23 ++++++++++
>>  hw/lm32/Kconfig       |  5 +++
>>  hw/m68k/Kconfig       |  8 ++++
>>  hw/mem/Kconfig        |  8 ++++
>>  hw/microblaze/Kconfig |  8 ++++
>>  hw/mips/Kconfig       | 20 +++++++++
>>  hw/misc/Kconfig       | 92 ++++++++++++++++++++++++++++++++++++++++
>>  hw/misc/macio/Kconfig | 11 +++++
>>  hw/net/Kconfig        | 92 ++++++++++++++++++++++++++++++++++++++++
>>  hw/nios2/Kconfig      |  2 +
>>  hw/nvram/Kconfig      |  8 ++++
>>  hw/pci-bridge/Kconfig | 20 +++++++++
>>  hw/pci-host/Kconfig   | 35 ++++++++++++++++
>>  hw/pci/Kconfig        |  2 +
>>  hw/pcmcia/Kconfig     |  2 +
>>  hw/ppc/Kconfig        | 38 +++++++++++++++++
>>  hw/riscv/Kconfig      | 14 +++++++
>>  hw/scsi/Kconfig       | 26 ++++++++++++
>>  hw/sd/Kconfig         | 11 +++++
>>  hw/sh4/Kconfig        |  8 ++++
>>  hw/smbios/Kconfig     |  2 +
>>  hw/sparc/Kconfig      |  5 +++
>>  hw/sparc64/Kconfig    |  5 +++
>>  hw/ssi/Kconfig        | 14 +++++++
>>  hw/timer/Kconfig      | 53 +++++++++++++++++++++++
>>  hw/tpm/Kconfig        | 14 +++++++
>>  hw/usb/Kconfig        | 53 +++++++++++++++++++++++
>>  hw/vfio/Kconfig       | 11 +++++
>>  hw/virtio/Kconfig     | 17 ++++++++
>>  hw/watchdog/Kconfig   | 11 +++++
>>  hw/xtensa/Kconfig     |  5 +++
>>  54 files changed, 1216 insertions(+)
>>  create mode 100644 Kconfig.host
>>  create mode 100644 hw/9pfs/Kconfig
>>  create mode 100644 hw/Kconfig
>>  create mode 100644 hw/acpi/Kconfig
>>  create mode 100644 hw/adc/Kconfig
>>  create mode 100644 hw/arm/Kconfig
>>  create mode 100644 hw/audio/Kconfig
>>  create mode 100644 hw/block/Kconfig
>>  create mode 100644 hw/bt/Kconfig
>>  create mode 100644 hw/char/Kconfig
>>  create mode 100644 hw/core/Kconfig
>>  create mode 100644 hw/cpu/Kconfig
>>  create mode 100644 hw/display/Kconfig
>>  create mode 100644 hw/dma/Kconfig
>>  create mode 100644 hw/gpio/Kconfig
>>  create mode 100644 hw/hyperv/Kconfig
>>  create mode 100644 hw/i2c/Kconfig
>>  create mode 100644 hw/i386/Kconfig
>>  create mode 100644 hw/ide/Kconfig
>>  create mode 100644 hw/input/Kconfig
>>  create mode 100644 hw/intc/Kconfig
>>  create mode 100644 hw/ipack/Kconfig
>>  create mode 100644 hw/ipmi/Kconfig
>>  create mode 100644 hw/isa/Kconfig
>>  create mode 100644 hw/lm32/Kconfig
>>  create mode 100644 hw/m68k/Kconfig
>>  create mode 100644 hw/mem/Kconfig
>>  create mode 100644 hw/microblaze/Kconfig
>>  create mode 100644 hw/mips/Kconfig
>>  create mode 100644 hw/misc/Kconfig
>>  create mode 100644 hw/misc/macio/Kconfig
>>  create mode 100644 hw/net/Kconfig
>>  create mode 100644 hw/nios2/Kconfig
>>  create mode 100644 hw/nvram/Kconfig
>>  create mode 100644 hw/pci-bridge/Kconfig
>>  create mode 100644 hw/pci-host/Kconfig
>>  create mode 100644 hw/pci/Kconfig
>>  create mode 100644 hw/pcmcia/Kconfig
>>  create mode 100644 hw/ppc/Kconfig
>>  create mode 100644 hw/riscv/Kconfig
>>  create mode 100644 hw/scsi/Kconfig
>>  create mode 100644 hw/sd/Kconfig
>>  create mode 100644 hw/sh4/Kconfig
>>  create mode 100644 hw/smbios/Kconfig
>>  create mode 100644 hw/sparc/Kconfig
>>  create mode 100644 hw/sparc64/Kconfig
>>  create mode 100644 hw/ssi/Kconfig
>>  create mode 100644 hw/timer/Kconfig
>>  create mode 100644 hw/tpm/Kconfig
>>  create mode 100644 hw/usb/Kconfig
>>  create mode 100644 hw/vfio/Kconfig
>>  create mode 100644 hw/virtio/Kconfig
>>  create mode 100644 hw/watchdog/Kconfig
>>  create mode 100644 hw/xtensa/Kconfig
>>
>> diff --git a/Kconfig.host b/Kconfig.host
>> new file mode 100644
>> index 0000000000..2136a4c3ec
>> --- /dev/null
>> +++ b/Kconfig.host
>> @@ -0,0 +1,17 @@
>> +# These are "proxy" symbols used to pass config-host.mak values
>> +# down to Kconfig.
>> +
>> +config KVM
>> +    bool
>> +
>> +config OPENGL
>> +    bool
>> +
>> +config SPICE
>> +    bool
>> +
>> +config TPM
>> +    bool
>> +
>> +config XEN
>> +    bool
>> diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig
>> new file mode 100644
>> index 0000000000..a4750999d9
>> --- /dev/null
>> +++ b/hw/9pfs/Kconfig
>> @@ -0,0 +1,2 @@
>> +config VIRTIO_9P
>> +    bool
>> diff --git a/hw/Kconfig b/hw/Kconfig
>> new file mode 100644
>> index 0000000000..55743a958a
>> --- /dev/null
>> +++ b/hw/Kconfig
>> @@ -0,0 +1,60 @@
>> +# devices Kconfig
>> +source 9pfs/Kconfig
>> +source acpi/Kconfig
>> +source audio/Kconfig
>> +source block/Kconfig
>> +source bt/Kconfig
>> +source char/Kconfig
>> +source core/Kconfig
>> +source display/Kconfig
>> +source dma/Kconfig
>> +source gpio/Kconfig
>> +source i2c/Kconfig
>> +source ide/Kconfig
>> +source input/Kconfig
>> +source intc/Kconfig
>> +source ipack/Kconfig
>> +source isa/Kconfig
>> +source mem/Kconfig
>> +source misc/Kconfig
>> +source net/Kconfig
>> +source nvram/Kconfig
>> +source pci-bridge/Kconfig
>> +source pci-host/Kconfig
>> +source pci/Kconfig
>> +source scsi/Kconfig
>> +source sd/Kconfig
>> +source ssi/Kconfig
>> +source timer/Kconfig
>> +source tpm/Kconfig
>> +source usb/Kconfig
>> +source virtio/Kconfig
>> +source watchdog/Kconfig
>> +source smbios/Kconfig
>> +source ipmi/Kconfig
>> +source vfio/Kconfig
>> +source adc/Kconfig
>> +source pcmcia/Kconfig
>> +source hyperv/Kconfig
> 
> Could you please sort the last 5 entries alphabetically into the list?
> 
>> +# arch Kconfig
>> +source i386/Kconfig
>> +source arm/Kconfig
>> +source m68k/Kconfig
>> +source microblaze/Kconfig
>> +source mips/Kconfig
>> +source ppc/Kconfig
>> +source sh4/Kconfig
>> +source sparc/Kconfig
>> +source sparc64/Kconfig
>> +source lm32/Kconfig
>> +source xtensa/Kconfig
>> +source nios2/Kconfig
>> +source riscv/Kconfig
> 
> dito, please sort last 4 entries alphabetically into the list.
> 
> Apart from that, patch looks good to me.

FWIW, looks like we still need alpha/Kconfig, cris/Kconfig,
hppa/Kconfig, unicore32/Kconfig, tricore/Kconfig and xtensa/Kconfig ?

 Thomas

  reply	other threads:[~2019-01-16 14:06 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-15 14:10 [Qemu-devel] [RFC PATCH v2 00/37] Support Kconfig in QEMU Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 01/37] build: actually use CONFIG_PAM Yang Zhong
2019-01-15 18:02   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 02/37] hw/i386/Makefile.objs: Build pc_piix* and pc_q35 boards Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 03/37] hw/arm/Makefile.objs: CONFIG_VIRT created for virt board Yang Zhong
2019-01-16  7:07   ` Thomas Huth
     [not found]   ` <bb109ff0-8475-73f6-c33d-52044de758ac@redhat.com>
2019-01-17 11:17     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 04/37] hw/m68k/Makefile.objs: Conditionally build boards Yang Zhong
2019-01-16  7:15   ` Thomas Huth
2019-01-17 11:33     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 05/37] hw/microblaze/Makefile.objs: Create configs for petalogix and xilinx boards Yang Zhong
2019-01-16  8:28   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 06/37] hw/mips/Makefile.objs: Create CONFIG_* for r4k, malta, mipssim boards Yang Zhong
2019-01-16  8:34   ` Thomas Huth
2019-01-17 11:44     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 07/37] hw/ppc/Makefile.objs: Build all boards conditinally with CONFIG_* Yang Zhong
2019-01-15 23:10   ` Paolo Bonzini
2019-01-16  8:41   ` Thomas Huth
2019-01-17 11:58     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 08/37] hw/sh4/Makefile.objs: New CONFIG_* varibales created for sh4 boards and device Yang Zhong
2019-01-16  8:48   ` Thomas Huth
2019-01-17 12:10     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 09/37] hw/sparc/Makefile.objs: CONFIG_* for sun4m and leon3 created Yang Zhong
2019-01-16  9:04   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 10/37] hw/lm32/Makefile.objs: Conditionally build lm32 and milkmyst Yang Zhong
2019-01-16  9:10   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 11/37] hw/xtensa/Makefile.objs: Build xtensa_sim and xtensa_fpga conditionally Yang Zhong
2019-01-16  9:31   ` Thomas Huth
2019-01-16 18:43   ` Max Filippov
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 12/37] hw/nios2/Makefile.objs: Conditionally build nios2 Yang Zhong
2019-01-16  9:37   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 13/37] hw/riscv/Makefile.objs: Create CONFIG_* for riscv boards Yang Zhong
2019-01-16  9:46   ` Thomas Huth
2019-01-17 12:36     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 14/37] hw/sparc64/Makefile.objs: Create CONFIG_* for sparc64 Yang Zhong
2019-01-16  9:56   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 15/37] minikconfig: add parser skeleton Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 16/37] minikconfig: add AST Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 17/37] minikconfig: add semantic analysis Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 18/37] hw/display: make edid configurable Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 19/37] kconfig: introduce kconfig files Yang Zhong
2019-01-16 10:44   ` Thomas Huth
2019-01-16 14:06     ` Thomas Huth [this message]
2019-01-18  6:41       ` Yang Zhong
2019-01-18  6:34     ` Yang Zhong
2019-01-17  9:17   ` Thomas Huth
2019-01-18  6:42     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 20/37] build: switch to Kconfig Yang Zhong
2019-01-16 11:05   ` Thomas Huth
2019-01-16 16:28   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 21/37] ide: express dependencies with Kconfig Yang Zhong
2019-01-16 11:21   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 22/37] hw/pci/Makefile.objs: make pcie configurable Yang Zhong
2019-01-16 11:23   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 23/37] build: convert pci.mak to Kconfig Yang Zhong
2019-01-16 11:41   ` Thomas Huth
2019-01-18  7:08     ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 24/37] build: convert sound.mak " Yang Zhong
2019-01-16 13:48   ` Thomas Huth
2019-01-16 13:51     ` Thomas Huth
2019-01-18  7:24       ` Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 25/37] build: convert usb.mak " Yang Zhong
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 26/37] scsi: express dependencies with Kconfig Yang Zhong
2019-01-16 11:50   ` Thomas Huth
2019-01-16 13:57     ` Paolo Bonzini
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 27/37] bluetooth: " Yang Zhong
2019-01-17 10:19   ` Thomas Huth
2019-01-15 14:10 ` [Qemu-devel] [RFC PATCH v2 28/37] isa: express dependencies with kconfig Yang Zhong
2019-01-17 10:25   ` Thomas Huth
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 29/37] i386: express dependencies with Kconfig Yang Zhong
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 30/37] i2c: " Yang Zhong
2019-01-17 10:30   ` Thomas Huth
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 31/37] ptimer: " Yang Zhong
2019-01-17 10:32   ` Thomas Huth
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 32/37] edid: express dependencies with kconfig Yang Zhong
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 33/37] hyperv: " Yang Zhong
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 34/37] virtio: make virtio dependencies with Kconfig Yang Zhong
2019-01-17 10:37   ` Thomas Huth
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 35/37] i386-softmmu.mak: remove all CONFIG_* except boards definitions Yang Zhong
2019-01-17 11:03   ` Thomas Huth
2019-01-18  9:00     ` Yang Zhong
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 36/37] minikconf: implement allyesconfig, allnoconfig, randconfig, defconfig Yang Zhong
2019-01-15 14:11 ` [Qemu-devel] [RFC PATCH v2 37/37] Makefile: only support defconfig Yang Zhong
2019-01-15 23:20 ` [Qemu-devel] [RFC PATCH v2 00/37] Support Kconfig in QEMU Paolo Bonzini
2019-01-16 12:52 ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=75ae9c60-de5f-3e69-f8af-94f3bc8d1db7@redhat.com \
    --to=thuth@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sameo@linux.intel.com \
    --cc=yang.zhong@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).