aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2019-01-23 14:56:00 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2019-03-07 21:45:53 +0100
commit82f5181777ebe04b550fd94a1d04c49dd3f012dc (patch)
tree1b0e22a5ae76cb58bd1feb8ece3de38c2c54e3ed
parent06266ecda7127c1567414f75b5121900dcc64804 (diff)
kconfig: introduce kconfig files
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> Message-Id: <20190123065618.3520-27-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--Kconfig.host26
-rw-r--r--hw/9pfs/Kconfig2
-rw-r--r--hw/Kconfig68
-rw-r--r--hw/acpi/Kconfig20
-rw-r--r--hw/adc/Kconfig2
-rw-r--r--hw/alpha/Kconfig2
-rw-r--r--hw/arm/Kconfig119
-rw-r--r--hw/audio/Kconfig35
-rw-r--r--hw/block/Kconfig29
-rw-r--r--hw/bt/Kconfig2
-rw-r--r--hw/char/Kconfig32
-rw-r--r--hw/core/Kconfig11
-rw-r--r--hw/cpu/Kconfig8
-rw-r--r--hw/cris/Kconfig5
-rw-r--r--hw/display/Kconfig77
-rw-r--r--hw/dma/Kconfig20
-rw-r--r--hw/gpio/Kconfig8
-rw-r--r--hw/hppa/Kconfig2
-rw-r--r--hw/hyperv/Kconfig5
-rw-r--r--hw/i2c/Kconfig20
-rw-r--r--hw/i386/Kconfig23
-rw-r--r--hw/ide/Kconfig35
-rw-r--r--hw/input/Kconfig23
-rw-r--r--hw/intc/Kconfig47
-rw-r--r--hw/ipack/Kconfig2
-rw-r--r--hw/ipmi/Kconfig14
-rw-r--r--hw/isa/Kconfig23
-rw-r--r--hw/lm32/Kconfig5
-rw-r--r--hw/m68k/Kconfig8
-rw-r--r--hw/mem/Kconfig8
-rw-r--r--hw/microblaze/Kconfig8
-rw-r--r--hw/mips/Kconfig20
-rw-r--r--hw/misc/Kconfig94
-rw-r--r--hw/misc/macio/Kconfig11
-rw-r--r--hw/moxie/Kconfig2
-rw-r--r--hw/net/Kconfig92
-rw-r--r--hw/nios2/Kconfig5
-rw-r--r--hw/nvram/Kconfig8
-rw-r--r--hw/openrisc/Kconfig2
-rw-r--r--hw/pci-bridge/Kconfig20
-rw-r--r--hw/pci-host/Kconfig35
-rw-r--r--hw/pci/Kconfig2
-rw-r--r--hw/pcmcia/Kconfig2
-rw-r--r--hw/ppc/Kconfig44
-rw-r--r--hw/riscv/Kconfig20
-rw-r--r--hw/s390x/Kconfig2
-rw-r--r--hw/scsi/Kconfig26
-rw-r--r--hw/sd/Kconfig11
-rw-r--r--hw/sh4/Kconfig11
-rw-r--r--hw/smbios/Kconfig2
-rw-r--r--hw/sparc/Kconfig11
-rw-r--r--hw/sparc64/Kconfig5
-rw-r--r--hw/ssi/Kconfig14
-rw-r--r--hw/timer/Kconfig53
-rw-r--r--hw/tpm/Kconfig14
-rw-r--r--hw/tricore/Kconfig2
-rw-r--r--hw/unicore32/Kconfig2
-rw-r--r--hw/usb/Kconfig53
-rw-r--r--hw/vfio/Kconfig20
-rw-r--r--hw/virtio/Kconfig17
-rw-r--r--hw/watchdog/Kconfig11
-rw-r--r--hw/xtensa/Kconfig5
-rw-r--r--scripts/minikconf.py35
63 files changed, 1337 insertions, 3 deletions
diff --git a/Kconfig.host b/Kconfig.host
new file mode 100644
index 0000000000..11fefa4813
--- /dev/null
+++ b/Kconfig.host
@@ -0,0 +1,26 @@
+# These are "proxy" symbols used to pass config-host.mak values
+# down to Kconfig.
+
+config KVM
+ bool
+
+config LINUX
+ bool
+
+config OPENGL
+ bool
+
+config SPICE
+ bool
+
+config TPM
+ bool
+
+config VHOST_USER
+ bool
+
+config XEN
+ bool
+
+config VIRTFS
+ 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..c4f1547546
--- /dev/null
+++ b/hw/Kconfig
@@ -0,0 +1,68 @@
+# devices Kconfig
+source 9pfs/Kconfig
+source acpi/Kconfig
+source adc/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 hyperv/Kconfig
+source i2c/Kconfig
+source ide/Kconfig
+source input/Kconfig
+source intc/Kconfig
+source ipack/Kconfig
+source ipmi/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 pcmcia/Kconfig
+source pci/Kconfig
+source scsi/Kconfig
+source sd/Kconfig
+source smbios/Kconfig
+source ssi/Kconfig
+source timer/Kconfig
+source tpm/Kconfig
+source usb/Kconfig
+source virtio/Kconfig
+source vfio/Kconfig
+source watchdog/Kconfig
+
+# arch Kconfig
+source arm/Kconfig
+source alpha/Kconfig
+source cris/Kconfig
+source hppa/Kconfig
+source i386/Kconfig
+source lm32/Kconfig
+source m68k/Kconfig
+source microblaze/Kconfig
+source mips/Kconfig
+source moxie/Kconfig
+source nios2/Kconfig
+source openrisc/Kconfig
+source ppc/Kconfig
+source riscv/Kconfig
+source s390x/Kconfig
+source sh4/Kconfig
+source sparc/Kconfig
+source sparc64/Kconfig
+source tricore/Kconfig
+source unicore32/Kconfig
+source xtensa/Kconfig
+
+# Symbols used by multiple targets
+config XILINX
+ bool
+
+config XILINX_AXI
+ bool
diff --git a/hw/acpi/Kconfig b/hw/acpi/Kconfig
new file mode 100644
index 0000000000..c485a3448f
--- /dev/null
+++ b/hw/acpi/Kconfig
@@ -0,0 +1,20 @@
+config ACPI
+ bool
+
+config ACPI_X86
+ bool
+
+config ACPI_X86_ICH
+ bool
+
+config ACPI_CPU_HOTPLUG
+ bool
+
+config ACPI_MEMORY_HOTPLUG
+ bool
+
+config ACPI_NVDIMM
+ bool
+
+config ACPI_VMGENID
+ bool
diff --git a/hw/adc/Kconfig b/hw/adc/Kconfig
new file mode 100644
index 0000000000..25d2229fb8
--- /dev/null
+++ b/hw/adc/Kconfig
@@ -0,0 +1,2 @@
+config STM32F2XX_ADC
+ bool
diff --git a/hw/alpha/Kconfig b/hw/alpha/Kconfig
new file mode 100644
index 0000000000..c5d0438a11
--- /dev/null
+++ b/hw/alpha/Kconfig
@@ -0,0 +1,2 @@
+config DP264
+ bool
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
new file mode 100644
index 0000000000..e4386ce78f
--- /dev/null
+++ b/hw/arm/Kconfig
@@ -0,0 +1,119 @@
+config ARM_VIRT
+ bool
+
+config DIGIC
+ bool
+
+config EXYNOS4
+ bool
+
+config HIGHBANK
+ bool
+
+config INTEGRATOR
+ bool
+
+config MAINSTONE
+ bool
+
+config MUSICPAL
+ bool
+
+config NETDUINO2
+ bool
+
+config NSERIES
+ bool
+
+config OMAP
+ bool
+
+config PXA2XX
+ bool
+
+config REALVIEW
+ bool
+
+config STELLARIS
+ bool
+
+config STRONGARM
+ bool
+
+config VERSATILE
+ bool
+
+config ZYNQ
+ bool
+
+config ARM_V7M
+ bool
+
+config ALLWINNER_A10
+ bool
+
+config RASPI
+ bool
+
+config STM32F205_SOC
+ bool
+
+config XLNX_ZYNQMP_ARM
+ bool
+
+config XLNX_VERSAL
+ bool
+
+config FSL_IMX25
+ bool
+
+config FSL_IMX31
+ bool
+
+config FSL_IMX6
+ bool
+
+config ASPEED_SOC
+ bool
+
+config MPS2
+ bool
+
+config FSL_IMX7
+ bool
+
+config ARM_SMMUV3
+ bool
+
+config FSL_IMX6UL
+ bool
+
+config NRF51_SOC
+ bool
+
+config MSF2
+ bool
+
+config ZAURUS
+ bool
+
+config A9MPCORE
+ bool
+
+config A15MPCORE
+ bool
+
+config ARM11MPCORE
+ bool
+
+config ARMSSE
+ bool
+
+config ARMSSE_CPUID
+ bool
+
+config ARMSSE_MHU
+ bool
+
+config MUSCA
+ bool
diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig
new file mode 100644
index 0000000000..207baee6e1
--- /dev/null
+++ b/hw/audio/Kconfig
@@ -0,0 +1,35 @@
+config SB16
+ bool
+
+config ES1370
+ bool
+
+config AC97
+ bool
+
+config ADLIB
+ bool
+
+config GUS
+ bool
+
+config CS4231A
+ bool
+
+config HDA
+ bool
+
+config PCSPK
+ bool
+
+config WM8750
+ bool
+
+config PL041
+ bool
+
+config CS4231
+ bool
+
+config MARVELL_88W8618
+ bool
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
new file mode 100644
index 0000000000..9d418bce4d
--- /dev/null
+++ b/hw/block/Kconfig
@@ -0,0 +1,29 @@
+config FDC
+ bool
+
+config SSI_M25P80
+ bool
+
+config NAND
+ bool
+
+config PFLASH_CFI01
+ bool
+
+config PFLASH_CFI02
+ bool
+
+config ECC
+ bool
+
+config ONENAND
+ bool
+
+config NVME_PCI
+ bool
+
+config VIRTIO_BLK
+ bool
+
+config VHOST_USER_BLK
+ bool
diff --git a/hw/bt/Kconfig b/hw/bt/Kconfig
new file mode 100644
index 0000000000..554a9ee75e
--- /dev/null
+++ b/hw/bt/Kconfig
@@ -0,0 +1,2 @@
+config BLUETOOTH
+ bool
diff --git a/hw/char/Kconfig b/hw/char/Kconfig
new file mode 100644
index 0000000000..26c13243cf
--- /dev/null
+++ b/hw/char/Kconfig
@@ -0,0 +1,32 @@
+config ESCC
+ bool
+
+config PARALLEL
+ bool
+
+config PL011
+ bool
+
+config SERIAL
+ bool
+
+config SERIAL_ISA
+ bool
+
+config SERIAL_PCI
+ bool
+
+config VIRTIO_SERIAL
+ bool
+
+config STM32F2XX_USART
+ bool
+
+config CMSDK_APB_UART
+ bool
+
+config SCLPCONSOLE
+ bool
+
+config TERMINAL3270
+ bool
diff --git a/hw/core/Kconfig b/hw/core/Kconfig
new file mode 100644
index 0000000000..c2a1ae8122
--- /dev/null
+++ b/hw/core/Kconfig
@@ -0,0 +1,11 @@
+config EMPTY_SLOT
+ bool
+
+config PTIMER
+ bool
+
+config FITLOADER
+ bool
+
+config PLATFORM_BUS
+ bool
diff --git a/hw/cpu/Kconfig b/hw/cpu/Kconfig
new file mode 100644
index 0000000000..1767d028ac
--- /dev/null
+++ b/hw/cpu/Kconfig
@@ -0,0 +1,8 @@
+config ARM11MPCORE
+ bool
+
+config A9MPCORE
+ bool
+
+config A15MPCORE
+ bool
diff --git a/hw/cris/Kconfig b/hw/cris/Kconfig
new file mode 100644
index 0000000000..86954ab0b7
--- /dev/null
+++ b/hw/cris/Kconfig
@@ -0,0 +1,5 @@
+config AXIS
+ bool
+
+config ETRAXFS
+ bool
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
new file mode 100644
index 0000000000..d5c022c886
--- /dev/null
+++ b/hw/display/Kconfig
@@ -0,0 +1,77 @@
+config EDID
+ bool
+
+config FW_CFG_DMA
+ bool
+
+config ADS7846
+ bool
+
+config VGA_CIRRUS
+ bool
+
+config G364FB
+ bool
+
+config JAZZ_LED
+ bool
+
+config PL110
+ bool
+
+config SII9022
+ bool
+
+config SSD0303
+ bool
+
+config SSD0323
+ bool
+
+config VGA_PCI
+ bool
+
+config VGA_ISA
+ bool
+
+config VGA_ISA_MM
+ bool
+
+config VMWARE_VGA
+ bool
+
+config BOCHS_DISPLAY
+ bool
+
+config BLIZZARD
+ bool
+
+config FRAMEBUFFER
+ bool
+
+config MILKYMIST_TMU2
+ bool
+
+config SM501
+ bool
+
+config TCX
+ bool
+
+config CG3
+ bool
+
+config VGA
+ bool
+
+config QXL
+ bool
+
+config VIRTIO_GPU
+ bool
+
+config VIRTIO_VGA
+ bool
+
+config DPCD
+ bool
diff --git a/hw/dma/Kconfig b/hw/dma/Kconfig
new file mode 100644
index 0000000000..b9ce1c58c4
--- /dev/null
+++ b/hw/dma/Kconfig
@@ -0,0 +1,20 @@
+config RC4030
+ bool
+
+config PL080
+ bool
+
+config PL330
+ bool
+
+config I82374
+ bool
+
+config I8257
+ bool
+
+config ZYNQ_DEVCFG
+ bool
+
+config STP2000
+ bool
diff --git a/hw/gpio/Kconfig b/hw/gpio/Kconfig
new file mode 100644
index 0000000000..d0a4abf93f
--- /dev/null
+++ b/hw/gpio/Kconfig
@@ -0,0 +1,8 @@
+config MAX7310
+ bool
+
+config PL061
+ bool
+
+config GPIO_KEY
+ bool
diff --git a/hw/hppa/Kconfig b/hw/hppa/Kconfig
new file mode 100644
index 0000000000..5ce48ef940
--- /dev/null
+++ b/hw/hppa/Kconfig
@@ -0,0 +1,2 @@
+config DINO
+ bool
diff --git a/hw/hyperv/Kconfig b/hw/hyperv/Kconfig
new file mode 100644
index 0000000000..be724b7f8b
--- /dev/null
+++ b/hw/hyperv/Kconfig
@@ -0,0 +1,5 @@
+config HYPERV
+ bool
+
+config HYPERV_TESTDEV
+ bool
diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
new file mode 100644
index 0000000000..d6d4402608
--- /dev/null
+++ b/hw/i2c/Kconfig
@@ -0,0 +1,20 @@
+config I2C
+ bool
+
+config SMBUS_EEPROM
+ bool
+
+config DDC
+ bool
+
+config VERSATILE_I2C
+ bool
+
+config ACPI_SMBUS
+ bool
+
+config BITBANG_I2C
+ bool
+
+config IMX_I2C
+ bool
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
new file mode 100644
index 0000000000..c851e2b5ab
--- /dev/null
+++ b/hw/i386/Kconfig
@@ -0,0 +1,23 @@
+config SEV
+ bool
+
+config I440FX
+ bool
+
+config ISAPC
+ bool
+
+config Q35
+ bool
+
+config VTD
+ bool
+
+config AMD_IOMMU
+ bool
+
+config VMPORT
+ bool
+
+config VMMOUSE
+ bool
diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
new file mode 100644
index 0000000000..5ec449525f
--- /dev/null
+++ b/hw/ide/Kconfig
@@ -0,0 +1,35 @@
+config IDE_CORE
+ bool
+
+config IDE_QDEV
+ bool
+
+config IDE_PCI
+ bool
+
+config IDE_ISA
+ bool
+
+config IDE_PIIX
+ bool
+
+config IDE_CMD646
+ bool
+
+config IDE_MACIO
+ bool
+
+config IDE_MMIO
+ bool
+
+config IDE_VIA
+ bool
+
+config MICRODRIVE
+ bool
+
+config AHCI
+ bool
+
+config IDE_SII3112
+ bool
diff --git a/hw/input/Kconfig b/hw/input/Kconfig
new file mode 100644
index 0000000000..91bae47498
--- /dev/null
+++ b/hw/input/Kconfig
@@ -0,0 +1,23 @@
+config ADB
+ bool
+
+config LM832X
+ bool
+
+config PCKBD
+ bool
+
+config PL050
+ bool
+
+config STELLARIS_INPUT
+ bool
+
+config TSC2005
+ bool
+
+config VIRTIO_INPUT
+ bool
+
+config TSC210X
+ bool
diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
new file mode 100644
index 0000000000..69adbd135f
--- /dev/null
+++ b/hw/intc/Kconfig
@@ -0,0 +1,47 @@
+config HEATHROW_PIC
+ bool
+
+config I8259
+ bool
+
+config PL190
+ bool
+
+config IOAPIC
+ bool
+
+config ARM_GIC
+ bool
+
+config OPENPIC
+ bool
+
+config APIC
+ bool
+
+config ARM_GIC_KVM
+ bool
+
+config OPENPIC_KVM
+ bool
+
+config XICS
+ bool
+
+config XICS_SPAPR
+ bool
+
+config XICS_KVM
+ bool
+
+config ALLWINNER_A10_PIC
+ bool
+
+config S390_FLIC
+ bool
+
+config S390_FLIC_KVM
+ bool
+
+config OMPIC
+ bool
diff --git a/hw/ipack/Kconfig b/hw/ipack/Kconfig
new file mode 100644
index 0000000000..481e0d2e64
--- /dev/null
+++ b/hw/ipack/Kconfig
@@ -0,0 +1,2 @@
+config IPACK
+ bool
diff --git a/hw/ipmi/Kconfig b/hw/ipmi/Kconfig
new file mode 100644
index 0000000000..68f8ba1a54
--- /dev/null
+++ b/hw/ipmi/Kconfig
@@ -0,0 +1,14 @@
+config IPMI
+ bool
+
+config IPMI_LOCAL
+ bool
+
+config IPMI_EXTERN
+ bool
+
+config ISA_IPMI_KCS
+ bool
+
+config ISA_IPMI_BT
+ bool
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig
new file mode 100644
index 0000000000..b59d074453
--- /dev/null
+++ b/hw/isa/Kconfig
@@ -0,0 +1,23 @@
+config ISA_BUS
+ bool
+
+config APM
+ bool
+
+config I82378
+ bool
+
+config PC87312
+ bool
+
+config PIIX4
+ bool
+
+config VT82C686
+ bool
+
+config SMC37C669
+ bool
+
+config LPC_ICH9
+ bool
diff --git a/hw/lm32/Kconfig b/hw/lm32/Kconfig
new file mode 100644
index 0000000000..84c530e991
--- /dev/null
+++ b/hw/lm32/Kconfig
@@ -0,0 +1,5 @@
+config LM32
+ bool
+
+config MILKYMIST
+ bool
diff --git a/hw/m68k/Kconfig b/hw/m68k/Kconfig
new file mode 100644
index 0000000000..cd66ada909
--- /dev/null
+++ b/hw/m68k/Kconfig
@@ -0,0 +1,8 @@
+config AN5206
+ bool
+
+config MCF5206
+ bool
+
+config MCF5208
+ bool
diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
new file mode 100644
index 0000000000..a3a4372fa7
--- /dev/null
+++ b/hw/mem/Kconfig
@@ -0,0 +1,8 @@
+config DIMM
+ bool
+
+config MEM_DEVICE
+ bool
+
+config NVDIMM
+ bool
diff --git a/hw/microblaze/Kconfig b/hw/microblaze/Kconfig
new file mode 100644
index 0000000000..44683b2737
--- /dev/null
+++ b/hw/microblaze/Kconfig
@@ -0,0 +1,8 @@
+config PETALOGIX_S3ADSP1800
+ bool
+
+config PETALOGIX_ML605
+ bool
+
+config XLNX_ZYNQMP_PMU
+ bool
diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig
new file mode 100644
index 0000000000..348c9bf6d3
--- /dev/null
+++ b/hw/mips/Kconfig
@@ -0,0 +1,20 @@
+config R4K
+ bool
+
+config MALTA
+ bool
+
+config MIPSSIM
+ bool
+
+config JAZZ
+ bool
+
+config FULONG
+ bool
+
+config MIPS_CPS
+ bool
+
+config MIPS_BOSTON
+ bool
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
new file mode 100644
index 0000000000..d5126349d9
--- /dev/null
+++ b/hw/misc/Kconfig
@@ -0,0 +1,94 @@
+config APPLESMC
+ bool
+
+config MAX111X
+ bool
+
+config TMP105
+ bool
+
+config TMP421
+ bool
+
+config ISA_DEBUG
+ bool
+
+config SGA
+ bool
+
+config ISA_TESTDEV
+ bool
+
+config PCI_TESTDEV
+ bool
+
+config EDU
+ bool
+
+config PCA9552
+ bool
+
+config PL310
+ bool
+
+config INTEGRATOR_DEBUG
+ bool
+
+config A9SCU
+ bool
+
+config ARM11SCU
+ bool
+
+config MOS6522
+ bool
+
+config MACIO
+ bool
+
+config IVSHMEM_DEVICE
+ bool
+
+config ECCMEMCTL
+ bool
+
+config IMX
+ bool
+
+config STM32F2XX_SYSCFG
+ bool
+
+config MIPS_ITU
+ bool
+
+config MPS2_FPGAIO
+ bool
+
+config MPS2_SCC
+ bool
+
+config TZ_MPC
+ bool
+
+config TZ_MSC
+ bool
+
+config TZ_PPC
+ bool
+
+config IOTKIT_SECCTL
+ bool
+
+config IOTKIT_SYSCTL
+ bool
+
+config IOTKIT_SYSINFO
+ bool
+
+config PVPANIC
+ bool
+
+config AUX
+ bool
+
+source macio/Kconfig
diff --git a/hw/misc/macio/Kconfig b/hw/misc/macio/Kconfig
new file mode 100644
index 0000000000..c6caeb672f
--- /dev/null
+++ b/hw/misc/macio/Kconfig
@@ -0,0 +1,11 @@
+config CUDA
+ bool
+
+config MAC_PMU
+ bool
+
+config MAC_DBDMA
+ bool
+
+config MACIO_GPIO
+ bool
diff --git a/hw/moxie/Kconfig b/hw/moxie/Kconfig
new file mode 100644
index 0000000000..03f62e3361
--- /dev/null
+++ b/hw/moxie/Kconfig
@@ -0,0 +1,2 @@
+config MOXIESIM
+ bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
new file mode 100644
index 0000000000..ad56fc0d7b
--- /dev/null
+++ b/hw/net/Kconfig
@@ -0,0 +1,92 @@
+config DP8393X
+ bool
+
+config NE2000_PCI
+ bool
+
+config EEPRO100_PCI
+ bool
+
+config PCNET_PCI
+ bool
+
+config PCNET_COMMON
+ bool
+
+config E1000_PCI
+ bool
+
+config E1000E_PCI_EXPRESS
+ bool
+
+config RTL8139_PCI
+ bool
+
+config VMXNET3_PCI
+ bool
+
+config SMC91C111
+ bool
+
+config LAN9118
+ bool
+
+config NE2000_ISA
+ bool
+
+config OPENCORES_ETH
+ bool
+
+config XGMAC
+ bool
+
+config MIPSNET
+ bool
+
+config ALLWINNER_EMAC
+ bool
+
+config IMX_FEC
+ bool
+
+config CADENCE
+ bool
+
+config STELLARIS_ENET
+ bool
+
+config LANCE
+ bool
+
+config SUNHME
+ bool
+
+config FTGMAC100
+ bool
+
+config SUNGEM
+ bool
+
+config COLDFIRE
+ bool
+
+config XILINX_ETHLITE
+ bool
+
+config VIRTIO_NET
+ bool
+
+config ETSEC
+ bool
+
+config ROCKER
+ bool
+
+config CAN_BUS
+ bool
+
+config CAN_PCI
+ bool
+
+config CAN_SJA1000
+ bool
diff --git a/hw/nios2/Kconfig b/hw/nios2/Kconfig
new file mode 100644
index 0000000000..22817e45fe
--- /dev/null
+++ b/hw/nios2/Kconfig
@@ -0,0 +1,5 @@
+config NIOS2_10M50
+ bool
+
+config NIOS2
+ bool
diff --git a/hw/nvram/Kconfig b/hw/nvram/Kconfig
new file mode 100644
index 0000000000..1f5ec95d8b
--- /dev/null
+++ b/hw/nvram/Kconfig
@@ -0,0 +1,8 @@
+config DS1225Y
+ bool
+
+config AT24C
+ bool
+
+config MAC_NVRAM
+ bool
diff --git a/hw/openrisc/Kconfig b/hw/openrisc/Kconfig
new file mode 100644
index 0000000000..7aef98dc85
--- /dev/null
+++ b/hw/openrisc/Kconfig
@@ -0,0 +1,2 @@
+config OR1K_SIM
+ bool
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
new file mode 100644
index 0000000000..bb19b7aac1
--- /dev/null
+++ b/hw/pci-bridge/Kconfig
@@ -0,0 +1,20 @@
+config PCIE_PORT
+ bool
+
+config PXB
+ bool
+
+config XIO3130
+ bool
+
+config IOH3420
+ bool
+
+config I82801B11
+ bool
+
+config DEC_PCI
+ bool
+
+config SIMBA
+ bool
diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
new file mode 100644
index 0000000000..2edc5bbc9a
--- /dev/null
+++ b/hw/pci-host/Kconfig
@@ -0,0 +1,35 @@
+config PAM
+ bool
+
+config PREP_PCI
+ bool
+
+config GRACKLE_PCI
+ bool
+
+config UNIN_PCI
+ bool
+
+config PPCE500_PCI
+ bool
+
+config VERSATILE_PCI
+ bool
+
+config PCI_SABRE
+ bool
+
+config PCI_PIIX
+ bool
+
+config PCI_EXPRESS_Q35
+ bool
+
+config PCI_EXPRESS_GENERIC_BRIDGE
+ bool
+
+config PCI_EXPRESS_XILINX
+ bool
+
+config PCI_EXPRESS_DESIGNWARE
+ bool
diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
new file mode 100644
index 0000000000..d3d2205577
--- /dev/null
+++ b/hw/pci/Kconfig
@@ -0,0 +1,2 @@
+config PCI
+ bool
diff --git a/hw/pcmcia/Kconfig b/hw/pcmcia/Kconfig
new file mode 100644
index 0000000000..41f2df9136
--- /dev/null
+++ b/hw/pcmcia/Kconfig
@@ -0,0 +1,2 @@
+config PCMCIA
+ bool
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
new file mode 100644
index 0000000000..608745488a
--- /dev/null
+++ b/hw/ppc/Kconfig
@@ -0,0 +1,44 @@
+config PSERIES
+ bool
+
+config SPAPR_RNG
+ bool
+
+config POWERNV
+ bool
+
+config PPC405
+ bool
+
+config PPC440
+ bool
+
+config PPC4XX
+ bool
+
+config SAM460EX
+ bool
+
+config PREP
+ bool
+
+config RS6000_MC
+ bool
+
+config MAC_OLDWORLD
+ bool
+
+config MAC_NEWWORLD
+ bool
+
+config E500
+ bool
+
+config VIRTEX
+ bool
+
+config XIVE
+ bool
+
+config XIVE_SPAPR
+ bool
diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig
new file mode 100644
index 0000000000..4989589308
--- /dev/null
+++ b/hw/riscv/Kconfig
@@ -0,0 +1,20 @@
+config HTIF
+ bool
+
+config HART
+ bool
+
+config SIFIVE
+ bool
+
+config SIFIVE_E
+ bool
+
+config SIFIVE_U
+ bool
+
+config SPIKE
+ bool
+
+config RISCV_VIRT
+ bool
diff --git a/hw/s390x/Kconfig b/hw/s390x/Kconfig
new file mode 100644
index 0000000000..303db7f552
--- /dev/null
+++ b/hw/s390x/Kconfig
@@ -0,0 +1,2 @@
+config S390_CCW_VIRTIO
+ bool
diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
new file mode 100644
index 0000000000..eb78478ef0
--- /dev/null
+++ b/hw/scsi/Kconfig
@@ -0,0 +1,26 @@
+config SCSI
+ bool
+
+config LSI_SCSI_PCI
+ bool
+
+config MPTSAS_SCSI_PCI
+ bool
+
+config MEGASAS_SCSI_PCI
+ bool
+
+config VMW_PVSCSI_SCSI_PCI
+ bool
+
+config ESP
+ bool
+
+config ESP_PCI
+ bool
+
+config VIRTIO_SCSI
+ bool
+
+config VHOST_USER_SCSI
+ bool
diff --git a/hw/sd/Kconfig b/hw/sd/Kconfig
new file mode 100644
index 0000000000..4f43bbb352
--- /dev/null
+++ b/hw/sd/Kconfig
@@ -0,0 +1,11 @@
+config PL181
+ bool
+
+config SSI_SD
+ bool
+
+config SD
+ bool
+
+config SDHCI
+ bool
diff --git a/hw/sh4/Kconfig b/hw/sh4/Kconfig
new file mode 100644
index 0000000000..417a72fd5d
--- /dev/null
+++ b/hw/sh4/Kconfig
@@ -0,0 +1,11 @@
+config R2D
+ bool
+
+config SHIX
+ bool
+
+config SH7750
+ bool
+
+config SH4
+ bool
diff --git a/hw/smbios/Kconfig b/hw/smbios/Kconfig
new file mode 100644
index 0000000000..553adf4bfc
--- /dev/null
+++ b/hw/smbios/Kconfig
@@ -0,0 +1,2 @@
+config SMBIOS
+ bool
diff --git a/hw/sparc/Kconfig b/hw/sparc/Kconfig
new file mode 100644
index 0000000000..3795754eb6
--- /dev/null
+++ b/hw/sparc/Kconfig
@@ -0,0 +1,11 @@
+config SUN4M
+ bool
+
+config LEON3
+ bool
+
+config GRLIB
+ bool
+
+config SLAVIO
+ bool
diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig
new file mode 100644
index 0000000000..8c13345f01
--- /dev/null
+++ b/hw/sparc64/Kconfig
@@ -0,0 +1,5 @@
+config SUN4U
+ bool
+
+config NIAGARA
+ bool
diff --git a/hw/ssi/Kconfig b/hw/ssi/Kconfig
new file mode 100644
index 0000000000..5a03110a8d
--- /dev/null
+++ b/hw/ssi/Kconfig
@@ -0,0 +1,14 @@
+config PL022
+ bool
+
+config SSI
+ bool
+
+config XILINX_SPI
+ bool
+
+config XILINX_SPIPS
+ bool
+
+config STM32F2XX_SPI
+ bool
diff --git a/hw/timer/Kconfig b/hw/timer/Kconfig
new file mode 100644
index 0000000000..7dbc1211ab
--- /dev/null
+++ b/hw/timer/Kconfig
@@ -0,0 +1,53 @@
+config ARM_TIMER
+ bool
+
+config ARM_MPTIMER
+ bool
+
+config A9_GTIMER
+ bool
+
+config DS1338
+ bool
+
+config HPET
+ bool
+
+config I8254
+ bool
+
+config M41T80
+ bool
+
+config M48T59
+ bool
+
+config PL031
+ bool
+
+config TWL92230
+ bool
+
+config XLNX_ZYNQMP
+ bool
+
+config ALTERA_TIMER
+ bool
+
+config MC146818RTC
+ bool
+
+config ALLWINNER_A10_PIT
+ bool
+
+config STM32F2XX_TIMER
+ bool
+
+config SUN4V_RTC
+ bool
+
+config CMSDK_APB_TIMER
+ bool
+
+config CMSDK_APB_DUALTIMER
+ bool
diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig
new file mode 100644
index 0000000000..2eee8eb865
--- /dev/null
+++ b/hw/tpm/Kconfig
@@ -0,0 +1,14 @@
+config TPM
+ bool
+
+config TPM_TIS
+ bool
+
+config TPM_CRB
+ bool
+
+config TPM_PASSTHROUGH
+ bool
+
+config TPM_EMULATOR
+ bool
diff --git a/hw/tricore/Kconfig b/hw/tricore/Kconfig
new file mode 100644
index 0000000000..9313409309
--- /dev/null
+++ b/hw/tricore/Kconfig
@@ -0,0 +1,2 @@
+config TRICORE
+ bool
diff --git a/hw/unicore32/Kconfig b/hw/unicore32/Kconfig
new file mode 100644
index 0000000000..b3cf294c04
--- /dev/null
+++ b/hw/unicore32/Kconfig
@@ -0,0 +1,2 @@
+config PUV3
+ bool
diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
new file mode 100644
index 0000000000..cbf5c5d761
--- /dev/null
+++ b/hw/usb/Kconfig
@@ -0,0 +1,53 @@
+config USB
+ bool
+
+config USB_UHCI
+ bool
+
+config USB_OHCI
+ bool
+
+config USB_EHCI
+ bool
+
+config USB_EHCI_SYSBUS
+ bool
+
+config USB_XHCI
+ bool
+
+config USB_XHCI_NEC
+ bool
+
+config USB_MUSB
+ bool
+
+config TUSB6010
+ bool
+
+config USB_TABLET_WACOM
+ bool
+
+config USB_STORAGE_BOT
+ bool
+
+config USB_STORAGE_UAS
+ bool
+
+config USB_AUDIO
+ bool
+
+config USB_SERIAL
+ bool
+
+config USB_NETWORK
+ bool
+
+config USB_BLUETOOTH
+ bool
+
+config USB_SMARTCARD
+ bool
+
+config USB_STORAGE_MTP
+ bool
diff --git a/hw/vfio/Kconfig b/hw/vfio/Kconfig
new file mode 100644
index 0000000000..36069674cb
--- /dev/null
+++ b/hw/vfio/Kconfig
@@ -0,0 +1,20 @@
+config VFIO
+ bool
+
+config VFIO_PCI
+ bool
+
+config VFIO_CCW
+ bool
+
+config VFIO_PLATFORM
+ bool
+
+config VFIO_XGMAC
+ bool
+
+config VFIO_AMD_XGBE
+ bool
+
+config VFIO_AP
+ bool
diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
new file mode 100644
index 0000000000..ebf18124fb
--- /dev/null
+++ b/hw/virtio/Kconfig
@@ -0,0 +1,17 @@
+config VIRTIO
+ bool
+
+config VIRTIO_RNG
+ bool
+
+config VIRTIO_PCI
+ bool
+
+config VIRTIO_MMIO
+ bool
+
+config VIRTIO_BALLOON
+ bool
+
+config VIRTIO_CRYPTO
+ bool
diff --git a/hw/watchdog/Kconfig b/hw/watchdog/Kconfig
new file mode 100644
index 0000000000..cd0244f4e1
--- /dev/null
+++ b/hw/watchdog/Kconfig
@@ -0,0 +1,11 @@
+config CMSDK_APB_WATCHDOG
+ bool
+
+config WDT_IB6300ESB
+ bool
+
+config WDT_IB700
+ bool
+
+config WDT_DIAG288
+ bool
diff --git a/hw/xtensa/Kconfig b/hw/xtensa/Kconfig
new file mode 100644
index 0000000000..97543a9263
--- /dev/null
+++ b/hw/xtensa/Kconfig
@@ -0,0 +1,5 @@
+config XTENSA_SIM
+ bool
+
+config XTENSA_FPGA
+ bool
diff --git a/scripts/minikconf.py b/scripts/minikconf.py
index d89fb09271..6bedc5736e 100644
--- a/scripts/minikconf.py
+++ b/scripts/minikconf.py
@@ -13,6 +13,7 @@
from __future__ import print_function
import os
import sys
+import re
__all__ = [ 'KconfigDataError', 'KconfigParserError',
'KconfigData', 'KconfigParser' ]
@@ -350,6 +351,12 @@ class KconfigParser:
self.get_token()
self.parse_config()
+ def do_assignment(self, var, val):
+ if not var.startswith("CONFIG_"):
+ raise Error('assigned variable should start with CONFIG_')
+ var = self.data.do_var(var[7:])
+ self.data.do_assignment(var, val)
+
# file management -----
def error_path(self):
@@ -645,6 +652,28 @@ class KconfigParser:
return None
if __name__ == '__main__':
- fname = len(sys.argv) > 1 and sys.argv[1] or 'Kconfig.test'
- data = KconfigParser.parse(open(fname, 'r'))
- print data.compute_config()
+ argv = sys.argv
+ if len(argv) == 1:
+ print ("%s: at least one argument is required" % argv[0], file=sys.stderr)
+ sys.exit(1)
+
+ data = KconfigData()
+ parser = KconfigParser(data)
+ for arg in argv[3:]:
+ m = re.match(r'^(CONFIG_[A-Z0-9_]+)=([yn]?)$', arg)
+ if m is not None:
+ name, value = m.groups()
+ parser.do_assignment(name, value == 'y')
+ else:
+ fp = open(arg, 'r')
+ parser.parse_file(fp)
+ fp.close()
+
+ config = data.compute_config()
+ for key in sorted(config.keys()):
+ print ('CONFIG_%s=%s' % (key, ('y' if config[key] else 'n')))
+
+ deps = open(argv[2], 'w')
+ for fname in data.previously_included:
+ print ('%s: %s' % (argv[1], fname), file=deps)
+ deps.close()