All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
@ 2019-02-07 17:56 Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 01/51] minikconfig: add parser skeleton Paolo Bonzini
                   ` (56 more replies)
  0 siblings, 57 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Aleksandar Markovic, Peter Maydell

Now dropping RFC... Documentation is still lacking, but all targets except
ARM and MIPS are converted.  I'll let the respective maintainers decide what
timeframe they prefer.

defconfig and allnoconfig are supported as configure options, respectively
--with-default-devices (the default) and --without-default-devices.
Optional devices are listed in .mak files as commented-out "#CONFIG_FOO=n"
lines and marked as "imply" directives in Kconfig files.  ("Imply" is
new in this iteration).

For the previous discussions on the Kconfig design, see
http://lists.nongnu.org/archive/html/qemu-devel/2018-09/msg02827.html

The first part, with the Makefile changes, has already been committed.
This is only the second part therefore, with the conversion.

The last patch is needed for now to support --without-default-devices
builds, but it will go away with the other pending patches to revamp
vhost configuration.

Summary of changes from v5:
- new directive "imply" for soft dependencies (really a "reverse
  default y if ..." that is placed under the condition symbol,
  used for PCI_DEVICES and TEST_DEVICES
- conversion of various boards
- TEST_DEVICES patch moved earlier
- new patches for various subsystems and boards
- tested Xen

I still have _not_ procesed Philippe's review though.

Paolo

Paolo Bonzini (39):
  minikconfig: add parser skeleton
  minikconfig: add AST
  minikconfig: add semantic analysis
  kconfig: introduce kconfig files
  build: switch to Kconfig
  minikconfig: implement allnoconfig and defconfig modes
  kconfig: introduce CONFIG_TEST_DEVICES
  ide: express dependencies with Kconfig
  build: convert pci.mak to Kconfig
  build: convert sound.mak to Kconfig
  build: convert usb.mak to Kconfig
  block: fix recursion in hw/block/dataplane
  scsi: express dependencies with Kconfig
  isa: express dependencies with kconfig
  i386: express dependencies with Kconfig
  i2c: express dependencies with Kconfig
  ptimer: express dependencies with Kconfig
  vfio: express vfio dependencies with Kconfig
  tpm: express dependencies with Kconfig
  isa: express SuperIO dependencies with Kconfig
  ssi: express dependencies with kconfig
  sd: express dependencies with kconfig
  ipmi: express dependencies with kconfig
  alpha-softmmu.mak: express dependencies with Kconfig
  cris-softmmu.mak: express dependencies with Kconfig
  hppa-softmmu.mak: express dependencies with Kconfig
  lm32-softmmu.mak: express dependencies with Kconfig
  m68k-softmmu.mak: express dependencies with Kconfig
  microblaze-softmmu.mak: express dependencies with Kconfig
  moxie-softmmu.mak: express dependencies with Kconfig
  nios2-softmmu.mak: express dependencies with Kconfig
  or1k-softmmu.mak: express dependencies with Kconfig
  sh4-softmmu.mak: express dependencies with Kconfig
  sparc-softmmu.mak: express dependencies with Kconfig
  sparc64-softmmu.mak: express dependencies with Kconfig
  unicore32-softmmu.mak: express dependencies with Kconfig
  xtensa-softmmu.mak: express dependencies with Kconfig
  .travis.yml: test that no-default-device builds do not regress
  FIXME vhost: add more stubs

Thomas Huth (6):
  ppc64: Express dependencies of 'pseries' and 'powernv' machines with
    kconfig
  ppc: Express dependencies of the 'prep' and '40p' machines with
    kconfig
  ppc: Express dependencies of the Mac machines with kconfig
  ppc: Express dependencies of the Sam460EX machines with kconfig
  ppc: Express dependencies of the embedded machines with kconfig
  s390x: express dependencies with Kconfig

Yang Zhong (6):
  hw/display: make edid configurable
  hw/pci/Makefile.objs: make pcie configurable
  display: express dependencies with kconfig
  hyperv: express dependencies with kconfig
  virtio: express virtio dependencies with Kconfig
  i386-softmmu.mak: remove all CONFIG_* except boards definitions

 .travis.yml                             |   6 +
 Kconfig.host                            |  27 ++
 Makefile                                |  25 +-
 Makefile.target                         |   7 +-
 configure                               |  18 +-
 default-configs/alpha-softmmu.mak       |  26 +-
 default-configs/arm-softmmu.mak         |  15 +-
 default-configs/cris-softmmu.mak        |   6 +-
 default-configs/hppa-softmmu.mak        |  20 +-
 default-configs/hyperv.mak              |   2 -
 default-configs/i386-softmmu.mak        |  93 ++---
 default-configs/lm32-softmmu.mak        |  12 +-
 default-configs/m68k-softmmu.mak        |   4 +-
 default-configs/microblaze-softmmu.mak  |  12 +-
 default-configs/mips-softmmu-common.mak |  10 +-
 default-configs/mips64el-softmmu.mak    |   2 +
 default-configs/moxie-softmmu.mak       |   7 +-
 default-configs/nios2-softmmu.mak       |   6 +-
 default-configs/or1k-softmmu.mak        |   5 +-
 default-configs/pci.mak                 |  51 ---
 default-configs/ppc-softmmu.mak         |  60 ---
 default-configs/ppc64-softmmu.mak       |  13 -
 default-configs/riscv32-softmmu.mak     |   6 +-
 default-configs/riscv64-softmmu.mak     |   6 +-
 default-configs/s390x-softmmu.mak       |  23 +-
 default-configs/sh4-softmmu.mak         |  28 +-
 default-configs/sh4eb-softmmu.mak       |  22 +-
 default-configs/sound.mak               |   4 -
 default-configs/sparc-softmmu.mak       |  24 +-
 default-configs/sparc64-softmmu.mak     |  25 +-
 default-configs/unicore32-softmmu.mak   |   6 +-
 default-configs/usb.mak                 |  11 -
 default-configs/virtio.mak              |  15 -
 default-configs/xtensa-softmmu.mak      |   6 +-
 default-configs/xtensaeb-softmmu.mak    |   7 +-
 docs/devel/build-system.txt             |   1 -
 hw/9pfs/Kconfig                         |   6 +
 hw/Kconfig                              |  73 ++++
 hw/Makefile.objs                        |   2 +-
 hw/acpi/Kconfig                         |  29 ++
 hw/adc/Kconfig                          |   2 +
 hw/alpha/Kconfig                        |  12 +
 hw/arm/Kconfig                          | 123 ++++++
 hw/audio/Kconfig                        |  52 +++
 hw/block/Kconfig                        |  39 ++
 hw/block/Makefile.objs                  |   3 +-
 hw/block/dataplane/Makefile.objs        |   2 +-
 hw/bt/Kconfig                           |   2 +
 hw/char/Kconfig                         |  42 ++
 hw/core/Kconfig                         |  11 +
 hw/cpu/Kconfig                          |   8 +
 hw/cris/Kconfig                         |   9 +
 hw/display/Kconfig                      | 108 +++++
 hw/display/Makefile.objs                |   4 +-
 hw/dma/Kconfig                          |  21 +
 hw/gpio/Kconfig                         |   9 +
 hw/hppa/Kconfig                         |  10 +
 hw/hyperv/Kconfig                       |   8 +
 hw/i2c/Kconfig                          |  27 ++
 hw/i2c/Makefile.objs                    |   2 +-
 hw/i386/Kconfig                         | 100 +++++
 hw/i386/Makefile.objs                   |   5 +-
 hw/ide/Kconfig                          |  54 +++
 hw/input/Kconfig                        |  33 ++
 hw/intc/Kconfig                         |  57 +++
 hw/ipack/Kconfig                        |   4 +
 hw/ipmi/Kconfig                         |  22 +
 hw/isa/Kconfig                          |  53 +++
 hw/lm32/Kconfig                         |  13 +
 hw/m68k/Kconfig                         |   9 +
 hw/mem/Kconfig                          |  11 +
 hw/microblaze/Kconfig                   |  20 +
 hw/mips/Kconfig                         |  21 +
 hw/misc/Kconfig                         | 118 ++++++
 hw/misc/macio/Kconfig                   |  11 +
 hw/moxie/Kconfig                        |   3 +
 hw/net/Kconfig                          | 125 ++++++
 hw/nios2/Kconfig                        |   8 +
 hw/nvram/Kconfig                        |   9 +
 hw/openrisc/Kconfig                     |   5 +
 hw/pci-bridge/Kconfig                   |  29 ++
 hw/pci-host/Kconfig                     |  51 +++
 hw/pci/Kconfig                          |   9 +
 hw/pci/Makefile.objs                    |   9 +-
 hw/pcmcia/Kconfig                       |   2 +
 hw/ppc/Kconfig                          | 121 ++++++
 hw/riscv/Kconfig                        |  20 +
 hw/s390x/Kconfig                        |  11 +
 hw/s390x/Makefile.objs                  |   4 +-
 hw/scsi/Kconfig                         |  54 +++
 hw/scsi/Makefile.objs                   |   2 +-
 hw/sd/Kconfig                           |  17 +
 hw/sh4/Kconfig                          |  23 ++
 hw/smbios/Kconfig                       |   2 +
 hw/sparc/Kconfig                        |  26 ++
 hw/sparc64/Kconfig                      |  19 +
 hw/ssi/Kconfig                          |  18 +
 hw/timer/Kconfig                        |  63 +++
 hw/tpm/Kconfig                          |  25 ++
 hw/tricore/Kconfig                      |   2 +
 hw/unicore32/Kconfig                    |   5 +
 hw/usb/Kconfig                          |  91 +++++
 hw/usb/Makefile.objs                    |   2 +-
 hw/vfio/Kconfig                         |  36 ++
 hw/virtio/Kconfig                       |  31 ++
 hw/virtio/vhost-stub.c                  |  58 +++
 hw/watchdog/Kconfig                     |  16 +
 hw/xtensa/Kconfig                       |   8 +
 rules.mak                               |   2 +-
 scripts/make_device_config.sh           |  30 --
 scripts/minikconf.py                    | 700 ++++++++++++++++++++++++++++++++
 111 files changed, 2917 insertions(+), 465 deletions(-)
 create mode 100644 Kconfig.host
 delete mode 100644 default-configs/hyperv.mak
 delete mode 100644 default-configs/pci.mak
 delete mode 100644 default-configs/sound.mak
 delete mode 100644 default-configs/usb.mak
 delete mode 100644 default-configs/virtio.mak
 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/alpha/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/cris/Kconfig
 create mode 100644 hw/display/Kconfig
 create mode 100644 hw/dma/Kconfig
 create mode 100644 hw/gpio/Kconfig
 create mode 100644 hw/hppa/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/moxie/Kconfig
 create mode 100644 hw/net/Kconfig
 create mode 100644 hw/nios2/Kconfig
 create mode 100644 hw/nvram/Kconfig
 create mode 100644 hw/openrisc/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/s390x/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/tricore/Kconfig
 create mode 100644 hw/unicore32/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
 delete mode 100644 scripts/make_device_config.sh
 create mode 100644 scripts/minikconf.py

-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 01/51] minikconfig: add parser skeleton
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 02/51] minikconfig: add AST Paolo Bonzini
                   ` (55 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

This implements a scanner and recursive descent parser for Kconfig-like
configuration files.  The only "action" of the parser is for now to
detect undefined variables and process include files.

The main differences between Kconfig and this are:

* only the "bool" type is supported

* variables can only be defined once

* choices are not supported (but they could be added as syntactic
sugar for multiple Boolean values)

* menus and other graphical concepts (prompts, help text) are not
supported

* assignments ("CONFIG_FOO=y", "CONFIG_FOO=n") are parsed as part
of the Kconfig language, not as a separate file.

The idea was originally by Ákos Kovács, but I could not find his
implementation so I had to redo it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20190123065618.3520-23-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/minikconf.py | 441 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 441 insertions(+)
 create mode 100644 scripts/minikconf.py

diff --git a/scripts/minikconf.py b/scripts/minikconf.py
new file mode 100644
index 0000000..8861a32
--- /dev/null
+++ b/scripts/minikconf.py
@@ -0,0 +1,441 @@
+#
+# Mini-Kconfig parser
+#
+# Copyright (c) 2015 Red Hat Inc.
+#
+# Authors:
+#  Paolo Bonzini <pbonzini@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2
+# or, at your option, any later version.  See the COPYING file in
+# the top-level directory.
+
+from __future__ import print_function
+import os
+import sys
+
+ __all__ = [ 'KconfigParserError', 'KconfigData', 'KconfigParser' ]
+
+def debug_print(*args):
+    print('#' + (' '.join(str(x) for x in args)))
+    pass
+
+# -------------------------------------------
+# KconfigData implements the Kconfig semantics.  For now it can only
+# detect undefined symbols, i.e. symbols that were referenced in
+# assignments or dependencies but were not declared with "config FOO".
+#
+# Semantic actions are represented by methods called do_*.  The do_var
+# method return the semantic value of a variable (which right now is
+# just its name).
+# -------------------------------------------
+
+class KconfigData:
+    def __init__(self):
+        self.previously_included = []
+        self.incl_info = None
+        self.defined_vars = set()
+        self.referenced_vars = set()
+
+    # semantic analysis -------------
+
+    def check_undefined(self):
+        undef = False
+        for i in self.referenced_vars:
+            if not (i in self.defined_vars):
+                print("undefined symbol %s" % (i), file=sys.stderr)
+                undef = True
+        return undef
+
+    # semantic actions -------------
+
+    def do_declaration(self, var):
+        if (var in self.defined_vars):
+            raise Exception('variable "' + var + '" defined twice')
+
+        self.defined_vars.add(var)
+
+    # var is a string with the variable's name.
+    #
+    # For now this just returns the variable's name itself.
+    def do_var(self, var):
+        self.referenced_vars.add(var)
+        return var
+
+    def do_assignment(self, var, val):
+        pass
+
+    def do_default(self, var, val, cond=None):
+        pass
+
+    def do_depends_on(self, var, expr):
+        pass
+
+    def do_select(self, var, symbol, cond=None):
+        pass
+
+    def do_imply(self, var, symbol, cond=None):
+        pass
+
+# -------------------------------------------
+# KconfigParser implements a recursive descent parser for (simplified)
+# Kconfig syntax.
+# -------------------------------------------
+
+# tokens table
+TOKENS = {}
+TOK_NONE = -1
+TOK_LPAREN = 0;   TOKENS[TOK_LPAREN] = '"("';
+TOK_RPAREN = 1;   TOKENS[TOK_RPAREN] = '")"';
+TOK_EQUAL = 2;    TOKENS[TOK_EQUAL] = '"="';
+TOK_AND = 3;      TOKENS[TOK_AND] = '"&&"';
+TOK_OR = 4;       TOKENS[TOK_OR] = '"||"';
+TOK_NOT = 5;      TOKENS[TOK_NOT] = '"!"';
+TOK_DEPENDS = 6;  TOKENS[TOK_DEPENDS] = '"depends"';
+TOK_ON = 7;       TOKENS[TOK_ON] = '"on"';
+TOK_SELECT = 8;   TOKENS[TOK_SELECT] = '"select"';
+TOK_IMPLY = 9;    TOKENS[TOK_IMPLY] = '"imply"';
+TOK_CONFIG = 10;  TOKENS[TOK_CONFIG] = '"config"';
+TOK_DEFAULT = 11; TOKENS[TOK_DEFAULT] = '"default"';
+TOK_Y = 12;       TOKENS[TOK_Y] = '"y"';
+TOK_N = 13;       TOKENS[TOK_N] = '"n"';
+TOK_SOURCE = 14;  TOKENS[TOK_SOURCE] = '"source"';
+TOK_BOOL = 15;    TOKENS[TOK_BOOL] = '"bool"';
+TOK_IF = 16;      TOKENS[TOK_IF] = '"if"';
+TOK_ID = 17;      TOKENS[TOK_ID] = 'identifier';
+TOK_EOF = 18;     TOKENS[TOK_EOF] = 'end of file';
+
+class KconfigParserError(Exception):
+    def __init__(self, parser, msg, tok=None):
+        self.loc = parser.location()
+        tok = tok or parser.tok
+        if tok != TOK_NONE:
+            location = TOKENS.get(tok, None) or ('"%s"' % tok)
+            msg = '%s before %s' % (msg, location)
+        self.msg = msg
+
+    def __str__(self):
+        return "%s: %s" % (self.loc, self.msg)
+
+class KconfigParser:
+    @classmethod
+    def parse(self, fp):
+        data = KconfigData()
+        parser = KconfigParser(data)
+        parser.parse_file(fp)
+        if data.check_undefined():
+            raise KconfigParserError(parser, "there were undefined symbols")
+
+        return data
+
+    def __init__(self, data):
+        self.data = data
+
+    def parse_file(self, fp):
+        self.abs_fname = os.path.abspath(fp.name)
+        self.fname = fp.name
+        self.data.previously_included.append(self.abs_fname)
+        self.src = fp.read()
+        if self.src == '' or self.src[-1] != '\n':
+            self.src += '\n'
+        self.cursor = 0
+        self.line = 1
+        self.line_pos = 0
+        self.get_token()
+        self.parse_config()
+
+    # file management -----
+
+    def error_path(self):
+        inf = self.data.incl_info
+        res = ""
+        while inf:
+            res = ("In file included from %s:%d:\n" % (inf['file'],
+                                                       inf['line'])) + res
+            inf = inf['parent']
+        return res
+
+    def location(self):
+        col = 1
+        for ch in self.src[self.line_pos:self.pos]:
+            if ch == '\t':
+                col += 8 - ((col - 1) % 8)
+            else:
+                col += 1
+        return '%s%s:%d:%d' %(self.error_path(), self.fname, self.line, col)
+
+    def do_include(self, include):
+        incl_abs_fname = os.path.join(os.path.dirname(self.abs_fname),
+                                      include)
+        # catch inclusion cycle
+        inf = self.data.incl_info
+        while inf:
+            if incl_abs_fname == os.path.abspath(inf['file']):
+                raise KconfigParserError(self, "Inclusion loop for %s"
+                                    % include)
+            inf = inf['parent']
+
+        # skip multiple include of the same file
+        if incl_abs_fname in self.data.previously_included:
+            return
+        try:
+            fp = open(incl_abs_fname, 'r')
+        except IOError as e:
+            raise KconfigParserError(self,
+                                '%s: %s' % (e.strerror, include))
+
+        inf = self.data.incl_info
+        self.data.incl_info = { 'file': self.fname, 'line': self.line,
+                'parent': inf }
+        KconfigParser(self.data).parse_file(fp)
+        self.data.incl_info = inf
+
+    # recursive descent parser -----
+
+    # y_or_n: Y | N
+    def parse_y_or_n(self):
+        if self.tok == TOK_Y:
+            self.get_token()
+            return True
+        if self.tok == TOK_N:
+            self.get_token()
+            return False
+        raise KconfigParserError(self, 'Expected "y" or "n"')
+
+    # var: ID
+    def parse_var(self):
+        if self.tok == TOK_ID:
+            val = self.val
+            self.get_token()
+            return self.data.do_var(val)
+        else:
+            raise KconfigParserError(self, 'Expected identifier')
+
+    # assignment_var: ID (starting with "CONFIG_")
+    def parse_assignment_var(self):
+        if self.tok == TOK_ID:
+            val = self.val
+            if not val.startswith("CONFIG_"):
+                raise KconfigParserError(self,
+                           'Expected identifier starting with "CONFIG_"', TOK_NONE)
+            self.get_token()
+            return self.data.do_var(val[7:])
+        else:
+            raise KconfigParserError(self, 'Expected identifier')
+
+    # assignment: var EQUAL y_or_n
+    def parse_assignment(self):
+        var = self.parse_assignment_var()
+        if self.tok != TOK_EQUAL:
+            raise KconfigParserError(self, 'Expected "="')
+        self.get_token()
+        self.data.do_assignment(var, self.parse_y_or_n())
+
+    # primary: NOT primary
+    #       | LPAREN expr RPAREN
+    #       | var
+    def parse_primary(self):
+        if self.tok == TOK_NOT:
+            self.get_token()
+            self.parse_primary()
+        elif self.tok == TOK_LPAREN:
+            self.get_token()
+            self.parse_expr()
+            if self.tok != TOK_RPAREN:
+                raise KconfigParserError(self, 'Expected ")"')
+            self.get_token()
+        elif self.tok == TOK_ID:
+            self.parse_var()
+        else:
+            raise KconfigParserError(self, 'Expected "!" or "(" or identifier')
+
+    # disj: primary (OR primary)*
+    def parse_disj(self):
+        self.parse_primary()
+        while self.tok == TOK_OR:
+            self.get_token()
+            self.parse_primary()
+
+    # expr: disj (AND disj)*
+    def parse_expr(self):
+        self.parse_disj()
+        while self.tok == TOK_AND:
+            self.get_token()
+            self.parse_disj()
+
+    # condition: IF expr
+    #       | empty
+    def parse_condition(self):
+        if self.tok == TOK_IF:
+            self.get_token()
+            return self.parse_expr()
+        else:
+            return None
+
+    # property: DEFAULT y_or_n condition
+    #       | DEPENDS ON expr
+    #       | SELECT var condition
+    #       | BOOL
+    def parse_property(self, var):
+        if self.tok == TOK_DEFAULT:
+            self.get_token()
+            val = self.parse_y_or_n()
+            cond = self.parse_condition()
+            self.data.do_default(var, val, cond)
+        elif self.tok == TOK_DEPENDS:
+            self.get_token()
+            if self.tok != TOK_ON:
+                raise KconfigParserError(self, 'Expected "on"')
+            self.get_token()
+            self.data.do_depends_on(var, self.parse_expr())
+        elif self.tok == TOK_SELECT:
+            self.get_token()
+            symbol = self.parse_var()
+            cond = self.parse_condition()
+            self.data.do_select(var, symbol, cond)
+        elif self.tok == TOK_IMPLY:
+            self.get_token()
+            symbol = self.parse_var()
+            cond = self.parse_condition()
+            self.data.do_imply(var, symbol, cond)
+        elif self.tok == TOK_BOOL:
+            self.get_token()
+        else:
+            raise KconfigParserError(self, 'Error in recursive descent?')
+
+    # properties: properties property
+    #       | /* empty */
+    def parse_properties(self, var):
+        had_default = False
+        while self.tok == TOK_DEFAULT or self.tok == TOK_DEPENDS or \
+              self.tok == TOK_SELECT or self.tok == TOK_BOOL or \
+              self.tok == TOK_IMPLY:
+            self.parse_property(var)
+        self.data.do_default(var, False)
+
+        # for nicer error message
+        if self.tok != TOK_SOURCE and self.tok != TOK_CONFIG and \
+           self.tok != TOK_ID and self.tok != TOK_EOF:
+            raise KconfigParserError(self, 'expected "source", "config", identifier, '
+                    + '"default", "depends on", "imply" or "select"')
+
+    # declaration: config var properties
+    def parse_declaration(self):
+        if self.tok == TOK_CONFIG:
+            self.get_token()
+            var = self.parse_var()
+            self.data.do_declaration(var)
+            self.parse_properties(var)
+        else:
+            raise KconfigParserError(self, 'Error in recursive descent?')
+
+    # clause: SOURCE
+    #       | declaration
+    #       | assignment
+    def parse_clause(self):
+        if self.tok == TOK_SOURCE:
+            val = self.val
+            self.get_token()
+            self.do_include(val)
+        elif self.tok == TOK_CONFIG:
+            self.parse_declaration()
+        elif self.tok == TOK_ID:
+            self.parse_assignment()
+        else:
+            raise KconfigParserError(self, 'expected "source", "config" or identifier')
+
+    # config: clause+ EOF
+    def parse_config(self):
+        while self.tok != TOK_EOF:
+            self.parse_clause()
+        return self.data
+
+    # scanner -----
+
+    def get_token(self):
+        while True:
+            self.tok = self.src[self.cursor]
+            self.pos = self.cursor
+            self.cursor += 1
+
+            self.val = None
+            self.tok = self.scan_token()
+            if self.tok is not None:
+                return
+
+    def check_keyword(self, rest):
+        if not self.src.startswith(rest, self.cursor):
+            return False
+        length = len(rest)
+        if self.src[self.cursor + length].isalnum() or self.src[self.cursor + length] == '|':
+            return False
+        self.cursor += length
+        return True
+
+    def scan_token(self):
+        if self.tok == '#':
+            self.cursor = self.src.find('\n', self.cursor)
+            return None
+        elif self.tok == '=':
+            return TOK_EQUAL
+        elif self.tok == '(':
+            return TOK_LPAREN
+        elif self.tok == ')':
+            return TOK_RPAREN
+        elif self.tok == '&' and self.src[self.pos+1] == '&':
+            self.cursor += 1
+            return TOK_AND
+        elif self.tok == '|' and self.src[self.pos+1] == '|':
+            self.cursor += 1
+            return TOK_OR
+        elif self.tok == '!':
+            return TOK_NOT
+        elif self.tok == 'd' and self.check_keyword("epends"):
+            return TOK_DEPENDS
+        elif self.tok == 'o' and self.check_keyword("n"):
+            return TOK_ON
+        elif self.tok == 's' and self.check_keyword("elect"):
+            return TOK_SELECT
+        elif self.tok == 'i' and self.check_keyword("mply"):
+            return TOK_IMPLY
+        elif self.tok == 'c' and self.check_keyword("onfig"):
+            return TOK_CONFIG
+        elif self.tok == 'd' and self.check_keyword("efault"):
+            return TOK_DEFAULT
+        elif self.tok == 'b' and self.check_keyword("ool"):
+            return TOK_BOOL
+        elif self.tok == 'i' and self.check_keyword("f"):
+            return TOK_IF
+        elif self.tok == 'y' and self.check_keyword(""):
+            return TOK_Y
+        elif self.tok == 'n' and self.check_keyword(""):
+            return TOK_N
+        elif (self.tok == 's' and self.check_keyword("ource")) or \
+              self.tok == 'i' and self.check_keyword("nclude"):
+            # source FILENAME
+            # include FILENAME
+            while self.src[self.cursor].isspace():
+                self.cursor += 1
+            start = self.cursor
+            self.cursor = self.src.find('\n', self.cursor)
+            self.val = self.src[start:self.cursor]
+            return TOK_SOURCE
+        elif self.tok.isalpha():
+            # identifier
+            while self.src[self.cursor].isalnum() or self.src[self.cursor] == '_':
+                self.cursor += 1
+            self.val = self.src[self.pos:self.cursor]
+            return TOK_ID
+        elif self.tok == '\n':
+            if self.cursor == len(self.src):
+                return TOK_EOF
+            self.line += 1
+            self.line_pos = self.cursor
+        elif not self.tok.isspace():
+            raise KconfigParserError(self, 'invalid input')
+
+        return None
+
+if __name__ == '__main__':
+    fname = len(sys.argv) > 1 and sys.argv[1] or 'Kconfig.test'
+    KconfigParser.parse(open(fname, 'r'))
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 02/51] minikconfig: add AST
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 01/51] minikconfig: add parser skeleton Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 03/51] minikconfig: add semantic analysis Paolo Bonzini
                   ` (54 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Add Python classes that represent the Kconfig abstract syntax tree.
The abstract syntax tree is stored as a list of clauses.  For example:

    config FOO
        depends on BAR
        select BAZ

is represented as three clauses:

    FOO depends on BAR
    FOO default n
    select BAZ if FOO

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20190123065618.3520-24-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/minikconf.py | 121 +++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 102 insertions(+), 19 deletions(-)

diff --git a/scripts/minikconf.py b/scripts/minikconf.py
index 8861a32..d74b9df 100644
--- a/scripts/minikconf.py
+++ b/scripts/minikconf.py
@@ -31,11 +31,84 @@ def debug_print(*args):
 # -------------------------------------------
 
 class KconfigData:
+    class Expr:
+        def __and__(self, rhs):
+            return KconfigData.AND(self, rhs)
+        def __or__(self, rhs):
+            return KconfigData.OR(self, rhs)
+        def __invert__(self):
+            return KconfigData.NOT(self)
+
+    class AND(Expr):
+        def __init__(self, lhs, rhs):
+            self.lhs = lhs
+            self.rhs = rhs
+        def __str__(self):
+            return "(%s && %s)" % (self.lhs, self.rhs)
+
+    class OR(Expr):
+        def __init__(self, lhs, rhs):
+            self.lhs = lhs
+            self.rhs = rhs
+        def __str__(self):
+            return "(%s || %s)" % (self.lhs, self.rhs)
+
+    class NOT(Expr):
+        def __init__(self, lhs):
+            self.lhs = lhs
+        def __str__(self):
+            return "!%s" % (self.lhs)
+
+    class Var(Expr):
+        def __init__(self, name):
+            self.name = name
+            self.value = None
+        def __str__(self):
+            return self.name
+
+    class Clause:
+        def __init__(self, dest):
+            self.dest = dest
+
+    class AssignmentClause(Clause):
+        def __init__(self, dest, value):
+            KconfigData.Clause.__init__(self, dest)
+            self.value = value
+        def __str__(self):
+            return "%s=%s" % (self.dest, 'y' if self.value else 'n')
+
+    class DefaultClause(Clause):
+        def __init__(self, dest, value, cond=None):
+            KconfigData.Clause.__init__(self, dest)
+            self.value = value
+            self.cond = cond
+        def __str__(self):
+            value = 'y' if self.value else 'n'
+            if self.cond is None:
+                return "config %s default %s" % (self.dest, value)
+            else:
+                return "config %s default %s if %s" % (self.dest, value, self.cond)
+
+    class DependsOnClause(Clause):
+        def __init__(self, dest, expr):
+            KconfigData.Clause.__init__(self, dest)
+            self.expr = expr
+        def __str__(self):
+            return "config %s depends on %s" % (self.dest, self.expr)
+
+    class SelectClause(Clause):
+        def __init__(self, dest, cond):
+            KconfigData.Clause.__init__(self, dest)
+            self.cond = cond
+        def __str__(self):
+            return "select %s if %s" % (self.dest, self.cond)
+
     def __init__(self):
         self.previously_included = []
         self.incl_info = None
         self.defined_vars = set()
-        self.referenced_vars = set()
+        self.referenced_vars = dict()
+        self.clauses = list()
 
     # semantic analysis -------------
 
@@ -53,29 +126,34 @@ class KconfigData:
         if (var in self.defined_vars):
             raise Exception('variable "' + var + '" defined twice')
 
-        self.defined_vars.add(var)
+        self.defined_vars.add(var.name)
 
     # var is a string with the variable's name.
-    #
-    # For now this just returns the variable's name itself.
     def do_var(self, var):
-        self.referenced_vars.add(var)
-        return var
+        if (var in self.referenced_vars):
+            return self.referenced_vars[var]
+
+        var_obj = self.referenced_vars[var] = KconfigData.Var(var)
+        return var_obj
 
     def do_assignment(self, var, val):
-        pass
+        self.clauses.append(KconfigData.AssignmentClause(var, val))
 
     def do_default(self, var, val, cond=None):
-        pass
+        self.clauses.append(KconfigData.DefaultClause(var, val, cond))
 
     def do_depends_on(self, var, expr):
-        pass
+        self.clauses.append(KconfigData.DependsOnClause(var, expr))
 
     def do_select(self, var, symbol, cond=None):
-        pass
+        cond = (cond & var) if cond is not None else var
+        self.clauses.append(KconfigData.SelectClause(symbol, cond))
 
     def do_imply(self, var, symbol, cond=None):
-        pass
+        # "config X imply Y [if COND]" is the same as
+        # "config Y default y if X [&& COND]"
+        cond = (cond & var) if cond is not None else var
+        self.do_default(symbol, True, cond)
 
 # -------------------------------------------
 # KconfigParser implements a recursive descent parser for (simplified)
@@ -237,31 +315,34 @@ class KconfigParser:
     def parse_primary(self):
         if self.tok == TOK_NOT:
             self.get_token()
-            self.parse_primary()
+            val = ~self.parse_primary()
         elif self.tok == TOK_LPAREN:
             self.get_token()
-            self.parse_expr()
+            val = self.parse_expr()
             if self.tok != TOK_RPAREN:
                 raise KconfigParserError(self, 'Expected ")"')
             self.get_token()
         elif self.tok == TOK_ID:
-            self.parse_var()
+            val = self.parse_var()
         else:
             raise KconfigParserError(self, 'Expected "!" or "(" or identifier')
+        return val
 
     # disj: primary (OR primary)*
     def parse_disj(self):
-        self.parse_primary()
+        lhs = self.parse_primary()
         while self.tok == TOK_OR:
             self.get_token()
-            self.parse_primary()
+            lhs = lhs | self.parse_primary()
+        return lhs
 
     # expr: disj (AND disj)*
     def parse_expr(self):
-        self.parse_disj()
+        lhs = self.parse_disj()
         while self.tok == TOK_AND:
             self.get_token()
-            self.parse_disj()
+            lhs = lhs & self.parse_disj()
+        return lhs
 
     # condition: IF expr
     #       | empty
@@ -438,4 +519,6 @@ class KconfigParser:
 
 if __name__ == '__main__':
     fname = len(sys.argv) > 1 and sys.argv[1] or 'Kconfig.test'
-    KconfigParser.parse(open(fname, 'r'))
+    data = KconfigParser.parse(open(fname, 'r'))
+    for i in data.clauses:
+        print i
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 03/51] minikconfig: add semantic analysis
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 01/51] minikconfig: add parser skeleton Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 02/51] minikconfig: add AST Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 04/51] hw/display: make edid configurable Paolo Bonzini
                   ` (53 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

There are three parts in the semantic analysis:

1) evaluating expressions.  This is done as a simple visit
of the Expr nodes.

2) ordering clauses.  This is done by constructing a graph of variables.
There is an edge from X to Y if Y depends on X, if X selects Y, or if
X appears in a conditional selection of Y; in other words, if the value
of X can affect the value of Y.  Each clause has a "destination" variable
whose value can be affected by the clause, and clauses will be processed
according to a topological sorting of their destination variables.
Defaults are processed after all other clauses with the same destination.

3) deriving the value of the variables.  This is done by processing
the clauses in the topological order provided by the previous step.
A "depends on" clause will force a variable to False, a "select" clause
will force a variable to True, an assignment will force a variable
to its RHS.  A default will set a variable to its RHS if it has not
been set before.  Because all variables have a default, after visiting
all clauses all variables will have been set.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20190123065618.3520-25-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/minikconf.py | 138 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 130 insertions(+), 8 deletions(-)

diff --git a/scripts/minikconf.py b/scripts/minikconf.py
index d74b9df..2df14ca 100644
--- a/scripts/minikconf.py
+++ b/scripts/minikconf.py
@@ -20,6 +20,10 @@ def debug_print(*args):
     print('#' + (' '.join(str(x) for x in args)))
     pass
 
+def debug_print(*args):
+    #print ' '.join(str(x) for x in args)
+    pass
+
 # -------------------------------------------
 # KconfigData implements the Kconfig semantics.  For now it can only
 # detect undefined symbols, i.e. symbols that were referenced in
@@ -39,6 +43,12 @@ class KconfigData:
         def __invert__(self):
             return KconfigData.NOT(self)
 
+        # Abstract methods
+        def add_edges_to(self, var):
+            pass
+        def evaluate(self):
+            assert False
+
     class AND(Expr):
         def __init__(self, lhs, rhs):
             self.lhs = lhs
@@ -46,6 +56,12 @@ class KconfigData:
         def __str__(self):
             return "(%s && %s)" % (self.lhs, self.rhs)
 
+        def add_edges_to(self, var):
+            self.lhs.add_edges_to(var)
+            self.rhs.add_edges_to(var)
+        def evaluate(self):
+            return self.lhs.evaluate() and self.rhs.evaluate()
+
     class OR(Expr):
         def __init__(self, lhs, rhs):
             self.lhs = lhs
@@ -53,35 +69,85 @@ class KconfigData:
         def __str__(self):
             return "(%s || %s)" % (self.lhs, self.rhs)
 
+        def add_edges_to(self, var):
+            self.lhs.add_edges_to(var)
+            self.rhs.add_edges_to(var)
+        def evaluate(self):
+            return self.lhs.evaluate() or self.rhs.evaluate()
+
     class NOT(Expr):
         def __init__(self, lhs):
             self.lhs = lhs
         def __str__(self):
             return "!%s" % (self.lhs)
 
+        def add_edges_to(self, var):
+            self.lhs.add_edges_to(var)
+        def evaluate(self):
+            return not self.lhs.evaluate()
+
     class Var(Expr):
         def __init__(self, name):
             self.name = name
             self.value = None
+            self.outgoing = set()
+            self.clauses_for_var = list()
         def __str__(self):
             return self.name
 
+        def has_value(self):
+            return not (self.value is None)
+        def set_value(self, val, clause):
+            self.clauses_for_var.append(clause)
+            if self.has_value() and self.value != val:
+                print("The following clauses were found for " + self.name)
+                for i in self.clauses_for_var:
+                    print("    " + str(i), file=sys.stderr)
+                raise KconfigParserError('contradiction between clauses when setting %s' % self)
+            debug_print("=> %s is now %s" % (self.name, val))
+            self.value = val
+
+        # depth first search of the dependency graph
+        def dfs(self, visited, f):
+            if self in visited:
+                return
+            visited.add(self)
+            for v in self.outgoing:
+                v.dfs(visited, f)
+            f(self)
+
+        def add_edges_to(self, var):
+            self.outgoing.add(var)
+        def evaluate(self):
+            if not self.has_value():
+                raise KconfigParserError('cycle found including %s' % self)
+            return self.value
+
     class Clause:
         def __init__(self, dest):
             self.dest = dest
+        def priority(self):
+            return 0
+        def process(self):
+            pass
 
     class AssignmentClause(Clause):
         def __init__(self, dest, value):
             KconfigData.Clause.__init__(self, dest)
             self.value = value
         def __str__(self):
-            return "%s=%s" % (self.dest, 'y' if self.value else 'n')
+            return "CONFIG_%s=%s" % (self.dest, 'y' if self.value else 'n')
+
+        def process(self):
+            self.dest.set_value(self.value, self)
 
     class DefaultClause(Clause):
         def __init__(self, dest, value, cond=None):
             KconfigData.Clause.__init__(self, dest)
             self.value = value
             self.cond = cond
+            if not (self.cond is None):
+                self.cond.add_edges_to(self.dest)
         def __str__(self):
             value = 'y' if self.value else 'n'
             if self.cond is None:
@@ -89,20 +155,38 @@ class KconfigData:
             else:
                 return "config %s default %s if %s" % (self.dest, value, self.cond)
 
+        def priority(self):
+            # Defaults are processed just before leaving the variable
+            return -1
+        def process(self):
+            if not self.dest.has_value() and \
+                    (self.cond is None or self.cond.evaluate()):
+                self.dest.set_value(self.value, self)
+
     class DependsOnClause(Clause):
         def __init__(self, dest, expr):
             KconfigData.Clause.__init__(self, dest)
             self.expr = expr
+            self.expr.add_edges_to(self.dest)
         def __str__(self):
             return "config %s depends on %s" % (self.dest, self.expr)
 
+        def process(self):
+            if not self.expr.evaluate():
+                self.dest.set_value(False, self)
+
     class SelectClause(Clause):
         def __init__(self, dest, cond):
             KconfigData.Clause.__init__(self, dest)
             self.cond = cond
+            self.cond.add_edges_to(self.dest)
         def __str__(self):
             return "select %s if %s" % (self.dest, self.cond)
 
+        def process(self):
+            if self.cond.evaluate():
+                self.dest.set_value(True, self)
+
     def __init__(self):
         self.previously_included = []
         self.incl_info = None
@@ -120,11 +204,54 @@ class KconfigData:
                 undef = True
         return undef
 
+    def compute_config(self):
+        if self.check_undefined():
+            raise KconfigParserError(parser, "there were undefined symbols")
+            return None
+
+        debug_print("Input:")
+        for clause in self.clauses:
+            debug_print(clause)
+
+        debug_print("\nDependency graph:")
+        for i in self.referenced_vars:
+            debug_print(i, "->", [str(x) for x in self.referenced_vars[i].outgoing])
+
+        # The reverse of the depth-first order is the topological sort
+        dfo = dict()
+        visited = set()
+        debug_print("\n")
+        def visit_fn(var):
+            debug_print(var, "has DFS number", len(dfo))
+            dfo[var] = len(dfo)
+
+        for name, v in self.referenced_vars.items():
+            self.do_default(v, False)
+            v.dfs(visited, visit_fn)
+
+        # Put higher DFS numbers and higher priorities first.  This
+        # places the clauses in topological order and places defaults
+        # after assignments and dependencies.
+        self.clauses.sort(key=lambda x: (-dfo[x.dest], -x.priority()))
+
+        debug_print("\nSorted clauses:")
+        for clause in self.clauses:
+            debug_print(clause)
+            clause.process()
+
+        debug_print("")
+        values = dict()
+        for name, v in self.referenced_vars.items():
+            debug_print("Evaluating", name)
+            values[name] = v.evaluate()
+
+        return values
+
     # semantic actions -------------
 
     def do_declaration(self, var):
         if (var in self.defined_vars):
-            raise Exception('variable "' + var + '" defined twice')
+            raise KconfigParserError('variable "' + var + '" defined twice')
 
         self.defined_vars.add(var.name)
 
@@ -201,9 +328,6 @@ class KconfigParser:
         data = KconfigData()
         parser = KconfigParser(data)
         parser.parse_file(fp)
-        if data.check_undefined():
-            raise KconfigParserError(parser, "there were undefined symbols")
-
         return data
 
     def __init__(self, data):
@@ -392,7 +516,6 @@ class KconfigParser:
               self.tok == TOK_SELECT or self.tok == TOK_BOOL or \
               self.tok == TOK_IMPLY:
             self.parse_property(var)
-        self.data.do_default(var, False)
 
         # for nicer error message
         if self.tok != TOK_SOURCE and self.tok != TOK_CONFIG and \
@@ -520,5 +643,4 @@ class KconfigParser:
 if __name__ == '__main__':
     fname = len(sys.argv) > 1 and sys.argv[1] or 'Kconfig.test'
     data = KconfigParser.parse(open(fname, 'r'))
-    for i in data.clauses:
-        print i
+    print data.compute_config()
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 04/51] hw/display: make edid configurable
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (2 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 03/51] minikconfig: add semantic analysis Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
                   ` (52 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

From: Yang Zhong <yang.zhong@intel.com>

Use CONFIG_EDID to make edid-generate.c and edid-region.c
configurable.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-26-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/pci.mak  | 1 +
 hw/display/Makefile.objs | 4 +---
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index 037636f..0552190 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -49,3 +49,4 @@ CONFIG_IVSHMEM_DEVICE=$(CONFIG_IVSHMEM)
 CONFIG_ROCKER=y
 CONFIG_VFIO=$(CONFIG_LINUX)
 CONFIG_VFIO_PCI=y
+CONFIG_EDID=y
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 7c4ae9a..576fca4 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -1,4 +1,4 @@
-common-obj-y += edid-generate.o
+common-obj-$(CONFIG_EDID) += edid-generate.o edid-region.o
 
 common-obj-$(CONFIG_FW_CFG_DMA) += ramfb.o
 common-obj-$(CONFIG_FW_CFG_DMA) += ramfb-standalone.o
@@ -15,12 +15,10 @@ common-obj-$(CONFIG_SSD0323) += ssd0323.o
 common-obj-$(CONFIG_XEN) += xenfb.o
 
 common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
-common-obj-$(CONFIG_VGA_PCI) += edid-region.o
 common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
 common-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
 common-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
 common-obj-$(CONFIG_BOCHS_DISPLAY) += bochs-display.o
-common-obj-$(CONFIG_BOCHS_DISPLAY) += edid-region.o
 
 common-obj-$(CONFIG_BLIZZARD) += blizzard.o
 common-obj-$(CONFIG_EXYNOS4) += exynos4210_fimd.o
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (3 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 04/51] hw/display: make edid configurable Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 18:35   ` Thomas Huth
                     ` (3 more replies)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 06/51] build: switch to Kconfig Paolo Bonzini
                   ` (51 subsequent siblings)
  56 siblings, 4 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

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>
---
 Kconfig.host          |  23 ++++++++++
 hw/9pfs/Kconfig       |   4 ++
 hw/Kconfig            |  68 +++++++++++++++++++++++++++++
 hw/acpi/Kconfig       |  20 +++++++++
 hw/adc/Kconfig        |   2 +
 hw/alpha/Kconfig      |   2 +
 hw/arm/Kconfig        | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++
 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/cris/Kconfig       |   5 +++
 hw/display/Kconfig    |  77 ++++++++++++++++++++++++++++++++
 hw/dma/Kconfig        |  20 +++++++++
 hw/gpio/Kconfig       |   8 ++++
 hw/hppa/Kconfig       |   2 +
 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       |  94 +++++++++++++++++++++++++++++++++++++++
 hw/misc/macio/Kconfig |  11 +++++
 hw/moxie/Kconfig      |   2 +
 hw/net/Kconfig        |  92 ++++++++++++++++++++++++++++++++++++++
 hw/nios2/Kconfig      |   5 +++
 hw/nvram/Kconfig      |   8 ++++
 hw/openrisc/Kconfig   |   2 +
 hw/pci-bridge/Kconfig |  20 +++++++++
 hw/pci-host/Kconfig   |  35 +++++++++++++++
 hw/pci/Kconfig        |   2 +
 hw/pcmcia/Kconfig     |   2 +
 hw/ppc/Kconfig        |  44 +++++++++++++++++++
 hw/riscv/Kconfig      |  20 +++++++++
 hw/s390x/Kconfig      |   2 +
 hw/scsi/Kconfig       |  26 +++++++++++
 hw/sd/Kconfig         |  11 +++++
 hw/sh4/Kconfig        |  11 +++++
 hw/smbios/Kconfig     |   2 +
 hw/sparc/Kconfig      |  11 +++++
 hw/sparc64/Kconfig    |   5 +++
 hw/ssi/Kconfig        |  14 ++++++
 hw/timer/Kconfig      |  53 ++++++++++++++++++++++
 hw/tpm/Kconfig        |  14 ++++++
 hw/tricore/Kconfig    |   2 +
 hw/unicore32/Kconfig  |   2 +
 hw/usb/Kconfig        |  53 ++++++++++++++++++++++
 hw/vfio/Kconfig       |  20 +++++++++
 hw/virtio/Kconfig     |  17 ++++++++
 hw/watchdog/Kconfig   |  11 +++++
 hw/xtensa/Kconfig     |   5 +++
 scripts/minikconf.py  |  35 +++++++++++++--
 63 files changed, 1336 insertions(+), 3 deletions(-)
 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/alpha/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/cris/Kconfig
 create mode 100644 hw/display/Kconfig
 create mode 100644 hw/dma/Kconfig
 create mode 100644 hw/gpio/Kconfig
 create mode 100644 hw/hppa/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/moxie/Kconfig
 create mode 100644 hw/net/Kconfig
 create mode 100644 hw/nios2/Kconfig
 create mode 100644 hw/nvram/Kconfig
 create mode 100644 hw/openrisc/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/s390x/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/tricore/Kconfig
 create mode 100644 hw/unicore32/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 0000000..ff5457d
--- /dev/null
+++ b/Kconfig.host
@@ -0,0 +1,23 @@
+# 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
diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig
new file mode 100644
index 0000000..be8e5b3
--- /dev/null
+++ b/hw/9pfs/Kconfig
@@ -0,0 +1,4 @@
+config VIRTFS
+
+config VIRTIO_9P
+    bool
diff --git a/hw/Kconfig b/hw/Kconfig
new file mode 100644
index 0000000..c4f1547
--- /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 0000000..c485a34
--- /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 0000000..25d2229
--- /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 0000000..c5d0438
--- /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 0000000..64cd698
--- /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 EXYNOS4
+    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 IOTKIT
+    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
diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig
new file mode 100644
index 0000000..207baee
--- /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 0000000..9d418bc
--- /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 0000000..554a9ee
--- /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 0000000..26c1324
--- /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 0000000..c2a1ae8
--- /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 0000000..1767d02
--- /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 0000000..86954ab
--- /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 0000000..d5c022c
--- /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 0000000..b9ce1c5
--- /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 0000000..d0a4abf
--- /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 0000000..5ce48ef
--- /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 0000000..be724b7
--- /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 0000000..d6d4402
--- /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 0000000..c851e2b
--- /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 0000000..5ec4495
--- /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 0000000..91bae47
--- /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 0000000..69adbd1
--- /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 0000000..481e0d2
--- /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 0000000..68f8ba1
--- /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 0000000..b59d074
--- /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 0000000..84c530e
--- /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 0000000..cd66ada
--- /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 0000000..a3a4372
--- /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 0000000..44683b2
--- /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 0000000..348c9bf
--- /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 0000000..d512634
--- /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 0000000..c6caeb6
--- /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 0000000..03f62e3
--- /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 0000000..d358b2c
--- /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 0000000..22817e4
--- /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 0000000..1f5ec95
--- /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 0000000..7aef98d
--- /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 0000000..bb19b7a
--- /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 0000000..2edc5bb
--- /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 0000000..d3d2205
--- /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 0000000..41f2df9
--- /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 0000000..6087454
--- /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 0000000..4989589
--- /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 0000000..303db7f
--- /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 0000000..eb78478
--- /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 0000000..4f43bbb
--- /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 0000000..417a72f
--- /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 0000000..553adf4
--- /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 0000000..3795754
--- /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 0000000..8c13345
--- /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 0000000..5a03110
--- /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 0000000..7dbc121
--- /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 0000000..2eee8eb
--- /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 0000000..9313409
--- /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 0000000..b3cf294
--- /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 0000000..cbf5c5d
--- /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 0000000..3606967
--- /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 0000000..ebf1812
--- /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 0000000..cd0244f
--- /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 0000000..97543a9
--- /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 2df14ca..dd96ab9 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__ = [ 'KconfigParserError', 'KconfigData', 'KconfigParser' ]
 
@@ -346,6 +347,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):
@@ -641,6 +648,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()
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 06/51] build: switch to Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (4 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-21 15:44   ` Stefano Garzarella
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 07/51] minikconfig: implement allnoconfig and defconfig modes Paolo Bonzini
                   ` (50 subsequent siblings)
  56 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

The make_device_config.sh script is replaced by minikconf, which
is modified to support the same command line as its predecessor.

The roots of the parsing are default-configs/*.mak, Kconfig.host and
hw/Kconfig.  One difference with make_device_config.sh is that all symbols
have to be defined in a Kconfig file, including those coming from the
configure script.  This is the reason for the Kconfig.host file introduced
in the previous patch. Whenever a file in default-configs/*.mak used
$(...) to refer to a config-host.mak symbol, this is replaced by a
Kconfig dependency; this part must be done already in this patch
for bisectability.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-28-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Kconfig.host                      |  6 +++++-
 Makefile                          | 24 +++++++++++++++++++-----
 Makefile.target                   |  7 ++++++-
 configure                         |  6 ++++++
 default-configs/arm-softmmu.mak   |  2 --
 default-configs/i386-softmmu.mak  |  5 +----
 default-configs/lm32-softmmu.mak  |  1 -
 default-configs/pci.mak           |  1 -
 default-configs/ppc-softmmu.mak   |  1 -
 default-configs/ppc64-softmmu.mak |  5 -----
 default-configs/s390x-softmmu.mak |  4 +---
 default-configs/virtio.mak        |  3 ---
 hw/9pfs/Kconfig                   |  2 ++
 hw/block/Kconfig                  |  2 ++
 hw/display/Kconfig                |  3 +++
 hw/i386/Kconfig                   |  7 +++++++
 hw/input/Kconfig                  |  5 +++++
 hw/intc/Kconfig                   | 12 ++++++++++++
 hw/misc/Kconfig                   |  2 ++
 hw/ppc/Kconfig                    |  4 ++++
 hw/scsi/Kconfig                   |  7 +++++++
 hw/tpm/Kconfig                    |  1 +
 hw/vfio/Kconfig                   |  9 +++++++++
 rules.mak                         |  2 +-
 scripts/make_device_config.sh     | 30 ------------------------------
 25 files changed, 93 insertions(+), 58 deletions(-)
 delete mode 100644 scripts/make_device_config.sh

diff --git a/Kconfig.host b/Kconfig.host
index ff5457d..e3d486c 100644
--- a/Kconfig.host
+++ b/Kconfig.host
@@ -1,5 +1,6 @@
 # These are "proxy" symbols used to pass config-host.mak values
-# down to Kconfig.
+# down to Kconfig.  See also MINIKCONF_ARGS in the Makefile:
+# these two need to be kept in sync.
 
 config KVM
     bool
@@ -10,6 +11,9 @@ config LINUX
 config OPENGL
     bool
 
+config X11
+    bool
+
 config SPICE
     bool
 
diff --git a/Makefile b/Makefile
index 3658310..959ab9e 100644
--- a/Makefile
+++ b/Makefile
@@ -313,8 +313,8 @@ DOCS=
 endif
 
 SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory --quiet) BUILD_DIR=$(BUILD_DIR)
-SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(TARGET_DIRS))
-SUBDIR_DEVICES_MAK_DEP=$(patsubst %, %-config-devices.mak.d, $(TARGET_DIRS))
+SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(filter %-softmmu, $(TARGET_DIRS)))
+SUBDIR_DEVICES_MAK_DEP=$(patsubst %, %.d, $(SUBDIR_DEVICES_MAK))
 
 ifeq ($(SUBDIR_DEVICES_MAK),)
 config-all-devices.mak:
@@ -329,9 +329,23 @@ endif
 
 -include $(SUBDIR_DEVICES_MAK_DEP)
 
-%/config-devices.mak: default-configs/%.mak $(SRC_PATH)/scripts/make_device_config.sh
-	$(call quiet-command, \
-            $(SHELL) $(SRC_PATH)/scripts/make_device_config.sh $< $*-config-devices.mak.d $@ > $@.tmp,"GEN","$@.tmp")
+# This has to be kept in sync with Kconfig.host.
+MINIKCONF_ARGS = \
+    $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \
+    CONFIG_KVM=$(CONFIG_KVM) \
+    CONFIG_SPICE=$(CONFIG_SPICE) \
+    CONFIG_TPM=$(CONFIG_TPM) \
+    CONFIG_XEN=$(CONFIG_XEN) \
+    CONFIG_OPENGL=$(CONFIG_OPENGL) \
+    CONFIG_X11=$(CONFIG_X11) \
+    CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \
+    CONFIG_LINUX=$(CONFIG_LINUX)
+
+MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig
+MINIKCONF = $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \
+
+$(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak $(MINIKCONF_INPUTS) $(BUILD_DIR)/config-host.mak
+	$(call quiet-command, $(MINIKCONF) $(MINIKCONF_ARGS) > $@.tmp, "GEN", "$@.tmp")
 	$(call quiet-command, if test -f $@; then \
 	  if cmp -s $@.old $@; then \
 	    mv $@.tmp $@; \
diff --git a/Makefile.target b/Makefile.target
index 401dc1e..bb82959 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -4,9 +4,12 @@ BUILD_DIR?=$(CURDIR)/..
 
 include ../config-host.mak
 include config-target.mak
-include config-devices.mak
 include $(SRC_PATH)/rules.mak
 
+ifdef CONFIG_SOFTMMU
+include config-devices.mak
+endif
+
 $(call set-vpath, $(SRC_PATH):$(BUILD_DIR))
 ifdef CONFIG_LINUX
 QEMU_CFLAGS += -I../linux-headers
@@ -198,7 +201,9 @@ all-obj-$(CONFIG_SOFTMMU) += $(crypto-obj-y)
 all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y)
 all-obj-$(CONFIG_SOFTMMU) += $(slirp-obj-y)
 
+ifdef CONFIG_SOFTMMU
 $(QEMU_PROG_BUILD): config-devices.mak
+endif
 
 COMMON_LDADDS = ../libqemuutil.a
 
diff --git a/configure b/configure
index 558170c..64f843f 100755
--- a/configure
+++ b/configure
@@ -7346,18 +7346,24 @@ fi
 
 if supported_xen_target $target; then
     echo "CONFIG_XEN=y" >> $config_target_mak
+    echo "$target/config-devices.mak: CONFIG_XEN=y" >> $config_host_mak
     if test "$xen_pci_passthrough" = yes; then
         echo "CONFIG_XEN_PCI_PASSTHROUGH=y" >> "$config_target_mak"
     fi
+else
+    echo "$target/config-devices.mak: CONFIG_XEN=n" >> $config_host_mak
 fi
 if supported_kvm_target $target; then
     echo "CONFIG_KVM=y" >> $config_target_mak
+    echo "$target/config-devices.mak: CONFIG_KVM=y" >> $config_host_mak
     if test "$vhost_net" = "yes" ; then
         echo "CONFIG_VHOST_NET=y" >> $config_target_mak
         if test "$vhost_user" = "yes" ; then
             echo "CONFIG_VHOST_USER_NET_TEST_$target_name=y" >> $config_host_mak
         fi
     fi
+else
+    echo "$target/config-devices.mak: CONFIG_KVM=n" >> $config_host_mak
 fi
 if supported_hax_target $target; then
     echo "CONFIG_HAX=y" >> $config_target_mak
diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 734ca72..40d31cc 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -51,7 +51,6 @@ CONFIG_ARM_V7M=y
 CONFIG_NETDUINO2=y
 
 CONFIG_ARM_GIC=y
-CONFIG_ARM_GIC_KVM=$(CONFIG_KVM)
 CONFIG_ARM_TIMER=y
 CONFIG_ARM_MPTIMER=y
 CONFIG_A9_GTIMER=y
@@ -124,7 +123,6 @@ CONFIG_VERSATILE_PCI=y
 CONFIG_VERSATILE_I2C=y
 
 CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y
-CONFIG_VFIO=$(CONFIG_LINUX)
 CONFIG_VFIO_PLATFORM=y
 CONFIG_VFIO_XGMAC=y
 CONFIG_VFIO_AMD_XGBE=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 15b6287..412c8c5 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -4,7 +4,6 @@ include pci.mak
 include sound.mak
 include usb.mak
 include hyperv.mak
-CONFIG_QXL=$(CONFIG_SPICE)
 CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_VMWARE_VGA=y
@@ -37,8 +36,6 @@ CONFIG_HPET=y
 CONFIG_APPLESMC=y
 CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
-CONFIG_TPM_TIS=$(CONFIG_TPM)
-CONFIG_TPM_CRB=$(CONFIG_TPM)
 CONFIG_MC146818RTC=y
 CONFIG_PCI_PIIX=y
 CONFIG_WDT_IB700=y
@@ -66,9 +63,9 @@ CONFIG_ACPI_SMBUS=y
 CONFIG_SMBUS_EEPROM=y
 CONFIG_FW_CFG_DMA=y
 CONFIG_I2C=y
-CONFIG_SEV=$(CONFIG_KVM)
 CONFIG_VTD=y
 CONFIG_AMD_IOMMU=y
 CONFIG_PAM=y
+CONFIG_PC=y
 CONFIG_I440FX=y
 CONFIG_Q35=y
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index 4049b23..ef0f4ba 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -2,7 +2,6 @@
 
 CONFIG_LM32=y
 CONFIG_MILKYMIST=y
-CONFIG_MILKYMIST_TMU2=$(call land,$(CONFIG_X11),$(CONFIG_OPENGL))
 CONFIG_FRAMEBUFFER=y
 CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI01=y
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index 0552190..3d4c71d 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -47,6 +47,5 @@ CONFIG_VGA_PCI=y
 CONFIG_BOCHS_DISPLAY=y
 CONFIG_IVSHMEM_DEVICE=$(CONFIG_IVSHMEM)
 CONFIG_ROCKER=y
-CONFIG_VFIO=$(CONFIG_LINUX)
 CONFIG_VFIO_PCI=y
 CONFIG_EDID=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 52acb7c..90118cb 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -18,7 +18,6 @@ CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_XILINX_ETHLITE=y
 CONFIG_E500=y
-CONFIG_OPENPIC_KVM=$(call land,$(CONFIG_E500),$(CONFIG_KVM))
 CONFIG_PLATFORM_BUS=y
 CONFIG_ETSEC=y
 CONFIG_PPC405=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 7f34ad0..a0a9151 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -13,11 +13,6 @@ CONFIG_ISA_IPMI_BT=y
 # For pSeries
 CONFIG_PSERIES=y
 CONFIG_VIRTIO_VGA=y
-CONFIG_XICS=$(CONFIG_PSERIES)
-CONFIG_XICS_SPAPR=$(CONFIG_PSERIES)
-CONFIG_XICS_KVM=$(call land,$(CONFIG_PSERIES),$(CONFIG_KVM))
-CONFIG_XIVE=$(CONFIG_PSERIES)
-CONFIG_XIVE_SPAPR=$(CONFIG_PSERIES)
 CONFIG_MEM_DEVICE=y
 CONFIG_DIMM=y
 CONFIG_SPAPR_RNG=y
diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak
index 6f2c6ce..2794ffb 100644
--- a/default-configs/s390x-softmmu.mak
+++ b/default-configs/s390x-softmmu.mak
@@ -1,12 +1,10 @@
 CONFIG_PCI=y
-CONFIG_VIRTIO_PCI=$(CONFIG_PCI)
+CONFIG_VIRTIO_PCI=y
 include virtio.mak
 CONFIG_SCLPCONSOLE=y
 CONFIG_TERMINAL3270=y
 CONFIG_S390_FLIC=y
-CONFIG_S390_FLIC_KVM=$(CONFIG_KVM)
 CONFIG_WDT_DIAG288=y
 CONFIG_S390_CCW_VIRTIO=y
-CONFIG_VFIO=$(CONFIG_LINUX)
 CONFIG_VFIO_CCW=y
 CONFIG_VFIO_AP=y
diff --git a/default-configs/virtio.mak b/default-configs/virtio.mak
index ecb4420..51599ed 100644
--- a/default-configs/virtio.mak
+++ b/default-configs/virtio.mak
@@ -1,5 +1,3 @@
-CONFIG_VHOST_USER_SCSI=$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX))
-CONFIG_VHOST_USER_BLK=$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX))
 CONFIG_VIRTIO=y
 CONFIG_VIRTIO_9P=$(CONFIG_VIRTFS)
 CONFIG_VIRTIO_BALLOON=y
@@ -12,4 +10,3 @@ CONFIG_VIRTIO_RNG=y
 CONFIG_SCSI=y
 CONFIG_VIRTIO_SCSI=y
 CONFIG_VIRTIO_SERIAL=y
-CONFIG_VIRTIO_INPUT_HOST=$(CONFIG_LINUX)
diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig
index be8e5b3..32071c1 100644
--- a/hw/9pfs/Kconfig
+++ b/hw/9pfs/Kconfig
@@ -2,3 +2,5 @@ config VIRTFS
 
 config VIRTIO_9P
     bool
+    default y
+    depends on VIRTFS
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
index 9d418bc..65431c4 100644
--- a/hw/block/Kconfig
+++ b/hw/block/Kconfig
@@ -27,3 +27,5 @@ config VIRTIO_BLK
 
 config VHOST_USER_BLK
     bool
+    default y
+    depends on VHOST_USER && LINUX
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index d5c022c..1149ea2 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -51,6 +51,8 @@ config FRAMEBUFFER
 
 config MILKYMIST_TMU2
     bool
+    default y
+    depends on OPENGL && X11
 
 config SM501
     bool
@@ -66,6 +68,7 @@ config VGA
 
 config QXL
     bool
+    depends on SPICE && PCI
 
 config VIRTIO_GPU
     bool
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index c851e2b..6df3f7c 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -1,5 +1,12 @@
 config SEV
     bool
+    depends on KVM
+
+config PC
+    bool
+    imply QXL
+    imply SEV
+    imply TPM_TIS
 
 config I440FX
     bool
diff --git a/hw/input/Kconfig b/hw/input/Kconfig
index 91bae47..c729dcd 100644
--- a/hw/input/Kconfig
+++ b/hw/input/Kconfig
@@ -19,5 +19,10 @@ config TSC2005
 config VIRTIO_INPUT
     bool
 
+config VIRTIO_INPUT_HOST
+    bool
+    default y
+    depends on LINUX
+
 config TSC210X
     bool
diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index 69adbd1..6eea14e 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -21,18 +21,28 @@ config APIC
 
 config ARM_GIC_KVM
     bool
+    default y
+    depends on ARM_GIC && KVM
 
 config OPENPIC_KVM
     bool
+    default y
+    depends on OPENPIC && KVM
 
 config XICS
     bool
+    default y
+    depends on PSERIES
 
 config XICS_SPAPR
     bool
+    default y
+    depends on PSERIES
 
 config XICS_KVM
     bool
+    default y
+    depends on XICS && KVM
 
 config ALLWINNER_A10_PIC
     bool
@@ -42,6 +52,8 @@ config S390_FLIC
 
 config S390_FLIC_KVM
     bool
+    default y
+    depends on S390_FLIC && KVM
 
 config OMPIC
     bool
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index d512634..74474bb 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -48,6 +48,8 @@ config MACIO
 
 config IVSHMEM_DEVICE
     bool
+    default y
+    depends on PCI
 
 config ECCMEMCTL
     bool
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 6087454..fb085d7 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -39,6 +39,10 @@ config VIRTEX
 
 config XIVE
     bool
+    default y
+    depends on PSERIES
 
 config XIVE_SPAPR
     bool
+    default y
+    depends on PSERIES
diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
index eb78478..a3518a3 100644
--- a/hw/scsi/Kconfig
+++ b/hw/scsi/Kconfig
@@ -19,8 +19,15 @@ config ESP
 config ESP_PCI
     bool
 
+config SPAPR_VSCSI
+    bool
+    default y
+    depends on PSERIES
+
 config VIRTIO_SCSI
     bool
 
 config VHOST_USER_SCSI
     bool
+    default y
+    depends on VHOST_USER && LINUX
diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig
index 2eee8eb..da4bb5b 100644
--- a/hw/tpm/Kconfig
+++ b/hw/tpm/Kconfig
@@ -3,6 +3,7 @@ config TPM
 
 config TPM_TIS
     bool
+    depends on TPM
 
 config TPM_CRB
     bool
diff --git a/hw/vfio/Kconfig b/hw/vfio/Kconfig
index 3606967..0fdff10 100644
--- a/hw/vfio/Kconfig
+++ b/hw/vfio/Kconfig
@@ -1,14 +1,21 @@
 config VFIO
     bool
+    depends on LINUX
 
 config VFIO_PCI
     bool
+    select VFIO
+    depends on LINUX
 
 config VFIO_CCW
     bool
+    select VFIO
+    depends on LINUX
 
 config VFIO_PLATFORM
     bool
+    select VFIO
+    depends on LINUX
 
 config VFIO_XGMAC
     bool
@@ -18,3 +25,5 @@ config VFIO_AMD_XGBE
 
 config VFIO_AP
     bool
+    select VFIO
+    depends on LINUX
diff --git a/rules.mak b/rules.mak
index 86e033d..62cf02e 100644
--- a/rules.mak
+++ b/rules.mak
@@ -144,7 +144,7 @@ cc-option = $(if $(shell $(CC) $1 $2 -S -o /dev/null -xc /dev/null \
 cc-c-option = $(if $(shell $(CC) $1 $2 -c -o /dev/null -xc /dev/null \
                 >/dev/null 2>&1 && echo OK), $2, $3)
 
-VPATH_SUFFIXES = %.c %.h %.S %.cc %.cpp %.m %.mak %.texi %.sh %.rc
+VPATH_SUFFIXES = %.c %.h %.S %.cc %.cpp %.m %.mak %.texi %.sh %.rc Kconfig%
 set-vpath = $(if $1,$(foreach PATTERN,$(VPATH_SUFFIXES),$(eval vpath $(PATTERN) $1)))
 
 # install-prog list, dir
diff --git a/scripts/make_device_config.sh b/scripts/make_device_config.sh
deleted file mode 100644
index 354af31..0000000
--- a/scripts/make_device_config.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /bin/sh
-# Writes a target device config file to stdout, from a default and from
-# include directives therein.  Also emits Makefile dependencies.
-#
-# Usage: make_device_config.sh SRC DEPFILE-NAME DEPFILE-TARGET > DEST
-
-src=$1
-dep=$2
-target=$3
-src_dir=$(dirname $src)
-all_includes=
-
-process_includes () {
-  cat $1 | grep '^include' | \
-  while read include file ; do
-    all_includes="$all_includes $src_dir/$file"
-    process_includes $src_dir/$file
-  done
-}
-
-f=$src
-while [ -n "$f" ] ; do
-  f=$(cat $f | tr -d '\r' | awk '/^include / {printf "'$src_dir'/%s ", $2}')
-  [ $? = 0 ] || exit 1
-  all_includes="$all_includes $f"
-done
-process_includes $src
-
-cat $src $all_includes | grep -v '^include'
-echo "$target: $all_includes" > $dep
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 07/51] minikconfig: implement allnoconfig and defconfig modes
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (5 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 06/51] build: switch to Kconfig Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 08/51] kconfig: introduce CONFIG_TEST_DEVICES Paolo Bonzini
                   ` (49 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Apart from defconfig (which is a no-op),
allyesconfig/allnoconfig/randcondfig can be implemented simply by ignoring
the RHS of assignments and "default" statements.  The RHS is replaced
respectively by "true", "false" or a random value.

However, allyesconfig and randconfig do not quite work, because all the
files for hw/ARCH/Kconfig are sourced and therefore you could end up
enabling some ARM boards in x86 or things like that.  This is left for
future work, but I am leaving it in to help debugging minikconf itself.

allnoconfig mode is tied to a new configure option, --without-default-devices.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile             |  1 +
 configure            | 12 +++++++++++-
 scripts/minikconf.py | 43 ++++++++++++++++++++++++++++++++++---------
 3 files changed, 46 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index 959ab9e..e444f91 100644
--- a/Makefile
+++ b/Makefile
@@ -331,6 +331,7 @@ endif
 
 # This has to be kept in sync with Kconfig.host.
 MINIKCONF_ARGS = \
+    $(CONFIG_MINIKCONF_MODE) \
     $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \
     CONFIG_KVM=$(CONFIG_KVM) \
     CONFIG_SPICE=$(CONFIG_SPICE) \
diff --git a/configure b/configure
index 64f843f..39e80c7 100755
--- a/configure
+++ b/configure
@@ -486,7 +486,7 @@ libxml2=""
 docker="no"
 debug_mutex="no"
 libpmem=""
-libudev="no"
+default_devices="yes"
 
 # cross compilers defaults, can be overridden with --cross-cc-ARCH
 cross_cc_aarch64="aarch64-linux-gnu-gcc"
@@ -997,6 +997,10 @@ for opt do
   ;;
   --with-trace-file=*) trace_file="$optarg"
   ;;
+  --with-default-devices) default_devices="yes"
+  ;;
+  --without-default-devices) default_devices="no"
+  ;;
   --enable-gprof) gprof="yes"
   ;;
   --enable-gcov) gcov="yes"
@@ -6183,6 +6187,7 @@ echo "capstone          $capstone"
 echo "docker            $docker"
 echo "libpmem support   $libpmem"
 echo "libudev           $libudev"
+echo "default devices   $default_devices"
 
 if test "$supported_cpu" = "no"; then
     echo
@@ -6244,6 +6249,11 @@ echo "GIT_UPDATE=$git_update" >> $config_host_mak
 
 echo "ARCH=$ARCH" >> $config_host_mak
 
+if test "$default_devices" = "yes" ; then
+  echo "CONFIG_MINIKCONF_MODE=--defconfig" >> $config_host_mak
+else
+  echo "CONFIG_MINIKCONF_MODE=--allnoconfig" >> $config_host_mak
+fi
 if test "$debug_tcg" = "yes" ; then
   echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
 fi
diff --git a/scripts/minikconf.py b/scripts/minikconf.py
index dd96ab9..dc1b612 100644
--- a/scripts/minikconf.py
+++ b/scripts/minikconf.py
@@ -14,17 +14,15 @@ from __future__ import print_function
 import os
 import sys
 import re
+import random
 
- __all__ = [ 'KconfigParserError', 'KconfigData', 'KconfigParser' ]
+__all__ = [ 'KconfigParserError', 'KconfigData', 'KconfigParser',
+        'defconfig', 'allyesconfig', 'allnoconfig', 'randconfig' ]
 
 def debug_print(*args):
     print('#' + (' '.join(str(x) for x in args)))
     pass
 
-def debug_print(*args):
-    #print ' '.join(str(x) for x in args)
-    pass
-
 # -------------------------------------------
 # KconfigData implements the Kconfig semantics.  For now it can only
 # detect undefined symbols, i.e. symbols that were referenced in
@@ -35,6 +33,11 @@ def debug_print(*args):
 # just its name).
 # -------------------------------------------
 
+allyesconfig = lambda x: True
+allnoconfig = lambda x: False
+defconfig = lambda x: x
+randconfig = lambda x: random.randint(0, 1) == 1
+
 class KconfigData:
     class Expr:
         def __and__(self, rhs):
@@ -188,7 +191,8 @@ class KconfigData:
             if self.cond.evaluate():
                 self.dest.set_value(True, self)
 
-    def __init__(self):
+    def __init__(self, value_mangler=defconfig):
+        self.value_mangler = value_mangler
         self.previously_included = []
         self.incl_info = None
         self.defined_vars = set()
@@ -268,6 +272,7 @@ class KconfigData:
         self.clauses.append(KconfigData.AssignmentClause(var, val))
 
     def do_default(self, var, val, cond=None):
+        val = self.value_mangler(val)
         self.clauses.append(KconfigData.DefaultClause(var, val, cond))
 
     def do_depends_on(self, var, expr):
@@ -324,9 +329,10 @@ class KconfigParserError(Exception):
         return "%s: %s" % (self.loc, self.msg)
 
 class KconfigParser:
+
     @classmethod
-    def parse(self, fp):
-        data = KconfigData()
+    def parse(self, fp, mode=None):
+        data = KconfigData(mode or KconfigParser.defconfig)
         parser = KconfigParser(data)
         parser.parse_file(fp)
         return data
@@ -649,11 +655,30 @@ class KconfigParser:
 
 if __name__ == '__main__':
     argv = sys.argv
+    mode = defconfig
+    if len(sys.argv) > 1:
+        if argv[1] == '--defconfig':
+            del argv[1]
+        elif argv[1] == '--randconfig':
+            random.seed()
+            mode = randconfig
+            del argv[1]
+        elif argv[1] == '--allyesconfig':
+            mode = allyesconfig
+            del argv[1]
+        elif argv[1] == '--allnoconfig':
+            mode = allnoconfig
+            del argv[1]
+
     if len(argv) == 1:
         print ("%s: at least one argument is required" % argv[0], file=sys.stderr)
         sys.exit(1)
 
-    data = KconfigData()
+    if argv[1].startswith('-'):
+        print ("%s: invalid option %s" % (argv[0], argv[1]), file=sys.stderr)
+        sys.exit(1)
+
+    data = KconfigData(mode)
     parser = KconfigParser(data)
     for arg in argv[3:]:
         m = re.match(r'^(CONFIG_[A-Z0-9_]+)=([yn]?)$', arg)
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 08/51] kconfig: introduce CONFIG_TEST_DEVICES
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (6 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 07/51] minikconfig: implement allnoconfig and defconfig modes Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 09/51] ide: express dependencies with Kconfig Paolo Bonzini
                   ` (48 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Devices that are mostly used for testing purposes (for example in
endianness-test) will be moved under a new symbol CONFIG_TEST_DEVICES
that can be disabled in the default-configs file.  This makes
it easier to drop this code from QEMU if desirable.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak       | 1 +
 default-configs/i386-softmmu.mak        | 1 +
 default-configs/mips-softmmu-common.mak | 1 +
 default-configs/ppc-softmmu.mak         | 1 +
 default-configs/sh4-softmmu.mak         | 1 +
 default-configs/sh4eb-softmmu.mak       | 1 +
 default-configs/sparc64-softmmu.mak     | 1 +
 hw/Kconfig                              | 3 +++
 8 files changed, 10 insertions(+)

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index 49cb7ce..74501ca 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -18,5 +18,6 @@ CONFIG_IDE_CMD646=y
 CONFIG_I8259=y
 CONFIG_MC146818RTC=y
 CONFIG_ISA_TESTDEV=y
+CONFIG_TEST_DEVICES=y
 CONFIG_SMC37C669=y
 CONFIG_DP264=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 412c8c5..1d43fb2 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -4,6 +4,7 @@ include pci.mak
 include sound.mak
 include usb.mak
 include hyperv.mak
+CONFIG_TEST_DEVICES=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_VMWARE_VGA=y
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index ded7498..331bdc5 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -41,3 +41,4 @@ CONFIG_MALTA=y
 CONFIG_MIPSSIM=y
 CONFIG_ACPI_SMBUS=y
 CONFIG_SMBUS_EEPROM=y
+CONFIG_TEST_DEVICES=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 90118cb..a58d81a 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -3,6 +3,7 @@
 include pci.mak
 include sound.mak
 include usb.mak
+CONFIG_TEST_DEVICES=y
 
 # For embedded PPCs:
 CONFIG_PPC4XX=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 1fdb009..38c7290 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -12,6 +12,7 @@ CONFIG_SM501=y
 CONFIG_I2C=y
 CONFIG_DDC=y
 CONFIG_ISA_TESTDEV=y
+CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
 CONFIG_I8259=y
 CONFIG_I8254=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 3b550a5..c966cca 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -12,6 +12,7 @@ CONFIG_SM501=y
 CONFIG_I2C=y
 CONFIG_DDC=y
 CONFIG_ISA_TESTDEV=y
+CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
 CONFIG_I8259=y
 CONFIG_I8254=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 1fae488..415d4e0 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -16,6 +16,7 @@ CONFIG_SIMBA=y
 CONFIG_SUNHME=y
 CONFIG_MC146818RTC=y
 CONFIG_ISA_TESTDEV=y
+CONFIG_TEST_DEVICES=y
 CONFIG_SUN4V_RTC=y
 CONFIG_SUN4U=y
 CONFIG_NIAGARA=y
diff --git a/hw/Kconfig b/hw/Kconfig
index c4f1547..f902c8f 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -61,6 +61,9 @@ source unicore32/Kconfig
 source xtensa/Kconfig
 
 # Symbols used by multiple targets
+config TEST_DEVICES
+    bool
+
 config XILINX
     bool
 
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 09/51] ide: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (7 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 08/51] kconfig: introduce CONFIG_TEST_DEVICES Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 10/51] hw/pci/Makefile.objs: make pcie configurable Paolo Bonzini
                   ` (47 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-29-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak   |  2 --
 default-configs/hppa-softmmu.mak    |  1 -
 default-configs/pci.mak             |  3 ---
 default-configs/sparc64-softmmu.mak |  1 -
 hw/ide/Kconfig                      | 15 +++++++++++++++
 5 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index 74501ca..3fd656e 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -11,8 +11,6 @@ CONFIG_PARALLEL=y
 CONFIG_FDC=y
 CONFIG_PCKBD=y
 CONFIG_VGA_CIRRUS=y
-CONFIG_IDE_CORE=y
-CONFIG_IDE_QDEV=y
 CONFIG_VMWARE_VGA=y
 CONFIG_IDE_CMD646=y
 CONFIG_I8259=y
diff --git a/default-configs/hppa-softmmu.mak b/default-configs/hppa-softmmu.mak
index b594a6d..e0a6cdc 100644
--- a/default-configs/hppa-softmmu.mak
+++ b/default-configs/hppa-softmmu.mak
@@ -5,7 +5,6 @@ CONFIG_SERIAL_ISA=y
 CONFIG_ISA_BUS=y
 CONFIG_I8259=y
 CONFIG_E1000_PCI=y
-CONFIG_IDE_ISA=y
 CONFIG_IDE_CMD646=y
 # CONFIG_IDE_MMIO=y
 CONFIG_VIRTIO_VGA=y
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index 3d4c71d..41af5e7 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -23,9 +23,6 @@ CONFIG_MPTSAS_SCSI_PCI=y
 CONFIG_RTL8139_PCI=y
 CONFIG_E1000_PCI=y
 CONFIG_E1000E_PCI_EXPRESS=y
-CONFIG_IDE_CORE=y
-CONFIG_IDE_QDEV=y
-CONFIG_IDE_PCI=y
 CONFIG_AHCI=y
 CONFIG_ESP=y
 CONFIG_ESP_PCI=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 415d4e0..b17513b 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -9,7 +9,6 @@ CONFIG_SERIAL_ISA=y
 CONFIG_PARALLEL=y
 CONFIG_PCKBD=y
 CONFIG_FDC=y
-CONFIG_IDE_ISA=y
 CONFIG_IDE_CMD646=y
 CONFIG_PCI_SABRE=y
 CONFIG_SIMBA=y
diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
index 5ec4495..fe27705 100644
--- a/hw/ide/Kconfig
+++ b/hw/ide/Kconfig
@@ -3,33 +3,48 @@ config IDE_CORE
 
 config IDE_QDEV
     bool
+    select IDE_CORE
 
 config IDE_PCI
     bool
+    select IDE_CORE
 
 config IDE_ISA
     bool
+    select IDE_QDEV
 
 config IDE_PIIX
     bool
+    select IDE_PCI
+    select IDE_QDEV
 
 config IDE_CMD646
     bool
+    select IDE_PCI
+    select IDE_QDEV
 
 config IDE_MACIO
     bool
+    select IDE_QDEV
 
 config IDE_MMIO
     bool
+    select IDE_QDEV
 
 config IDE_VIA
     bool
+    select IDE_PCI
+    select IDE_QDEV
 
 config MICRODRIVE
     bool
+    select IDE_QDEV
 
 config AHCI
     bool
+    select IDE_QDEV
 
 config IDE_SII3112
     bool
+    select IDE_PCI
+    select IDE_QDEV
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 10/51] hw/pci/Makefile.objs: make pcie configurable
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (8 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 09/51] ide: express dependencies with Kconfig Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 11/51] build: convert pci.mak to Kconfig Paolo Bonzini
                   ` (46 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong, Michael S. Tsirkin

From: Yang Zhong <yang.zhong@intel.com>

Make pcie splited from pci and make it configurable.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-30-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak      | 1 +
 default-configs/i386-softmmu.mak     | 1 +
 default-configs/mips64el-softmmu.mak | 1 +
 default-configs/ppc-softmmu.mak      | 1 +
 default-configs/riscv32-softmmu.mak  | 1 +
 default-configs/riscv64-softmmu.mak  | 1 +
 hw/pci/Kconfig                       | 4 ++++
 hw/pci/Makefile.objs                 | 9 +++++++--
 8 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 40d31cc..3c87a22 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -122,6 +122,7 @@ CONFIG_VERSATILE=y
 CONFIG_VERSATILE_PCI=y
 CONFIG_VERSATILE_I2C=y
 
+CONFIG_PCI_EXPRESS=y
 CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y
 CONFIG_VFIO_PLATFORM=y
 CONFIG_VFIO_XGMAC=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 1d43fb2..256443e 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -45,6 +45,7 @@ CONFIG_ISA_TESTDEV=y
 CONFIG_VMPORT=y
 CONFIG_SGA=y
 CONFIG_LPC_ICH9=y
+CONFIG_PCI_EXPRESS=y
 CONFIG_PCI_EXPRESS_Q35=y
 CONFIG_APIC=y
 CONFIG_IOAPIC=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index 9eb1208..c6ad4da 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -12,4 +12,5 @@ CONFIG_JAZZ_LED=y
 CONFIG_VT82C686=y
 CONFIG_MIPS_BOSTON=y
 CONFIG_FITLOADER=y
+CONFIG_PCI_EXPRESS=y
 CONFIG_PCI_EXPRESS_XILINX=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index a58d81a..5c576fe 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -24,6 +24,7 @@ CONFIG_ETSEC=y
 CONFIG_PPC405=y
 CONFIG_PPC440=y
 CONFIG_VIRTEX=y
+CONFIG_PCI_EXPRESS=y
 
 # For Sam460ex
 CONFIG_SAM460EX=y
diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-softmmu.mak
index 6533716..8c3a91a 100644
--- a/default-configs/riscv32-softmmu.mak
+++ b/default-configs/riscv32-softmmu.mak
@@ -8,6 +8,7 @@ CONFIG_VIRTIO_MMIO=y
 
 CONFIG_CADENCE=y
 
+CONFIG_PCI_EXPRESS=y
 CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y
 
 CONFIG_VGA=y
diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-softmmu.mak
index 6533716..8c3a91a 100644
--- a/default-configs/riscv64-softmmu.mak
+++ b/default-configs/riscv64-softmmu.mak
@@ -8,6 +8,7 @@ CONFIG_VIRTIO_MMIO=y
 
 CONFIG_CADENCE=y
 
+CONFIG_PCI_EXPRESS=y
 CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y
 
 CONFIG_VGA=y
diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
index d3d2205..4ca2537 100644
--- a/hw/pci/Kconfig
+++ b/hw/pci/Kconfig
@@ -1,2 +1,6 @@
 config PCI
     bool
+
+config PCI_EXPRESS
+    bool
+    select PCI
diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
index 9f905e6..c78f2fb 100644
--- a/hw/pci/Makefile.objs
+++ b/hw/pci/Makefile.objs
@@ -2,8 +2,13 @@ common-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
 common-obj-$(CONFIG_PCI) += msix.o msi.o
 common-obj-$(CONFIG_PCI) += shpc.o
 common-obj-$(CONFIG_PCI) += slotid_cap.o
-common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
-common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
+common-obj-$(CONFIG_PCI) += pci_host.o
+
+# The functions in these modules can be used by devices too.  Since we
+# allow plugging PCIe devices into PCI buses, include them even if
+# CONFIG_PCI_EXPRESS=n.
+common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o
+common-obj-$(CONFIG_PCI_EXPRESS) += pcie_port.o pcie_host.o
 
 common-obj-$(call lnot,$(CONFIG_PCI)) += pci-stub.o
 common-obj-$(CONFIG_ALL) += pci-stub.o
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 11/51] build: convert pci.mak to Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (9 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 10/51] hw/pci/Makefile.objs: make pcie configurable Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 12/51] build: convert sound.mak " Paolo Bonzini
                   ` (45 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong, Michael S. Tsirkin

Instead of including the same list of devices for each target,
set CONFIG_PCI to true, and make the devices default to present
whenever PCI is available.  However, s390x does not want all the
PCI devices, so there is a separate symbol to enable them.

Done mostly with the following script:

  while read i; do
     i=${i%=y}; i=${i#CONFIG_}
     sed -i -e'/^config '$i'$/!b' -en \
            -e'a\' -e'    default y if PCI_DEVICES\' -e'    depends on PCI' \
          `grep -lw $i hw/*/Kconfig`
  done < default-configs/pci.mak

followed by replacing a few "depends on" clauses with "select"
whenever the symbol is not really related to PCI.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-31-yang.zhong@intel.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak       |  3 ++-
 default-configs/arm-softmmu.mak         |  7 ++++-
 default-configs/hppa-softmmu.mak        |  5 +++-
 default-configs/i386-softmmu.mak        |  5 ++--
 default-configs/mips-softmmu-common.mak |  3 ++-
 default-configs/mips64el-softmmu.mak    |  1 +
 default-configs/pci.mak                 | 48 ---------------------------------
 default-configs/ppc-softmmu.mak         |  3 ++-
 default-configs/riscv32-softmmu.mak     |  4 +--
 default-configs/riscv64-softmmu.mak     |  4 +--
 default-configs/sh4-softmmu.mak         |  3 ++-
 default-configs/sh4eb-softmmu.mak       |  3 ++-
 default-configs/sparc64-softmmu.mak     |  3 ++-
 docs/devel/build-system.txt             |  1 -
 hw/audio/Kconfig                        |  6 +++++
 hw/block/Kconfig                        |  2 ++
 hw/char/Kconfig                         |  2 ++
 hw/display/Kconfig                      | 16 +++++++++++
 hw/ide/Kconfig                          |  3 +++
 hw/ipack/Kconfig                        |  2 ++
 hw/misc/Kconfig                         |  6 ++++-
 hw/net/Kconfig                          | 23 ++++++++++++++++
 hw/pci-bridge/Kconfig                   |  8 ++++++
 hw/pci-host/Kconfig                     | 10 +++++++
 hw/pci/Kconfig                          |  3 +++
 hw/scsi/Kconfig                         | 11 ++++++++
 hw/sd/Kconfig                           |  3 +++
 hw/usb/Kconfig                          | 10 +++++++
 hw/virtio/Kconfig                       |  3 +++
 hw/watchdog/Kconfig                     |  2 ++
 30 files changed, 138 insertions(+), 65 deletions(-)
 delete mode 100644 default-configs/pci.mak

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index 3fd656e..d19d920 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -1,7 +1,8 @@
 # Default configuration for alpha-softmmu
 
-include pci.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
 CONFIG_I82374=y
diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 3c87a22..1ebe433 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -1,7 +1,8 @@
 # Default configuration for arm-softmmu
 
-include pci.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_VGA=y
 CONFIG_NAND=y
 CONFIG_ECC=y
@@ -162,3 +163,7 @@ CONFIG_PCI_EXPRESS_DESIGNWARE=y
 CONFIG_STRONGARM=y
 CONFIG_HIGHBANK=y
 CONFIG_MUSICPAL=y
+
+# for realview and versatilepb
+CONFIG_SCSI=y
+CONFIG_LSI_SCSI_PCI=y
diff --git a/default-configs/hppa-softmmu.mak b/default-configs/hppa-softmmu.mak
index e0a6cdc..85a2011 100644
--- a/default-configs/hppa-softmmu.mak
+++ b/default-configs/hppa-softmmu.mak
@@ -1,5 +1,6 @@
-include pci.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
 CONFIG_ISA_BUS=y
@@ -7,6 +8,8 @@ CONFIG_I8259=y
 CONFIG_E1000_PCI=y
 CONFIG_IDE_CMD646=y
 # CONFIG_IDE_MMIO=y
+CONFIG_SCSI=y
+CONFIG_LSI_SCSI_PCI=y
 CONFIG_VIRTIO_VGA=y
 CONFIG_MC146818RTC=y
 CONFIG_DINO=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 256443e..80c4b49 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -1,12 +1,12 @@
 # Default configuration for i386-softmmu
 
-include pci.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 include sound.mak
 include usb.mak
 include hyperv.mak
 CONFIG_TEST_DEVICES=y
 CONFIG_VGA_ISA=y
-CONFIG_VGA_CIRRUS=y
 CONFIG_VMWARE_VGA=y
 CONFIG_VMXNET3_PCI=y
 CONFIG_VIRTIO_VGA=y
@@ -54,7 +54,6 @@ CONFIG_MEM_DEVICE=y
 CONFIG_DIMM=y
 CONFIG_NVDIMM=y
 CONFIG_ACPI_NVDIMM=y
-CONFIG_PCIE_PORT=y
 CONFIG_XIO3130=y
 CONFIG_IOH3420=y
 CONFIG_I82801B11=y
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index 331bdc5..88f28e5 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -1,8 +1,9 @@
 # Common mips*-softmmu CONFIG defines
 
-include pci.mak
 include sound.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_ESP=y
 CONFIG_SCSI=y
 CONFIG_VGA_ISA=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index c6ad4da..8b255ef 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -10,6 +10,7 @@ CONFIG_JAZZ=y
 CONFIG_G364FB=y
 CONFIG_JAZZ_LED=y
 CONFIG_VT82C686=y
+CONFIG_AHCI=y
 CONFIG_MIPS_BOSTON=y
 CONFIG_FITLOADER=y
 CONFIG_PCI_EXPRESS=y
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
deleted file mode 100644
index 41af5e7..0000000
--- a/default-configs/pci.mak
+++ /dev/null
@@ -1,48 +0,0 @@
-CONFIG_PCI=y
-# For now, CONFIG_IDE_CORE requires ISA, so we enable it here
-CONFIG_ISA_BUS=y
-CONFIG_VIRTIO_PCI=y
-include virtio.mak
-CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_XHCI=y
-CONFIG_USB_XHCI_NEC=y
-CONFIG_NE2000_PCI=y
-CONFIG_EEPRO100_PCI=y
-CONFIG_PCNET_PCI=y
-CONFIG_PCNET_COMMON=y
-CONFIG_AC97=y
-CONFIG_HDA=y
-CONFIG_ES1370=y
-CONFIG_SCSI=y
-CONFIG_LSI_SCSI_PCI=y
-CONFIG_VMW_PVSCSI_SCSI_PCI=y
-CONFIG_MEGASAS_SCSI_PCI=y
-CONFIG_MPTSAS_SCSI_PCI=y
-CONFIG_RTL8139_PCI=y
-CONFIG_E1000_PCI=y
-CONFIG_E1000E_PCI_EXPRESS=y
-CONFIG_AHCI=y
-CONFIG_ESP=y
-CONFIG_ESP_PCI=y
-CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
-CONFIG_SERIAL_PCI=y
-CONFIG_CAN_BUS=y
-CONFIG_CAN_SJA1000=y
-CONFIG_CAN_PCI=y
-CONFIG_IPACK=y
-CONFIG_WDT_IB6300ESB=y
-CONFIG_PCI_TESTDEV=y
-CONFIG_NVME_PCI=y
-CONFIG_SD=y
-CONFIG_SDHCI=y
-CONFIG_EDU=y
-CONFIG_VGA=y
-CONFIG_VGA_PCI=y
-CONFIG_BOCHS_DISPLAY=y
-CONFIG_IVSHMEM_DEVICE=$(CONFIG_IVSHMEM)
-CONFIG_ROCKER=y
-CONFIG_VFIO_PCI=y
-CONFIG_EDID=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 5c576fe..f47c069 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -1,8 +1,9 @@
 # Default configuration for ppc-softmmu
 
-include pci.mak
 include sound.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_TEST_DEVICES=y
 
 # For embedded PPCs:
diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-softmmu.mak
index 8c3a91a..5501c1b 100644
--- a/default-configs/riscv32-softmmu.mak
+++ b/default-configs/riscv32-softmmu.mak
@@ -1,8 +1,8 @@
 # Default configuration for riscv-softmmu
 
-include pci.mak
 include usb.mak
-
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_VIRTIO_MMIO=y
 
diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-softmmu.mak
index 8c3a91a..5501c1b 100644
--- a/default-configs/riscv64-softmmu.mak
+++ b/default-configs/riscv64-softmmu.mak
@@ -1,8 +1,8 @@
 # Default configuration for riscv-softmmu
 
-include pci.mak
 include usb.mak
-
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_VIRTIO_MMIO=y
 
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 38c7290..4c33d34 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -1,7 +1,8 @@
 # Default configuration for sh4-softmmu
 
-include pci.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
 CONFIG_PTIMER=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index c966cca..71f81da 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -1,7 +1,8 @@
 # Default configuration for sh4eb-softmmu
 
-include pci.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
 CONFIG_PTIMER=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index b17513b..cb70798 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -1,7 +1,8 @@
 # Default configuration for sparc64-softmmu
 
-include pci.mak
 include usb.mak
+CONFIG_PCI=y
+CONFIG_PCI_DEVICES=y
 CONFIG_M48T59=y
 CONFIG_PTIMER=y
 CONFIG_SERIAL=y
diff --git a/docs/devel/build-system.txt b/docs/devel/build-system.txt
index f9fd27f..addd274 100644
--- a/docs/devel/build-system.txt
+++ b/docs/devel/build-system.txt
@@ -417,7 +417,6 @@ into each QEMU system and userspace emulator targets. They merely
 contain a long list of config variable definitions. For example,
 default-configs/x86_64-softmmu.mak has:
 
-  include pci.mak
   include sound.mak
   include usb.mak
   CONFIG_QXL=$(CONFIG_SPICE)
diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig
index 207baee..aa5c82b 100644
--- a/hw/audio/Kconfig
+++ b/hw/audio/Kconfig
@@ -3,9 +3,13 @@ config SB16
 
 config ES1370
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config AC97
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config ADLIB
     bool
@@ -18,6 +22,8 @@ config CS4231A
 
 config HDA
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config PCSPK
     bool
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
index 65431c4..b60e2ab 100644
--- a/hw/block/Kconfig
+++ b/hw/block/Kconfig
@@ -21,6 +21,8 @@ config ONENAND
 
 config NVME_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config VIRTIO_BLK
     bool
diff --git a/hw/char/Kconfig b/hw/char/Kconfig
index 26c1324..6eba69a 100644
--- a/hw/char/Kconfig
+++ b/hw/char/Kconfig
@@ -15,6 +15,8 @@ config SERIAL_ISA
 
 config SERIAL_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config VIRTIO_SERIAL
     bool
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index 1149ea2..9199beb 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -9,6 +9,9 @@ config ADS7846
 
 config VGA_CIRRUS
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select VGA
 
 config G364FB
     bool
@@ -30,6 +33,9 @@ config SSD0323
 
 config VGA_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select VGA
 
 config VGA_ISA
     bool
@@ -39,9 +45,15 @@ config VGA_ISA_MM
 
 config VMWARE_VGA
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select VGA
 
 config BOCHS_DISPLAY
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select VGA
 
 config BLIZZARD
     bool
@@ -69,12 +81,16 @@ config VGA
 config QXL
     bool
     depends on SPICE && PCI
+    select VGA
 
 config VIRTIO_GPU
     bool
 
 config VIRTIO_VGA
     bool
+    default y if PCI_DEVICES
+    depends on VIRTIO_PCI
+    select VGA
 
 config DPCD
     bool
diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
index fe27705..246e27b 100644
--- a/hw/ide/Kconfig
+++ b/hw/ide/Kconfig
@@ -7,6 +7,7 @@ config IDE_QDEV
 
 config IDE_PCI
     bool
+    depends on PCI
     select IDE_CORE
 
 config IDE_ISA
@@ -42,6 +43,8 @@ config MICRODRIVE
 
 config AHCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
     select IDE_QDEV
 
 config IDE_SII3112
diff --git a/hw/ipack/Kconfig b/hw/ipack/Kconfig
index 481e0d2..f8da24a 100644
--- a/hw/ipack/Kconfig
+++ b/hw/ipack/Kconfig
@@ -1,2 +1,4 @@
 config IPACK
     bool
+    default y if PCI_DEVICES
+	    depends on PCI
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 74474bb..830b457 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -21,9 +21,13 @@ config ISA_TESTDEV
 
 config PCI_TESTDEV
     bool
+    default y if TEST_DEVICES
+    depends on PCI
 
 config EDU
     bool
+    default y if TEST_DEVICES
+    depends on PCI
 
 config PCA9552
     bool
@@ -48,7 +52,7 @@ config MACIO
 
 config IVSHMEM_DEVICE
     bool
-    default y
+    default y if PCI_DEVICES
     depends on PCI
 
 config ECCMEMCTL
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index d358b2c..d50e301 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -3,27 +3,42 @@ config DP8393X
 
 config NE2000_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config EEPRO100_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config PCNET_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select PCNET_COMMON
 
 config PCNET_COMMON
     bool
 
 config E1000_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config E1000E_PCI_EXPRESS
     bool
+    default y if PCI_DEVICES
+    depends on PCI_EXPRESS
 
 config RTL8139_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config VMXNET3_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config SMC91C111
     bool
@@ -81,12 +96,20 @@ config ETSEC
 
 config ROCKER
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config CAN_BUS
     bool
 
 config CAN_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select CAN_BUS
 
 config CAN_SJA1000
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select CAN_BUS
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
index bb19b7a..0519eb1 100644
--- a/hw/pci-bridge/Kconfig
+++ b/hw/pci-bridge/Kconfig
@@ -1,17 +1,25 @@
 config PCIE_PORT
     bool
+    default y if PCI_DEVICES
+    depends on PCI_EXPRESS
 
 config PXB
     bool
 
 config XIO3130
     bool
+    default y if PCI_DEVICES
+    depends on PCI_EXPRESS
 
 config IOH3420
     bool
+    default y if PCI_DEVICES
+    depends on PCI_EXPRESS
 
 config I82801B11
     bool
+    default y if PCI_DEVICES
+    depends on PCI_EXPRESS
 
 config DEC_PCI
     bool
diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
index 2edc5bb..c01812a 100644
--- a/hw/pci-host/Kconfig
+++ b/hw/pci-host/Kconfig
@@ -2,21 +2,27 @@ config PAM
     bool
 
 config PREP_PCI
+    select PCI
     bool
 
 config GRACKLE_PCI
+    select PCI
     bool
 
 config UNIN_PCI
+    select PCI
     bool
 
 config PPCE500_PCI
+    select PCI
     bool
 
 config VERSATILE_PCI
+    select PCI
     bool
 
 config PCI_SABRE
+    select PCI
     bool
 
 config PCI_PIIX
@@ -24,12 +30,16 @@ config PCI_PIIX
 
 config PCI_EXPRESS_Q35
     bool
+    select PCI_EXPRESS
 
 config PCI_EXPRESS_GENERIC_BRIDGE
     bool
+    select PCI_EXPRESS
 
 config PCI_EXPRESS_XILINX
     bool
+    select PCI_EXPRESS
 
 config PCI_EXPRESS_DESIGNWARE
     bool
+    select PCI_EXPRESS
diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
index 4ca2537..3b8638b 100644
--- a/hw/pci/Kconfig
+++ b/hw/pci/Kconfig
@@ -4,3 +4,6 @@ config PCI
 config PCI_EXPRESS
     bool
     select PCI
+
+config PCI_DEVICES
+    bool
diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
index a3518a3..a7d25d3 100644
--- a/hw/scsi/Kconfig
+++ b/hw/scsi/Kconfig
@@ -3,21 +3,32 @@ config SCSI
 
 config LSI_SCSI_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config MPTSAS_SCSI_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config MEGASAS_SCSI_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config VMW_PVSCSI_SCSI_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config ESP
     bool
 
 config ESP_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select ESP
 
 config SPAPR_VSCSI
     bool
diff --git a/hw/sd/Kconfig b/hw/sd/Kconfig
index 4f43bbb..c6c5dfb 100644
--- a/hw/sd/Kconfig
+++ b/hw/sd/Kconfig
@@ -9,3 +9,6 @@ config SD
 
 config SDHCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select SD
diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
index cbf5c5d..86ee615 100644
--- a/hw/usb/Kconfig
+++ b/hw/usb/Kconfig
@@ -3,21 +3,31 @@ config USB
 
 config USB_UHCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config USB_OHCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config USB_EHCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config USB_EHCI_SYSBUS
     bool
 
 config USB_XHCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config USB_XHCI_NEC
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config USB_MUSB
     bool
diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
index ebf1812..5dafbe3 100644
--- a/hw/virtio/Kconfig
+++ b/hw/virtio/Kconfig
@@ -6,6 +6,9 @@ config VIRTIO_RNG
 
 config VIRTIO_PCI
     bool
+    default y if PCI_DEVICES
+    depends on PCI
+    select VIRTIO
 
 config VIRTIO_MMIO
     bool
diff --git a/hw/watchdog/Kconfig b/hw/watchdog/Kconfig
index cd0244f..edb3d42 100644
--- a/hw/watchdog/Kconfig
+++ b/hw/watchdog/Kconfig
@@ -3,6 +3,8 @@ config CMSDK_APB_WATCHDOG
 
 config WDT_IB6300ESB
     bool
+    default y if PCI_DEVICES
+    depends on PCI
 
 config WDT_IB700
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 12/51] build: convert sound.mak to Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (10 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 11/51] build: convert pci.mak to Kconfig Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 13/51] build: convert usb.mak " Paolo Bonzini
                   ` (44 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

There is really nothing special in these devices; they are just
ISA devices.  Instead of including them for each target,
set CONFIG_ISA_BUS to true, and make the devices default to present
whenever ISA is available.  More conversion of ISA devices will
follow.

Done with the following script:

  while read i; do
     i=${i%=y}; i=${i#CONFIG_}
     sed -i -e'/^config '$i'$/!b' -en \
            -e'a\' -e'    default y\' -e'    depends on ISA_BUS' \
          `grep -lw $i hw/*/Kconfig`
  done < default-configs/sound.mak

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-32-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak        | 2 +-
 default-configs/mips-softmmu-common.mak | 2 +-
 default-configs/ppc-softmmu.mak         | 2 +-
 default-configs/sound.mak               | 4 ----
 hw/audio/Kconfig                        | 8 ++++++++
 5 files changed, 11 insertions(+), 7 deletions(-)
 delete mode 100644 default-configs/sound.mak

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 80c4b49..db841b6 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -2,7 +2,7 @@
 
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
-include sound.mak
+CONFIG_ISA_BUS=y
 include usb.mak
 include hyperv.mak
 CONFIG_TEST_DEVICES=y
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index 88f28e5..4a48960 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -1,7 +1,7 @@
 # Common mips*-softmmu CONFIG defines
 
-include sound.mak
 include usb.mak
+CONFIG_ISA_BUS=y
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_ESP=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index f47c069..f1d06f4 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -1,7 +1,7 @@
 # Default configuration for ppc-softmmu
 
-include sound.mak
 include usb.mak
+CONFIG_ISA_BUS=y
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_TEST_DEVICES=y
diff --git a/default-configs/sound.mak b/default-configs/sound.mak
deleted file mode 100644
index 4f22c34..0000000
--- a/default-configs/sound.mak
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_SB16=y
-CONFIG_ADLIB=y
-CONFIG_GUS=y
-CONFIG_CS4231A=y
diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig
index aa5c82b..dedb513 100644
--- a/hw/audio/Kconfig
+++ b/hw/audio/Kconfig
@@ -1,5 +1,7 @@
 config SB16
     bool
+    default y
+    depends on ISA_BUS
 
 config ES1370
     bool
@@ -13,12 +15,18 @@ config AC97
 
 config ADLIB
     bool
+    default y
+    depends on ISA_BUS
 
 config GUS
     bool
+    default y
+    depends on ISA_BUS
 
 config CS4231A
     bool
+    default y
+    depends on ISA_BUS
 
 config HDA
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 13/51] build: convert usb.mak to Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (11 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 12/51] build: convert sound.mak " Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 14/51] block: fix recursion in hw/block/dataplane Paolo Bonzini
                   ` (43 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

Instead of including the same list of devices for each target,
let the host controllers select CONFIG_USB and make the devices
default to present whenever USB is available.

Done with the following script:
  while read i; do
     i=${i%=y}; i=${i#CONFIG_}
     sed -i -e'/^config '$i'$/!b' -en \
            -e'a\' -e'    default y\' -e'    depends on USB' \
          `grep -lw $i hw/*/Kconfig`
  done < default-configs/usb.mak

followed by adding "select USB" on the host controllers.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-33-yang.zhong@intel.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak       |  1 -
 default-configs/arm-softmmu.mak         |  2 --
 default-configs/hppa-softmmu.mak        |  1 -
 default-configs/i386-softmmu.mak        |  1 -
 default-configs/mips-softmmu-common.mak |  1 -
 default-configs/ppc-softmmu.mak         |  1 -
 default-configs/riscv32-softmmu.mak     |  1 -
 default-configs/riscv64-softmmu.mak     |  1 -
 default-configs/sh4-softmmu.mak         |  1 -
 default-configs/sh4eb-softmmu.mak       |  1 -
 default-configs/sparc64-softmmu.mak     |  1 -
 default-configs/usb.mak                 | 11 -----------
 hw/usb/Kconfig                          | 26 ++++++++++++++++++++++++++
 hw/usb/Makefile.objs                    |  2 +-
 14 files changed, 27 insertions(+), 24 deletions(-)
 delete mode 100644 default-configs/usb.mak

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index d19d920..e1017aa 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for alpha-softmmu
 
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 1ebe433..901f42a 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for arm-softmmu
 
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_VGA=y
@@ -38,7 +37,6 @@ CONFIG_DS1338=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_MICRODRIVE=y
-CONFIG_USB=y
 CONFIG_USB_MUSB=y
 CONFIG_USB_EHCI_SYSBUS=y
 CONFIG_PLATFORM_BUS=y
diff --git a/default-configs/hppa-softmmu.mak b/default-configs/hppa-softmmu.mak
index 85a2011..5089a94 100644
--- a/default-configs/hppa-softmmu.mak
+++ b/default-configs/hppa-softmmu.mak
@@ -1,4 +1,3 @@
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index db841b6..60356ed 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -3,7 +3,6 @@
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_ISA_BUS=y
-include usb.mak
 include hyperv.mak
 CONFIG_TEST_DEVICES=y
 CONFIG_VGA_ISA=y
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index 4a48960..90a2412 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -1,6 +1,5 @@
 # Common mips*-softmmu CONFIG defines
 
-include usb.mak
 CONFIG_ISA_BUS=y
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index f1d06f4..f5df65f 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for ppc-softmmu
 
-include usb.mak
 CONFIG_ISA_BUS=y
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-softmmu.mak
index 5501c1b..fd91efb 100644
--- a/default-configs/riscv32-softmmu.mak
+++ b/default-configs/riscv32-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for riscv-softmmu
 
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-softmmu.mak
index 5501c1b..fd91efb 100644
--- a/default-configs/riscv64-softmmu.mak
+++ b/default-configs/riscv64-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for riscv-softmmu
 
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 4c33d34..651fe1a 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for sh4-softmmu
 
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 71f81da..fa3e07e 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for sh4eb-softmmu
 
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index cb70798..24d7389 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for sparc64-softmmu
 
-include usb.mak
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_M48T59=y
diff --git a/default-configs/usb.mak b/default-configs/usb.mak
deleted file mode 100644
index e42cfea..0000000
--- a/default-configs/usb.mak
+++ /dev/null
@@ -1,11 +0,0 @@
-CONFIG_USB=y
-CONFIG_USB_TABLET_WACOM=y
-CONFIG_USB_STORAGE_BOT=y
-CONFIG_USB_STORAGE_UAS=y
-CONFIG_USB_STORAGE_MTP=y
-CONFIG_SCSI=y
-CONFIG_USB_SMARTCARD=y
-CONFIG_USB_AUDIO=y
-CONFIG_USB_SERIAL=y
-CONFIG_USB_NETWORK=y
-CONFIG_USB_BLUETOOTH=y
diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
index 86ee615..e20670a 100644
--- a/hw/usb/Kconfig
+++ b/hw/usb/Kconfig
@@ -5,59 +5,85 @@ config USB_UHCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select USB
 
 config USB_OHCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select USB
 
 config USB_EHCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select USB
 
 config USB_EHCI_SYSBUS
     bool
+    select USB
 
 config USB_XHCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select USB
 
 config USB_XHCI_NEC
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select USB
 
 config USB_MUSB
     bool
+    select USB
 
 config TUSB6010
     bool
+    select USB_MUSB
 
 config USB_TABLET_WACOM
     bool
+    default y
+    depends on USB
 
 config USB_STORAGE_BOT
     bool
+    default y
+    depends on USB
 
 config USB_STORAGE_UAS
     bool
+    default y
+    depends on USB
 
 config USB_AUDIO
     bool
+    default y
+    depends on USB
 
 config USB_SERIAL
     bool
+    default y
+    depends on USB
 
 config USB_NETWORK
     bool
+    default y
+    depends on USB
 
 config USB_BLUETOOTH
     bool
+    default y
+    depends on USB
 
 config USB_SMARTCARD
     bool
+    default y
+    depends on USB
 
 config USB_STORAGE_MTP
     bool
+    default y
+    depends on USB
diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 41be700..2b92964 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -6,7 +6,7 @@ common-obj-$(CONFIG_USB) += desc.o desc-msos.o
 common-obj-$(CONFIG_USB_UHCI) += hcd-uhci.o
 common-obj-$(CONFIG_USB_OHCI) += hcd-ohci.o
 common-obj-$(CONFIG_USB_EHCI) += hcd-ehci.o hcd-ehci-pci.o
-common-obj-$(CONFIG_USB_EHCI_SYSBUS) += hcd-ehci-sysbus.o
+common-obj-$(CONFIG_USB_EHCI_SYSBUS) += hcd-ehci.o hcd-ehci-sysbus.o
 common-obj-$(CONFIG_USB_XHCI) += hcd-xhci.o
 common-obj-$(CONFIG_USB_XHCI_NEC) += hcd-xhci-nec.o
 common-obj-$(CONFIG_USB_MUSB) += hcd-musb.o
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 14/51] block: fix recursion in hw/block/dataplane
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (12 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 13/51] build: convert usb.mak " Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 15/51] scsi: express dependencies with Kconfig Paolo Bonzini
                   ` (42 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

There are Xen files in hw/block/dataplane that should be compiled even if
virtio-blk is disabled.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/block/Makefile.objs           | 3 ++-
 hw/block/dataplane/Makefile.objs | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
index e206b8e..f5f643f 100644
--- a/hw/block/Makefile.objs
+++ b/hw/block/Makefile.objs
@@ -12,5 +12,6 @@ common-obj-$(CONFIG_NVME_PCI) += nvme.o
 obj-$(CONFIG_SH4) += tc58128.o
 
 obj-$(CONFIG_VIRTIO_BLK) += virtio-blk.o
-obj-$(CONFIG_VIRTIO_BLK) += dataplane/
 obj-$(CONFIG_VHOST_USER_BLK) += vhost-user-blk.o
+
+obj-y += dataplane/
diff --git a/hw/block/dataplane/Makefile.objs b/hw/block/dataplane/Makefile.objs
index c6c68db..0c52702 100644
--- a/hw/block/dataplane/Makefile.objs
+++ b/hw/block/dataplane/Makefile.objs
@@ -1,2 +1,2 @@
-obj-y += virtio-blk.o
+obj-$(CONFIG_VIRTIO_BLK) += virtio-blk.o
 obj-$(CONFIG_XEN) += xen-block.o
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 15/51] scsi: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (13 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 14/51] block: fix recursion in hw/block/dataplane Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 16/51] isa: express dependencies with kconfig Paolo Bonzini
                   ` (41 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

This automatically removes the SCSI subsystem from the
binary altogether if no controllers are selected.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20190123065618.3520-34-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak         |  1 -
 default-configs/hppa-softmmu.mak        |  1 -
 default-configs/mips-softmmu-common.mak |  1 -
 default-configs/sparc-softmmu.mak       |  1 -
 default-configs/virtio.mak              |  1 -
 hw/scsi/Kconfig                         | 10 +++++++++-
 hw/scsi/Makefile.objs                   |  2 +-
 hw/usb/Kconfig                          |  2 ++
 8 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 901f42a..44acb5a 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -163,5 +163,4 @@ CONFIG_HIGHBANK=y
 CONFIG_MUSICPAL=y
 
 # for realview and versatilepb
-CONFIG_SCSI=y
 CONFIG_LSI_SCSI_PCI=y
diff --git a/default-configs/hppa-softmmu.mak b/default-configs/hppa-softmmu.mak
index 5089a94..b7f2b43 100644
--- a/default-configs/hppa-softmmu.mak
+++ b/default-configs/hppa-softmmu.mak
@@ -7,7 +7,6 @@ CONFIG_I8259=y
 CONFIG_E1000_PCI=y
 CONFIG_IDE_CMD646=y
 # CONFIG_IDE_MMIO=y
-CONFIG_SCSI=y
 CONFIG_LSI_SCSI_PCI=y
 CONFIG_VIRTIO_VGA=y
 CONFIG_MC146818RTC=y
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index 90a2412..a7a8d4e 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -4,7 +4,6 @@ CONFIG_ISA_BUS=y
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_ESP=y
-CONFIG_SCSI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index 59a4a3d..805c400 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -2,7 +2,6 @@
 
 CONFIG_ISA_BUS=y
 CONFIG_ECC=y
-CONFIG_SCSI=y
 CONFIG_ESP=y
 CONFIG_ESCC=y
 CONFIG_M48T59=y
diff --git a/default-configs/virtio.mak b/default-configs/virtio.mak
index 51599ed..82d0726 100644
--- a/default-configs/virtio.mak
+++ b/default-configs/virtio.mak
@@ -7,6 +7,5 @@ CONFIG_VIRTIO_GPU=y
 CONFIG_VIRTIO_INPUT=y
 CONFIG_VIRTIO_NET=y
 CONFIG_VIRTIO_RNG=y
-CONFIG_SCSI=y
 CONFIG_VIRTIO_SCSI=y
 CONFIG_VIRTIO_SERIAL=y
diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
index a7d25d3..b9cf269 100644
--- a/hw/scsi/Kconfig
+++ b/hw/scsi/Kconfig
@@ -5,24 +5,29 @@ config LSI_SCSI_PCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select SCSI
 
 config MPTSAS_SCSI_PCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select SCSI
 
 config MEGASAS_SCSI_PCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select SCSI
 
 config VMW_PVSCSI_SCSI_PCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select SCSI
 
 config ESP
     bool
+    select SCSI
 
 config ESP_PCI
     bool
@@ -34,11 +39,14 @@ config SPAPR_VSCSI
     bool
     default y
     depends on PSERIES
+    select SCSI
 
 config VIRTIO_SCSI
     bool
+    select SCSI
 
 config VHOST_USER_SCSI
     bool
-    default y
+    # Only PCI devices are provided for now
+    default y if VIRTIO_PCI
     depends on VHOST_USER && LINUX
diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs
index 45167ba..54b36ed 100644
--- a/hw/scsi/Makefile.objs
+++ b/hw/scsi/Makefile.objs
@@ -6,7 +6,7 @@ common-obj-$(CONFIG_MEGASAS_SCSI_PCI) += megasas.o
 common-obj-$(CONFIG_VMW_PVSCSI_SCSI_PCI) += vmw_pvscsi.o
 common-obj-$(CONFIG_ESP) += esp.o
 common-obj-$(CONFIG_ESP_PCI) += esp-pci.o
-obj-$(CONFIG_PSERIES) += spapr_vscsi.o
+obj-$(CONFIG_SPAPR_VSCSI) += spapr_vscsi.o
 
 ifeq ($(CONFIG_VIRTIO_SCSI),y)
 obj-y += virtio-scsi.o virtio-scsi-dataplane.o
diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
index e20670a..a1b7acb 100644
--- a/hw/usb/Kconfig
+++ b/hw/usb/Kconfig
@@ -52,11 +52,13 @@ config USB_STORAGE_BOT
     bool
     default y
     depends on USB
+    select SCSI
 
 config USB_STORAGE_UAS
     bool
     default y
     depends on USB
+    select SCSI
 
 config USB_AUDIO
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 16/51] isa: express dependencies with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (14 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 15/51] scsi: express dependencies with Kconfig Paolo Bonzini
@ 2019-02-07 17:56 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig Paolo Bonzini
                   ` (40 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20190123065618.3520-36-yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak       | 1 -
 default-configs/i386-softmmu.mak        | 9 ---------
 default-configs/mips-softmmu-common.mak | 1 -
 default-configs/ppc-softmmu.mak         | 1 -
 default-configs/sh4-softmmu.mak         | 1 -
 default-configs/sh4eb-softmmu.mak       | 1 -
 default-configs/sparc64-softmmu.mak     | 1 -
 hw/audio/Kconfig                        | 2 ++
 hw/block/Kconfig                        | 2 ++
 hw/char/Kconfig                         | 6 ++++++
 hw/display/Kconfig                      | 3 +++
 hw/dma/Kconfig                          | 1 +
 hw/i386/Kconfig                         | 1 +
 hw/ide/Kconfig                          | 1 +
 hw/input/Kconfig                        | 2 ++
 hw/ipmi/Kconfig                         | 2 ++
 hw/isa/Kconfig                          | 7 +++++++
 hw/misc/Kconfig                         | 6 ++++++
 hw/net/Kconfig                          | 4 ++++
 hw/sparc64/Kconfig                      | 1 +
 hw/tpm/Kconfig                          | 2 +-
 hw/watchdog/Kconfig                     | 2 ++
 22 files changed, 41 insertions(+), 16 deletions(-)

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index e1017aa..f0c1928 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -15,7 +15,6 @@ CONFIG_VMWARE_VGA=y
 CONFIG_IDE_CMD646=y
 CONFIG_I8259=y
 CONFIG_MC146818RTC=y
-CONFIG_ISA_TESTDEV=y
 CONFIG_TEST_DEVICES=y
 CONFIG_SMC37C669=y
 CONFIG_DP264=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 60356ed..54b571f 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -9,19 +9,12 @@ CONFIG_VGA_ISA=y
 CONFIG_VMWARE_VGA=y
 CONFIG_VMXNET3_PCI=y
 CONFIG_VIRTIO_VGA=y
-CONFIG_VMMOUSE=y
 CONFIG_IPMI=y
 CONFIG_IPMI_LOCAL=y
 CONFIG_IPMI_EXTERN=y
 CONFIG_ISA_IPMI_KCS=y
 CONFIG_ISA_IPMI_BT=y
-CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
-CONFIG_PCSPK=y
-CONFIG_PCKBD=y
-CONFIG_FDC=y
 CONFIG_ACPI=y
 CONFIG_ACPI_X86=y
 CONFIG_ACPI_X86_ICH=y
@@ -31,14 +24,12 @@ CONFIG_APM=y
 CONFIG_I8257=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
-CONFIG_NE2000_ISA=y
 CONFIG_HPET=y
 CONFIG_APPLESMC=y
 CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_MC146818RTC=y
 CONFIG_PCI_PIIX=y
-CONFIG_WDT_IB700=y
 CONFIG_ISA_DEBUG=y
 CONFIG_ISA_TESTDEV=y
 CONFIG_VMPORT=y
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index a7a8d4e..45c599b 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -30,7 +30,6 @@ CONFIG_MIPSNET=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_I8259=y
 CONFIG_MC146818RTC=y
-CONFIG_ISA_TESTDEV=y
 CONFIG_EMPTY_SLOT=y
 CONFIG_MIPS_CPS=y
 CONFIG_MIPS_ITU=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index f5df65f..d4807b3 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -63,7 +63,6 @@ CONFIG_PREP=y
 CONFIG_PREP_PCI=y
 CONFIG_SERIAL_ISA=y
 CONFIG_MC146818RTC=y
-CONFIG_ISA_TESTDEV=y
 CONFIG_RS6000_MC=y
 CONFIG_PARALLEL=y
 CONFIG_I82374=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 651fe1a..3f7fbe2 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -11,7 +11,6 @@ CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
 CONFIG_I2C=y
 CONFIG_DDC=y
-CONFIG_ISA_TESTDEV=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
 CONFIG_I8259=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index fa3e07e..17f07a4 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -11,7 +11,6 @@ CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
 CONFIG_I2C=y
 CONFIG_DDC=y
-CONFIG_ISA_TESTDEV=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
 CONFIG_I8259=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 24d7389..2d23b0c 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -14,7 +14,6 @@ CONFIG_PCI_SABRE=y
 CONFIG_SIMBA=y
 CONFIG_SUNHME=y
 CONFIG_MC146818RTC=y
-CONFIG_ISA_TESTDEV=y
 CONFIG_TEST_DEVICES=y
 CONFIG_SUN4V_RTC=y
 CONFIG_SUN4U=y
diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig
index dedb513..01aea55 100644
--- a/hw/audio/Kconfig
+++ b/hw/audio/Kconfig
@@ -35,6 +35,8 @@ config HDA
 
 config PCSPK
     bool
+    default y
+    depends on I8254
 
 config WM8750
     bool
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
index b60e2ab..6a23659 100644
--- a/hw/block/Kconfig
+++ b/hw/block/Kconfig
@@ -1,5 +1,7 @@
 config FDC
     bool
+    default y
+    depends on ISA_BUS
 
 config SSI_M25P80
     bool
diff --git a/hw/char/Kconfig b/hw/char/Kconfig
index 6eba69a..fc18481 100644
--- a/hw/char/Kconfig
+++ b/hw/char/Kconfig
@@ -3,6 +3,8 @@ config ESCC
 
 config PARALLEL
     bool
+    default y
+    depends on ISA_BUS
 
 config PL011
     bool
@@ -12,11 +14,15 @@ config SERIAL
 
 config SERIAL_ISA
     bool
+    default y
+    depends on ISA_BUS
+    select SERIAL
 
 config SERIAL_PCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select SERIAL
 
 config VIRTIO_SERIAL
     bool
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index 9199beb..e5f347f 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -39,9 +39,12 @@ config VGA_PCI
 
 config VGA_ISA
     bool
+    depends on ISA_BUS
+    select VGA
 
 config VGA_ISA_MM
     bool
+    select VGA
 
 config VMWARE_VGA
     bool
diff --git a/hw/dma/Kconfig b/hw/dma/Kconfig
index b9ce1c5..751dec5 100644
--- a/hw/dma/Kconfig
+++ b/hw/dma/Kconfig
@@ -9,6 +9,7 @@ config PL330
 
 config I82374
     bool
+    select I8257
 
 config I8257
     bool
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index 6df3f7c..0f94ae1 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -13,6 +13,7 @@ config I440FX
 
 config ISAPC
     bool
+    select ISA_BUS
 
 config Q35
     bool
diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
index 246e27b..ab47b6a 100644
--- a/hw/ide/Kconfig
+++ b/hw/ide/Kconfig
@@ -12,6 +12,7 @@ config IDE_PCI
 
 config IDE_ISA
     bool
+    depends on ISA_BUS
     select IDE_QDEV
 
 config IDE_PIIX
diff --git a/hw/input/Kconfig b/hw/input/Kconfig
index c729dcd..814f87f 100644
--- a/hw/input/Kconfig
+++ b/hw/input/Kconfig
@@ -6,6 +6,8 @@ config LM832X
 
 config PCKBD
     bool
+    default y
+    depends on ISA_BUS
 
 config PL050
     bool
diff --git a/hw/ipmi/Kconfig b/hw/ipmi/Kconfig
index 68f8ba1..6a4f08f 100644
--- a/hw/ipmi/Kconfig
+++ b/hw/ipmi/Kconfig
@@ -9,6 +9,8 @@ config IPMI_EXTERN
 
 config ISA_IPMI_KCS
     bool
+    depends on ISA_BUS
 
 config ISA_IPMI_BT
     bool
+    depends on ISA_BUS
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig
index b59d074..af68af9 100644
--- a/hw/isa/Kconfig
+++ b/hw/isa/Kconfig
@@ -6,18 +6,25 @@ config APM
 
 config I82378
     bool
+    select ISA_BUS
 
 config PC87312
     bool
+    select ISA_BUS
 
 config PIIX4
     bool
+    select ISA_BUS
 
 config VT82C686
     bool
+    select ISA_BUS
 
 config SMC37C669
     bool
+    select ISA_BUS
 
 config LPC_ICH9
     bool
+    select ISA_BUS
+    select ACPI_X86_ICH
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 830b457..5a7dbe1 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -1,5 +1,6 @@
 config APPLESMC
     bool
+    depends on ISA_BUS
 
 config MAX111X
     bool
@@ -12,12 +13,16 @@ config TMP421
 
 config ISA_DEBUG
     bool
+    depends on ISA_BUS
 
 config SGA
     bool
+    depends on ISA_BUS
 
 config ISA_TESTDEV
     bool
+    default y if TEST_DEVICES
+    depends on ISA_BUS
 
 config PCI_TESTDEV
     bool
@@ -93,6 +98,7 @@ config IOTKIT_SYSINFO
 
 config PVPANIC
     bool
+    depends on ISA_BUS
 
 config AUX
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index d50e301..ff974bc 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -48,6 +48,10 @@ config LAN9118
 
 config NE2000_ISA
     bool
+    default y
+    depends on ISA_BUS
+    depends on PCI # for NE2000State
+    select NE2000_PCI
 
 config OPENCORES_ETH
     bool
diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig
index 8c13345..41f7295 100644
--- a/hw/sparc64/Kconfig
+++ b/hw/sparc64/Kconfig
@@ -1,5 +1,6 @@
 config SUN4U
     bool
+    select ISA_BUS
 
 config NIAGARA
     bool
diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig
index da4bb5b..f3eb570 100644
--- a/hw/tpm/Kconfig
+++ b/hw/tpm/Kconfig
@@ -3,7 +3,7 @@ config TPM
 
 config TPM_TIS
     bool
-    depends on TPM
+    depends on TPM && ISA_BUS
 
 config TPM_CRB
     bool
diff --git a/hw/watchdog/Kconfig b/hw/watchdog/Kconfig
index edb3d42..35ccb72 100644
--- a/hw/watchdog/Kconfig
+++ b/hw/watchdog/Kconfig
@@ -8,6 +8,8 @@ config WDT_IB6300ESB
 
 config WDT_IB700
     bool
+    default y
+    depends on ISA_BUS
 
 config WDT_DIAG288
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (15 preceding siblings ...)
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 16/51] isa: express dependencies with kconfig Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-25  8:44   ` Stefano Garzarella
  2019-02-26 15:42   ` Thomas Huth
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 18/51] i2c: " Paolo Bonzini
                   ` (39 subsequent siblings)
  56 siblings, 2 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

This way, the default-configs file only need to specify the boards
and any optional devices.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20190123065618.3520-37-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak | 45 ++++++++----------------------------
 hw/acpi/Kconfig                  |  3 +++
 hw/i2c/Makefile.objs             |  2 +-
 hw/i386/Kconfig                  | 50 ++++++++++++++++++++++++++++++++++++++++
 hw/i386/Makefile.objs            |  5 ++--
 hw/isa/Kconfig                   |  1 +
 hw/pci-host/Kconfig              |  4 ++++
 hw/tpm/Kconfig                   |  2 ++
 8 files changed, 73 insertions(+), 39 deletions(-)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 54b571f..ed234c1 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -1,12 +1,6 @@
 # Default configuration for i386-softmmu
 
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_ISA_BUS=y
 include hyperv.mak
-CONFIG_TEST_DEVICES=y
-CONFIG_VGA_ISA=y
-CONFIG_VMWARE_VGA=y
 CONFIG_VMXNET3_PCI=y
 CONFIG_VIRTIO_VGA=y
 CONFIG_IPMI=y
@@ -14,49 +8,28 @@ CONFIG_IPMI_LOCAL=y
 CONFIG_IPMI_EXTERN=y
 CONFIG_ISA_IPMI_KCS=y
 CONFIG_ISA_IPMI_BT=y
-CONFIG_I8254=y
-CONFIG_ACPI=y
-CONFIG_ACPI_X86=y
-CONFIG_ACPI_X86_ICH=y
-CONFIG_ACPI_MEMORY_HOTPLUG=y
-CONFIG_ACPI_CPU_HOTPLUG=y
-CONFIG_APM=y
-CONFIG_I8257=y
-CONFIG_IDE_ISA=y
-CONFIG_IDE_PIIX=y
+
+# Optional devices:
+#
 CONFIG_HPET=y
 CONFIG_APPLESMC=y
-CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
-CONFIG_MC146818RTC=y
-CONFIG_PCI_PIIX=y
 CONFIG_ISA_DEBUG=y
 CONFIG_ISA_TESTDEV=y
-CONFIG_VMPORT=y
+CONFIG_TEST_DEVICES=y
 CONFIG_SGA=y
-CONFIG_LPC_ICH9=y
-CONFIG_PCI_EXPRESS=y
-CONFIG_PCI_EXPRESS_Q35=y
-CONFIG_APIC=y
-CONFIG_IOAPIC=y
 CONFIG_PVPANIC=y
 CONFIG_MEM_DEVICE=y
-CONFIG_DIMM=y
 CONFIG_NVDIMM=y
 CONFIG_ACPI_NVDIMM=y
-CONFIG_XIO3130=y
-CONFIG_IOH3420=y
-CONFIG_I82801B11=y
-CONFIG_SMBIOS=y
 CONFIG_PXB=y
 CONFIG_ACPI_VMGENID=y
-CONFIG_ACPI_SMBUS=y
 CONFIG_SMBUS_EEPROM=y
-CONFIG_FW_CFG_DMA=y
 CONFIG_I2C=y
-CONFIG_VTD=y
-CONFIG_AMD_IOMMU=y
-CONFIG_PAM=y
-CONFIG_PC=y
+CONFIG_PCI_DEVICES=y
+
+# Boards:
+#
+CONFIG_ISAPC=y
 CONFIG_I440FX=y
 CONFIG_Q35=y
diff --git a/hw/acpi/Kconfig b/hw/acpi/Kconfig
index c485a34..035a28f 100644
--- a/hw/acpi/Kconfig
+++ b/hw/acpi/Kconfig
@@ -3,15 +3,18 @@ config ACPI
 
 config ACPI_X86
     bool
+    select ACPI
 
 config ACPI_X86_ICH
     bool
+    select ACPI_X86
 
 config ACPI_CPU_HOTPLUG
     bool
 
 config ACPI_MEMORY_HOTPLUG
     bool
+    select MEM_DEVICE
 
 config ACPI_NVDIMM
     bool
diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
index cecee48..aaa3997 100644
--- a/hw/i2c/Makefile.objs
+++ b/hw/i2c/Makefile.objs
@@ -2,7 +2,7 @@ common-obj-$(CONFIG_I2C) += core.o smbus.o
 common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
 common-obj-$(CONFIG_DDC) += i2c-ddc.o
 common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
-common-obj-$(CONFIG_ACPI_X86) += smbus_ich9.o
+common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o
 common-obj-$(CONFIG_ACPI_SMBUS) += pm_smbus.o
 common-obj-$(CONFIG_BITBANG_I2C) += bitbang_i2c.o
 common-obj-$(CONFIG_EXYNOS4) += exynos4210_i2c.o
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index 0f94ae1..daf2015 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -7,16 +7,65 @@ config PC
     imply QXL
     imply SEV
     imply TPM_TIS
+    select I8259
+    select I8254
+    select PCSPK
+    select I82374
+    select I8257
+    select MC146818RTC
+
+config PC_PCI
+    bool
+    select APIC
+    select IOAPIC
+    select APM
+    select PC
+
+config PC_ACPI
+    bool
+    select ACPI_X86
+    select ACPI_CPU_HOTPLUG
+    select ACPI_MEMORY_HOTPLUG
+    depends on ACPI_SMBUS
 
 config I440FX
     bool
+    select PC_PCI
+    select PC_ACPI
+    select ACPI_SMBUS
+    select PCI_PIIX
+    select FDC
+    select IDE_PIIX
+    select DIMM
+    select SMBIOS
+    select VMPORT
+    select VMMOUSE
+    select FW_CFG_DMA
 
 config ISAPC
     bool
     select ISA_BUS
+    select PC
+    select IDE_ISA
+    select VGA_ISA
+    # FIXME: it is in the same file as i440fx, and does not compile
+    # if separated
+    depends on I440FX
 
 config Q35
     bool
+    imply VTD
+    imply AMD_IOMMU
+    select PC_PCI
+    select PC_ACPI
+    select PCI_EXPRESS_Q35
+    select LPC_ICH9
+    select AHCI
+    select DIMM
+    select SMBIOS
+    select VMPORT
+    select VMMOUSE
+    select FW_CFG_DMA
 
 config VTD
     bool
@@ -29,3 +78,4 @@ config VMPORT
 
 config VMMOUSE
     bool
+    depends on VMPORT
diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 3de7ca2..27248a0 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -4,8 +4,9 @@ obj-y += pc.o
 obj-$(CONFIG_I440FX) += pc_piix.o
 obj-$(CONFIG_Q35) += pc_q35.o
 obj-y += pc_sysfw.o
-obj-$(CONFIG_VTD) += x86-iommu.o intel_iommu.o
-obj-$(CONFIG_AMD_IOMMU) += x86-iommu.o amd_iommu.o
+obj-y += x86-iommu.o
+obj-$(CONFIG_VTD) += intel_iommu.o
+obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
 obj-$(CONFIG_XEN) += ../xenpv/ xen/
 obj-$(CONFIG_VMPORT) += vmport.o
 obj-$(CONFIG_VMMOUSE) += vmmouse.o
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig
index af68af9..6f0812d 100644
--- a/hw/isa/Kconfig
+++ b/hw/isa/Kconfig
@@ -27,4 +27,5 @@ config SMC37C669
 config LPC_ICH9
     bool
     select ISA_BUS
+    select ACPI_SMBUS
     select ACPI_X86_ICH
diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
index c01812a..ff4080c 100644
--- a/hw/pci-host/Kconfig
+++ b/hw/pci-host/Kconfig
@@ -27,10 +27,14 @@ config PCI_SABRE
 
 config PCI_PIIX
     bool
+    select PCI
+    select PAM
+    select ISA_BUS
 
 config PCI_EXPRESS_Q35
     bool
     select PCI_EXPRESS
+    select PAM
 
 config PCI_EXPRESS_GENERIC_BRIDGE
     bool
diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig
index f3eb570..b0c2c05 100644
--- a/hw/tpm/Kconfig
+++ b/hw/tpm/Kconfig
@@ -7,6 +7,8 @@ config TPM_TIS
 
 config TPM_CRB
     bool
+    default y
+    depends on TPM && PC
 
 config TPM_PASSTHROUGH
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 18/51] i2c: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (16 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 19/51] ptimer: " Paolo Bonzini
                   ` (38 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-38-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak         | 1 -
 default-configs/i386-softmmu.mak        | 2 --
 default-configs/mips-softmmu-common.mak | 1 -
 default-configs/ppc-softmmu.mak         | 1 -
 default-configs/sh4-softmmu.mak         | 1 -
 default-configs/sh4eb-softmmu.mak       | 1 -
 hw/Makefile.objs                        | 2 +-
 hw/audio/Kconfig                        | 1 +
 hw/display/Kconfig                      | 3 +++
 hw/gpio/Kconfig                         | 1 +
 hw/i2c/Kconfig                          | 6 ++++++
 hw/i386/Kconfig                         | 1 +
 hw/input/Kconfig                        | 1 +
 hw/isa/Kconfig                          | 1 +
 hw/misc/Kconfig                         | 4 ++++
 hw/nvram/Kconfig                        | 1 +
 hw/timer/Kconfig                        | 3 +++
 17 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 44acb5a..e490d6a 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -69,7 +69,6 @@ CONFIG_CADENCE=y
 CONFIG_XGMAC=y
 CONFIG_EXYNOS4=y
 CONFIG_PXA2XX=y
-CONFIG_I2C=y
 CONFIG_BITBANG_I2C=y
 CONFIG_FRAMEBUFFER=y
 CONFIG_XILINX_SPIPS=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index ed234c1..98552e1 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -24,8 +24,6 @@ CONFIG_NVDIMM=y
 CONFIG_ACPI_NVDIMM=y
 CONFIG_PXB=y
 CONFIG_ACPI_VMGENID=y
-CONFIG_SMBUS_EEPROM=y
-CONFIG_I2C=y
 CONFIG_PCI_DEVICES=y
 
 # Boards:
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index 45c599b..0795d52 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -33,7 +33,6 @@ CONFIG_MC146818RTC=y
 CONFIG_EMPTY_SLOT=y
 CONFIG_MIPS_CPS=y
 CONFIG_MIPS_ITU=y
-CONFIG_I2C=y
 CONFIG_R4K=y
 CONFIG_MALTA=y
 CONFIG_MIPSSIM=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index d4807b3..0e46d6a 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -32,7 +32,6 @@ CONFIG_USB_EHCI_SYSBUS=y
 CONFIG_SM501=y
 CONFIG_DDC=y
 CONFIG_IDE_SII3112=y
-CONFIG_I2C=y
 CONFIG_AT24C=y
 CONFIG_BITBANG_I2C=y
 CONFIG_M41T80=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 3f7fbe2..8b003e1 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -9,7 +9,6 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
-CONFIG_I2C=y
 CONFIG_DDC=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 17f07a4..6f58242 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -9,7 +9,6 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
-CONFIG_I2C=y
 CONFIG_DDC=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index e2fcd6a..225f6cc 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -10,7 +10,7 @@ devices-dirs-$(CONFIG_SOFTMMU) += display/
 devices-dirs-$(CONFIG_SOFTMMU) += dma/
 devices-dirs-$(CONFIG_SOFTMMU) += gpio/
 devices-dirs-$(CONFIG_HYPERV) += hyperv/
-devices-dirs-$(CONFIG_SOFTMMU) += i2c/
+devices-dirs-$(CONFIG_I2C) += i2c/
 devices-dirs-$(CONFIG_SOFTMMU) += ide/
 devices-dirs-$(CONFIG_SOFTMMU) += input/
 devices-dirs-$(CONFIG_SOFTMMU) += intc/
diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig
index 01aea55..e9c6fed 100644
--- a/hw/audio/Kconfig
+++ b/hw/audio/Kconfig
@@ -40,6 +40,7 @@ config PCSPK
 
 config WM8750
     bool
+    depends on I2C
 
 config PL041
     bool
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index e5f347f..5393116 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -24,9 +24,11 @@ config PL110
 
 config SII9022
     bool
+    depends on I2C
 
 config SSD0303
     bool
+    depends on I2C
 
 config SSD0323
     bool
@@ -71,6 +73,7 @@ config MILKYMIST_TMU2
 
 config SM501
     bool
+    select I2C
 
 config TCX
     bool
diff --git a/hw/gpio/Kconfig b/hw/gpio/Kconfig
index d0a4abf..9227cb5 100644
--- a/hw/gpio/Kconfig
+++ b/hw/gpio/Kconfig
@@ -1,5 +1,6 @@
 config MAX7310
     bool
+    depends on I2C
 
 config PL061
     bool
diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
index d6d4402..74c9328 100644
--- a/hw/i2c/Kconfig
+++ b/hw/i2c/Kconfig
@@ -3,18 +3,24 @@ config I2C
 
 config SMBUS_EEPROM
     bool
+    depends on I2C
 
 config DDC
     bool
+    depends on I2C
 
 config VERSATILE_I2C
     bool
+    select I2C
 
 config ACPI_SMBUS
     bool
+    select I2C
 
 config BITBANG_I2C
     bool
+    select I2C
 
 config IMX_I2C
     bool
+    select I2C
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index daf2015..bd84393 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -26,6 +26,7 @@ config PC_ACPI
     select ACPI_X86
     select ACPI_CPU_HOTPLUG
     select ACPI_MEMORY_HOTPLUG
+    select SMBUS_EEPROM
     depends on ACPI_SMBUS
 
 config I440FX
diff --git a/hw/input/Kconfig b/hw/input/Kconfig
index 814f87f..e05b7be 100644
--- a/hw/input/Kconfig
+++ b/hw/input/Kconfig
@@ -3,6 +3,7 @@ config ADB
 
 config LM832X
     bool
+    depends on I2C
 
 config PCKBD
     bool
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig
index 6f0812d..fcd87b4 100644
--- a/hw/isa/Kconfig
+++ b/hw/isa/Kconfig
@@ -19,6 +19,7 @@ config PIIX4
 config VT82C686
     bool
     select ISA_BUS
+    select ACPI_SMBUS
 
 config SMC37C669
     bool
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 5a7dbe1..f610928 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -7,9 +7,11 @@ config MAX111X
 
 config TMP105
     bool
+    depends on I2C
 
 config TMP421
     bool
+    depends on I2C
 
 config ISA_DEBUG
     bool
@@ -36,6 +38,7 @@ config EDU
 
 config PCA9552
     bool
+    depends on I2C
 
 config PL310
     bool
@@ -102,5 +105,6 @@ config PVPANIC
 
 config AUX
     bool
+    select I2C
 
 source macio/Kconfig
diff --git a/hw/nvram/Kconfig b/hw/nvram/Kconfig
index 1f5ec95..ebaa749 100644
--- a/hw/nvram/Kconfig
+++ b/hw/nvram/Kconfig
@@ -3,6 +3,7 @@ config DS1225Y
 
 config AT24C
     bool
+    depends on I2C
 
 config MAC_NVRAM
     bool
diff --git a/hw/timer/Kconfig b/hw/timer/Kconfig
index 7dbc121..e1a6e74 100644
--- a/hw/timer/Kconfig
+++ b/hw/timer/Kconfig
@@ -9,6 +9,7 @@ config A9_GTIMER
 
 config DS1338
     bool
+    depends on I2C
 
 config HPET
     bool
@@ -18,6 +19,7 @@ config I8254
 
 config M41T80
     bool
+    depends on I2C
 
 config M48T59
     bool
@@ -27,6 +29,7 @@ config PL031
 
 config TWL92230
     bool
+    depends on I2C
 
 config XLNX_ZYNQMP
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 19/51] ptimer: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (17 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 18/51] i2c: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 20/51] display: express dependencies with kconfig Paolo Bonzini
                   ` (37 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-39-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak        | 1 -
 default-configs/cris-softmmu.mak       | 1 -
 default-configs/lm32-softmmu.mak       | 1 -
 default-configs/m68k-softmmu.mak       | 1 -
 default-configs/microblaze-softmmu.mak | 1 -
 default-configs/nios2-softmmu.mak      | 1 -
 default-configs/ppc-softmmu.mak        | 1 -
 default-configs/sh4-softmmu.mak        | 1 -
 default-configs/sh4eb-softmmu.mak      | 1 -
 default-configs/sparc-softmmu.mak      | 1 -
 default-configs/sparc64-softmmu.mak    | 1 -
 default-configs/unicore32-softmmu.mak  | 1 -
 hw/Kconfig                             | 2 ++
 hw/arm/Kconfig                         | 4 ++++
 hw/cris/Kconfig                        | 1 +
 hw/lm32/Kconfig                        | 2 ++
 hw/m68k/Kconfig                        | 2 ++
 hw/mips/Kconfig                        | 1 +
 hw/misc/Kconfig                        | 1 +
 hw/net/Kconfig                         | 2 ++
 hw/sh4/Kconfig                         | 1 +
 hw/sparc/Kconfig                       | 2 ++
 hw/timer/Kconfig                       | 6 ++++++
 hw/unicore32/Kconfig                   | 1 +
 hw/watchdog/Kconfig                    | 1 +
 25 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index e490d6a..c1871c7 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -6,7 +6,6 @@ CONFIG_VGA=y
 CONFIG_NAND=y
 CONFIG_ECC=y
 CONFIG_SERIAL=y
-CONFIG_PTIMER=y
 CONFIG_SD=y
 CONFIG_MAX7310=y
 CONFIG_WM8750=y
diff --git a/default-configs/cris-softmmu.mak b/default-configs/cris-softmmu.mak
index a637c4b..b3cae59 100644
--- a/default-configs/cris-softmmu.mak
+++ b/default-configs/cris-softmmu.mak
@@ -2,6 +2,5 @@
 
 CONFIG_ETRAXFS=y
 CONFIG_NAND=y
-CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_AXIS=y
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index ef0f4ba..f489838 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -3,7 +3,6 @@
 CONFIG_LM32=y
 CONFIG_MILKYMIST=y
 CONFIG_FRAMEBUFFER=y
-CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_SD=y
diff --git a/default-configs/m68k-softmmu.mak b/default-configs/m68k-softmmu.mak
index 27f5274..a12eece 100644
--- a/default-configs/m68k-softmmu.mak
+++ b/default-configs/m68k-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for m68k-softmmu
 
 CONFIG_COLDFIRE=y
-CONFIG_PTIMER=y
 CONFIG_AN5206=y
 CONFIG_MCF5208=y
diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak
index 14837cf..a4a6770 100644
--- a/default-configs/microblaze-softmmu.mak
+++ b/default-configs/microblaze-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for microblaze-softmmu
 
-CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_SERIAL=y
 CONFIG_XILINX=y
diff --git a/default-configs/nios2-softmmu.mak b/default-configs/nios2-softmmu.mak
index ab42d0f..b3c507e 100644
--- a/default-configs/nios2-softmmu.mak
+++ b/default-configs/nios2-softmmu.mak
@@ -2,6 +2,5 @@
 
 CONFIG_NIOS2=y
 CONFIG_SERIAL=y
-CONFIG_PTIMER=y
 CONFIG_ALTERA_TIMER=y
 CONFIG_NIOS2_10M50=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 0e46d6a..0dcd863 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -14,7 +14,6 @@ CONFIG_OPENPIC=y
 CONFIG_PPCE500_PCI=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
-CONFIG_PTIMER=y
 CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_XILINX_ETHLITE=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 8b003e1..7172c8b 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -4,7 +4,6 @@ CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
-CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 6f58242..3622afc 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -4,7 +4,6 @@ CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
-CONFIG_PTIMER=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index 805c400..b31a9f2 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -5,7 +5,6 @@ CONFIG_ECC=y
 CONFIG_ESP=y
 CONFIG_ESCC=y
 CONFIG_M48T59=y
-CONFIG_PTIMER=y
 CONFIG_FDC=y
 CONFIG_EMPTY_SLOT=y
 CONFIG_PCNET_COMMON=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 2d23b0c..528af8f 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -3,7 +3,6 @@
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_M48T59=y
-CONFIG_PTIMER=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
 CONFIG_PARALLEL=y
diff --git a/default-configs/unicore32-softmmu.mak b/default-configs/unicore32-softmmu.mak
index 5f6c4a8..17a7915 100644
--- a/default-configs/unicore32-softmmu.mak
+++ b/default-configs/unicore32-softmmu.mak
@@ -1,5 +1,4 @@
 # Default configuration for unicore32-softmmu
 CONFIG_ISA_BUS=y
 CONFIG_PUV3=y
-CONFIG_PTIMER=y
 CONFIG_PCKBD=y
diff --git a/hw/Kconfig b/hw/Kconfig
index f902c8f..d5ecd02 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -66,6 +66,8 @@ config TEST_DEVICES
 
 config XILINX
     bool
+    select PTIMER # for hw/timer/xilinx_timer.c
 
 config XILINX_AXI
     bool
+    select PTIMER # for hw/dma/xilinx_axidma.c
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 64cd698..3176680 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -3,9 +3,11 @@ config ARM_VIRT
 
 config DIGIC
     bool
+    select PTIMER
 
 config EXYNOS4
     bool
+    select PTIMER
 
 config HIGHBANK
     bool
@@ -18,6 +20,7 @@ config MAINSTONE
 
 config MUSICPAL
     bool
+    select PTIMER
 
 config NETDUINO2
     bool
@@ -99,6 +102,7 @@ config NRF51_SOC
 
 config MSF2
     bool
+    select PTIMER
 
 config ZAURUS
     bool
diff --git a/hw/cris/Kconfig b/hw/cris/Kconfig
index 86954ab..b7738ab 100644
--- a/hw/cris/Kconfig
+++ b/hw/cris/Kconfig
@@ -3,3 +3,4 @@ config AXIS
 
 config ETRAXFS
    bool
+   select PTIMER
diff --git a/hw/lm32/Kconfig b/hw/lm32/Kconfig
index 84c530e..4f45840 100644
--- a/hw/lm32/Kconfig
+++ b/hw/lm32/Kconfig
@@ -1,5 +1,7 @@
 config LM32
     bool
+    select PTIMER
 
 config MILKYMIST
     bool
+    select PTIMER
diff --git a/hw/m68k/Kconfig b/hw/m68k/Kconfig
index cd66ada..8e91eda 100644
--- a/hw/m68k/Kconfig
+++ b/hw/m68k/Kconfig
@@ -3,6 +3,8 @@ config AN5206
 
 config MCF5206
     bool
+    select PTIMER
 
 config MCF5208
     bool
+    select PTIMER
diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig
index 348c9bf..cdc07e5 100644
--- a/hw/mips/Kconfig
+++ b/hw/mips/Kconfig
@@ -15,6 +15,7 @@ config FULONG
 
 config MIPS_CPS
     bool
+    select PTIMER
 
 config MIPS_BOSTON
     bool
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index f610928..74031cc 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -68,6 +68,7 @@ config ECCMEMCTL
 
 config IMX
     bool
+    select PTIMER
 
 config STM32F2XX_SYSCFG
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index ff974bc..982e139 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -45,6 +45,7 @@ config SMC91C111
 
 config LAN9118
     bool
+    select PTIMER
 
 config NE2000_ISA
     bool
@@ -97,6 +98,7 @@ config VIRTIO_NET
 
 config ETSEC
     bool
+    select PTIMER
 
 config ROCKER
     bool
diff --git a/hw/sh4/Kconfig b/hw/sh4/Kconfig
index 417a72f..1ea2bc3 100644
--- a/hw/sh4/Kconfig
+++ b/hw/sh4/Kconfig
@@ -9,3 +9,4 @@ config SH7750
 
 config SH4
     bool
+    select PTIMER
diff --git a/hw/sparc/Kconfig b/hw/sparc/Kconfig
index 3795754..c9c2142 100644
--- a/hw/sparc/Kconfig
+++ b/hw/sparc/Kconfig
@@ -6,6 +6,8 @@ config LEON3
 
 config GRLIB
     bool
+    select PTIMER
 
 config SLAVIO
     bool
+    select PTIMER
diff --git a/hw/timer/Kconfig b/hw/timer/Kconfig
index e1a6e74..a021c74 100644
--- a/hw/timer/Kconfig
+++ b/hw/timer/Kconfig
@@ -1,8 +1,10 @@
 config ARM_TIMER
     bool
+    select PTIMER
 
 config ARM_MPTIMER
     bool
+    select PTIMER
 
 config A9_GTIMER
     bool
@@ -36,12 +38,14 @@ config XLNX_ZYNQMP
 
 config ALTERA_TIMER
     bool
+    select PTIMER
 
 config MC146818RTC
     bool
 
 config ALLWINNER_A10_PIT
     bool
+    select PTIMER
 
 config STM32F2XX_TIMER
     bool
@@ -51,6 +55,8 @@ config SUN4V_RTC
 
 config CMSDK_APB_TIMER
     bool
+    select PTIMER
 
 config CMSDK_APB_DUALTIMER
     bool
+    select PTIMER
diff --git a/hw/unicore32/Kconfig b/hw/unicore32/Kconfig
index b3cf294..a03a996 100644
--- a/hw/unicore32/Kconfig
+++ b/hw/unicore32/Kconfig
@@ -1,2 +1,3 @@
 config PUV3
     bool
+    select PTIMER
diff --git a/hw/watchdog/Kconfig b/hw/watchdog/Kconfig
index 35ccb72..2118d89 100644
--- a/hw/watchdog/Kconfig
+++ b/hw/watchdog/Kconfig
@@ -1,5 +1,6 @@
 config CMSDK_APB_WATCHDOG
     bool
+    select PTIMER
 
 config WDT_IB6300ESB
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 20/51] display: express dependencies with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (18 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 19/51] ptimer: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 21/51] hyperv: " Paolo Bonzini
                   ` (36 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

From: Yang Zhong <yang.zhong@intel.com>

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-40-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/ppc-softmmu.mak   | 1 -
 default-configs/sh4-softmmu.mak   | 1 -
 default-configs/sh4eb-softmmu.mak | 1 -
 hw/display/Kconfig                | 6 +++++-
 hw/i2c/Kconfig                    | 1 +
 5 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 0dcd863..d1ee6f7 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -29,7 +29,6 @@ CONFIG_PCI_EXPRESS=y
 CONFIG_SAM460EX=y
 CONFIG_USB_EHCI_SYSBUS=y
 CONFIG_SM501=y
-CONFIG_DDC=y
 CONFIG_IDE_SII3112=y
 CONFIG_AT24C=y
 CONFIG_BITBANG_I2C=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 7172c8b..ccefc10 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -8,7 +8,6 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
-CONFIG_DDC=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
 CONFIG_I8259=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 3622afc..c8edeb7 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -8,7 +8,6 @@ CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
-CONFIG_DDC=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
 CONFIG_I8259=y
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index 5393116..6d58f93 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -38,6 +38,7 @@ config VGA_PCI
     default y if PCI_DEVICES
     depends on PCI
     select VGA
+    select EDID
 
 config VGA_ISA
     bool
@@ -59,6 +60,7 @@ config BOCHS_DISPLAY
     default y if PCI_DEVICES
     depends on PCI
     select VGA
+    select EDID
 
 config BLIZZARD
     bool
@@ -69,11 +71,13 @@ config FRAMEBUFFER
 config MILKYMIST_TMU2
     bool
     default y
-    depends on OPENGL && X11
+    depends on OPENGL && X11 && MILKYMIST
 
 config SM501
     bool
     select I2C
+    select DDC
+    select SERIAL
 
 config TCX
     bool
diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
index 74c9328..ef1caa6 100644
--- a/hw/i2c/Kconfig
+++ b/hw/i2c/Kconfig
@@ -8,6 +8,7 @@ config SMBUS_EEPROM
 config DDC
     bool
     depends on I2C
+    select EDID
 
 config VERSATILE_I2C
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 21/51] hyperv: express dependencies with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (19 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 20/51] display: express dependencies with kconfig Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 22/51] vfio: express vfio dependencies with Kconfig Paolo Bonzini
                   ` (35 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

From: Yang Zhong <yang.zhong@intel.com>

remove default-configs/hyperv.mak and make dependencies
with Kconfig.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-41-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/hyperv.mak       | 2 --
 default-configs/i386-softmmu.mak | 1 -
 hw/hyperv/Kconfig                | 3 +++
 hw/i386/Kconfig                  | 1 +
 4 files changed, 4 insertions(+), 3 deletions(-)
 delete mode 100644 default-configs/hyperv.mak

diff --git a/default-configs/hyperv.mak b/default-configs/hyperv.mak
deleted file mode 100644
index 5d0d9fd..0000000
--- a/default-configs/hyperv.mak
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_HYPERV=$(CONFIG_KVM)
-CONFIG_HYPERV_TESTDEV=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 98552e1..c0826f5 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for i386-softmmu
 
-include hyperv.mak
 CONFIG_VMXNET3_PCI=y
 CONFIG_VIRTIO_VGA=y
 CONFIG_IPMI=y
diff --git a/hw/hyperv/Kconfig b/hw/hyperv/Kconfig
index be724b7..a1fa8ff 100644
--- a/hw/hyperv/Kconfig
+++ b/hw/hyperv/Kconfig
@@ -1,5 +1,8 @@
 config HYPERV
     bool
+    depends on KVM
 
 config HYPERV_TESTDEV
     bool
+    default y if TEST_DEVICES
+    depends on HYPERV
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index bd84393..2da10af 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -4,6 +4,7 @@ config SEV
 
 config PC
     bool
+    imply HYPERV
     imply QXL
     imply SEV
     imply TPM_TIS
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 22/51] vfio: express vfio dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (20 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 21/51] hyperv: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 23/51] virtio: express virtio " Paolo Bonzini
                   ` (34 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/vfio/Kconfig | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/hw/vfio/Kconfig b/hw/vfio/Kconfig
index 0fdff10..ebda9fd 100644
--- a/hw/vfio/Kconfig
+++ b/hw/vfio/Kconfig
@@ -9,21 +9,28 @@ config VFIO_PCI
 
 config VFIO_CCW
     bool
+    default y
     select VFIO
-    depends on LINUX
+    depends on LINUX && S390_CCW_VIRTIO
 
 config VFIO_PLATFORM
     bool
+    default y
     select VFIO
-    depends on LINUX
+    depends on LINUX && PLATFORM_BUS
 
 config VFIO_XGMAC
     bool
+    default y
+    depends on VFIO_PLATFORM
 
 config VFIO_AMD_XGBE
     bool
+    default y
+    depends on VFIO_PLATFORM
 
 config VFIO_AP
     bool
+    default y
     select VFIO
-    depends on LINUX
+    depends on LINUX && S390_CCW_VIRTIO
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 23/51] virtio: express virtio dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (21 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 22/51] vfio: express vfio dependencies with Kconfig Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 24/51] tpm: express " Paolo Bonzini
                   ` (33 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

From: Yang Zhong <yang.zhong@intel.com>

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20190123065618.3520-42-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak  |  1 -
 default-configs/s390x-softmmu.mak |  1 -
 default-configs/virtio.mak        | 11 -----------
 hw/9pfs/Kconfig                   |  2 +-
 hw/block/Kconfig                  |  7 +++++--
 hw/char/Kconfig                   |  2 ++
 hw/display/Kconfig                |  2 ++
 hw/input/Kconfig                  |  4 +++-
 hw/net/Kconfig                    |  2 ++
 hw/scsi/Kconfig                   |  4 +++-
 hw/virtio/Kconfig                 |  7 +++++++
 11 files changed, 25 insertions(+), 18 deletions(-)
 delete mode 100644 default-configs/virtio.mak

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index c0826f5..53e9d5e 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -1,7 +1,6 @@
 # Default configuration for i386-softmmu
 
 CONFIG_VMXNET3_PCI=y
-CONFIG_VIRTIO_VGA=y
 CONFIG_IPMI=y
 CONFIG_IPMI_LOCAL=y
 CONFIG_IPMI_EXTERN=y
diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak
index 2794ffb..2be5059 100644
--- a/default-configs/s390x-softmmu.mak
+++ b/default-configs/s390x-softmmu.mak
@@ -1,6 +1,5 @@
 CONFIG_PCI=y
 CONFIG_VIRTIO_PCI=y
-include virtio.mak
 CONFIG_SCLPCONSOLE=y
 CONFIG_TERMINAL3270=y
 CONFIG_S390_FLIC=y
diff --git a/default-configs/virtio.mak b/default-configs/virtio.mak
deleted file mode 100644
index 82d0726..0000000
--- a/default-configs/virtio.mak
+++ /dev/null
@@ -1,11 +0,0 @@
-CONFIG_VIRTIO=y
-CONFIG_VIRTIO_9P=$(CONFIG_VIRTFS)
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_BLK=y
-CONFIG_VIRTIO_CRYPTO=y
-CONFIG_VIRTIO_GPU=y
-CONFIG_VIRTIO_INPUT=y
-CONFIG_VIRTIO_NET=y
-CONFIG_VIRTIO_RNG=y
-CONFIG_VIRTIO_SCSI=y
-CONFIG_VIRTIO_SERIAL=y
diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig
index 32071c1..e658e40 100644
--- a/hw/9pfs/Kconfig
+++ b/hw/9pfs/Kconfig
@@ -3,4 +3,4 @@ config VIRTFS
 config VIRTIO_9P
     bool
     default y
-    depends on VIRTFS
+    depends on VIRTFS && VIRTIO
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
index 6a23659..00f9dad 100644
--- a/hw/block/Kconfig
+++ b/hw/block/Kconfig
@@ -28,8 +28,11 @@ config NVME_PCI
 
 config VIRTIO_BLK
     bool
+    default y
+    depends on VIRTIO
 
 config VHOST_USER_BLK
     bool
-    default y
-    depends on VHOST_USER && LINUX
+    # Only PCI devices are provided for now
+    default y if VIRTIO_PCI
+    depends on VIRTIO && VHOST_USER && LINUX
diff --git a/hw/char/Kconfig b/hw/char/Kconfig
index fc18481..6360c9f 100644
--- a/hw/char/Kconfig
+++ b/hw/char/Kconfig
@@ -26,6 +26,8 @@ config SERIAL_PCI
 
 config VIRTIO_SERIAL
     bool
+    default y
+    depends on VIRTIO
 
 config STM32F2XX_USART
     bool
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index 6d58f93..0f659e9 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -95,6 +95,8 @@ config QXL
 
 config VIRTIO_GPU
     bool
+    default y
+    depends on VIRTIO
 
 config VIRTIO_VGA
     bool
diff --git a/hw/input/Kconfig b/hw/input/Kconfig
index e05b7be..e2e66f0 100644
--- a/hw/input/Kconfig
+++ b/hw/input/Kconfig
@@ -21,11 +21,13 @@ config TSC2005
 
 config VIRTIO_INPUT
     bool
+    default y
+    depends on VIRTIO
 
 config VIRTIO_INPUT_HOST
     bool
     default y
-    depends on LINUX
+    depends on VIRTIO && LINUX
 
 config TSC210X
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index 982e139..dc69e55 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -95,6 +95,8 @@ config XILINX_ETHLITE
 
 config VIRTIO_NET
    bool
+   default y
+   depends on VIRTIO
 
 config ETSEC
     bool
diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
index b9cf269..b3ba540 100644
--- a/hw/scsi/Kconfig
+++ b/hw/scsi/Kconfig
@@ -43,10 +43,12 @@ config SPAPR_VSCSI
 
 config VIRTIO_SCSI
     bool
+    default y
+    depends on VIRTIO
     select SCSI
 
 config VHOST_USER_SCSI
     bool
     # Only PCI devices are provided for now
     default y if VIRTIO_PCI
-    depends on VHOST_USER && LINUX
+    depends on VIRTIO && VHOST_USER && LINUX
diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
index 5dafbe3..74f4573 100644
--- a/hw/virtio/Kconfig
+++ b/hw/virtio/Kconfig
@@ -3,6 +3,8 @@ config VIRTIO
 
 config VIRTIO_RNG
     bool
+    default y
+    depends on VIRTIO
 
 config VIRTIO_PCI
     bool
@@ -12,9 +14,14 @@ config VIRTIO_PCI
 
 config VIRTIO_MMIO
     bool
+    select VIRTIO
 
 config VIRTIO_BALLOON
     bool
+    default y
+    depends on VIRTIO
 
 config VIRTIO_CRYPTO
     bool
+    default y
+    depends on VIRTIO
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 24/51] tpm: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (22 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 23/51] virtio: express virtio " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 25/51] isa: express SuperIO " Paolo Bonzini
                   ` (32 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

This automatically removes the SCSI subsystem from the
binary altogether if no controllers are selected.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20190123065618.3520-34-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/i386/Kconfig |  1 +
 hw/tpm/Kconfig  | 12 ++++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index 2da10af..73d33e9 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -7,6 +7,7 @@ config PC
     imply HYPERV
     imply QXL
     imply SEV
+    imply TPM_CRB
     imply TPM_TIS
     select I8259
     select I8254
diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig
index b0c2c05..6fc6a2c 100644
--- a/hw/tpm/Kconfig
+++ b/hw/tpm/Kconfig
@@ -1,17 +1,25 @@
 config TPM
     bool
 
+config TPMDEV
+    bool
+
 config TPM_TIS
     bool
     depends on TPM && ISA_BUS
+    select TPMDEV
 
 config TPM_CRB
     bool
-    default y
-    depends on TPM && PC
+    depends on TPM
+    select TPMDEV
 
 config TPM_PASSTHROUGH
     bool
+    default y
+    depends on TPMDEV
 
 config TPM_EMULATOR
     bool
+    default y
+    depends on TPMDEV
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 25/51] isa: express SuperIO dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (23 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 24/51] tpm: express " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 26/51] ssi: express dependencies with kconfig Paolo Bonzini
                   ` (31 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak |  5 -----
 default-configs/ppc-softmmu.mak   |  9 ---------
 default-configs/sh4-softmmu.mak   |  9 ++-------
 default-configs/sh4eb-softmmu.mak |  6 ------
 hw/block/Kconfig                  |  5 +++--
 hw/i386/Kconfig                   |  1 +
 hw/isa/Kconfig                    | 21 +++++++++++++++++++++
 7 files changed, 27 insertions(+), 29 deletions(-)

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index f0c1928..762e3a2 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -2,13 +2,8 @@
 
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
-CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
 CONFIG_I82374=y
 CONFIG_I8254=y
-CONFIG_I8257=y
-CONFIG_PARALLEL=y
-CONFIG_FDC=y
 CONFIG_PCKBD=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_VMWARE_VGA=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index d1ee6f7..9ad307a 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -9,12 +9,10 @@ CONFIG_TEST_DEVICES=y
 CONFIG_PPC4XX=y
 CONFIG_M48T59=y
 CONFIG_SERIAL=y
-CONFIG_I8257=y
 CONFIG_OPENPIC=y
 CONFIG_PPCE500_PCI=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
-CONFIG_I8259=y
 CONFIG_XILINX=y
 CONFIG_XILINX_ETHLITE=y
 CONFIG_E500=y
@@ -58,17 +56,10 @@ CONFIG_MAC_NEWWORLD=y
 # For PReP
 CONFIG_PREP=y
 CONFIG_PREP_PCI=y
-CONFIG_SERIAL_ISA=y
-CONFIG_MC146818RTC=y
 CONFIG_RS6000_MC=y
-CONFIG_PARALLEL=y
 CONFIG_I82374=y
 CONFIG_I82378=y
-CONFIG_I8254=y
 CONFIG_PCKBD=y
-CONFIG_FDC=y
 CONFIG_NE2000_ISA=y
 CONFIG_PC87312=y
-CONFIG_PCSPK=y
-CONFIG_IDE_ISA=y
 CONFIG_CS4231A=y
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index ccefc10..4ba5584 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -1,20 +1,15 @@
-# Default configuration for sh4-softmmu
+# Default configuration for sh4eb-softmmu
 
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
-CONFIG_I8259=y
-CONFIG_I8254=y
-CONFIG_PCSPK=y
 CONFIG_I82374=y
-CONFIG_I8257=y
-CONFIG_MC146818RTC=y
 CONFIG_R2D=y
 CONFIG_SHIX=y
+CONFIG_TEST_DEVICES=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index c8edeb7..9717673 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -3,18 +3,12 @@
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_SH4=y
 CONFIG_IDE_MMIO=y
 CONFIG_SM501=y
 CONFIG_TEST_DEVICES=y
 CONFIG_I82378=y
-CONFIG_I8259=y
-CONFIG_I8254=y
-CONFIG_PCSPK=y
 CONFIG_I82374=y
-CONFIG_I8257=y
-CONFIG_MC146818RTC=y
 CONFIG_R2D=y
 CONFIG_SHIX=y
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
index 00f9dad..df96dc5 100644
--- a/hw/block/Kconfig
+++ b/hw/block/Kconfig
@@ -1,7 +1,8 @@
 config FDC
     bool
-    default y
-    depends on ISA_BUS
+    # FIXME: there is no separate file for the MMIO floppy disk controller, so
+    # select ISA_BUS here instead of polluting each board that requires one
+    select ISA_BUS
 
 config SSI_M25P80
     bool
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index 73d33e9..b9d9168 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -57,6 +57,7 @@ config ISAPC
 
 config Q35
     bool
+    imply FDC
     imply VTD
     imply AMD_IOMMU
     select PC_PCI
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig
index fcd87b4..57e09a0 100644
--- a/hw/isa/Kconfig
+++ b/hw/isa/Kconfig
@@ -7,26 +7,47 @@ config APM
 config I82378
     bool
     select ISA_BUS
+    select I8259
+    select I8254
+    select I82374
+    select MC146818RTC
 
 config PC87312
     bool
     select ISA_BUS
+    select I8259
+    select I8254
+    select I8257
+    select MC146818RTC
+    select SERIAL_ISA
+    select PARALLEL
+    select FDC
+    select IDE_ISA
 
 config PIIX4
     bool
+    # For historical reasons, SuperIO devices are created in the board
+    # for PIIX4.
     select ISA_BUS
 
 config VT82C686
     bool
     select ISA_BUS
     select ACPI_SMBUS
+    select SERIAL_ISA
+    select FDC
 
 config SMC37C669
     bool
     select ISA_BUS
+    select SERIAL_ISA
+    select PARALLEL
+    select FDC
 
 config LPC_ICH9
     bool
+    # For historical reasons, SuperIO devices are created in the board
+    # for ICH9.
     select ISA_BUS
     select ACPI_SMBUS
     select ACPI_X86_ICH
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 26/51] ssi: express dependencies with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (24 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 25/51] isa: express SuperIO " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 27/51] sd: " Paolo Bonzini
                   ` (30 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak        | 1 -
 default-configs/microblaze-softmmu.mak | 1 -
 hw/sd/Kconfig                          | 1 +
 hw/ssi/Kconfig                         | 4 ++++
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index c1871c7..3491403 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -24,7 +24,6 @@ CONFIG_DDC=y
 CONFIG_SII9022=y
 CONFIG_ADS7846=y
 CONFIG_MAX111X=y
-CONFIG_SSI=y
 CONFIG_SSI_SD=y
 CONFIG_SSI_M25P80=y
 CONFIG_LAN9118=y
diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak
index a4a6770..7140ef3 100644
--- a/default-configs/microblaze-softmmu.mak
+++ b/default-configs/microblaze-softmmu.mak
@@ -6,7 +6,6 @@ CONFIG_XILINX=y
 CONFIG_XILINX_AXI=y
 CONFIG_XILINX_SPI=y
 CONFIG_XILINX_ETHLITE=y
-CONFIG_SSI=y
 CONFIG_SSI_M25P80=y
 CONFIG_XLNX_ZYNQMP=y
 CONFIG_PETALOGIX_S3ADSP1800=y
diff --git a/hw/sd/Kconfig b/hw/sd/Kconfig
index c6c5dfb..8f12d9c 100644
--- a/hw/sd/Kconfig
+++ b/hw/sd/Kconfig
@@ -3,6 +3,7 @@ config PL181
 
 config SSI_SD
     bool
+    depends on SSI
 
 config SD
     bool
diff --git a/hw/ssi/Kconfig b/hw/ssi/Kconfig
index 5a03110..9e54a0c 100644
--- a/hw/ssi/Kconfig
+++ b/hw/ssi/Kconfig
@@ -1,14 +1,18 @@
 config PL022
     bool
+    select SSI
 
 config SSI
     bool
 
 config XILINX_SPI
     bool
+    select SSI
 
 config XILINX_SPIPS
     bool
+    select SSI
 
 config STM32F2XX_SPI
     bool
+    select SSI
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 27/51] sd: express dependencies with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (25 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 26/51] ssi: express dependencies with kconfig Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 28/51] ipmi: " Paolo Bonzini
                   ` (29 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/arm-softmmu.mak | 1 -
 hw/sd/Kconfig                   | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 3491403..8283aeb 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -6,7 +6,6 @@ CONFIG_VGA=y
 CONFIG_NAND=y
 CONFIG_ECC=y
 CONFIG_SERIAL=y
-CONFIG_SD=y
 CONFIG_MAX7310=y
 CONFIG_WM8750=y
 CONFIG_TWL92230=y
diff --git a/hw/sd/Kconfig b/hw/sd/Kconfig
index 8f12d9c..864f535 100644
--- a/hw/sd/Kconfig
+++ b/hw/sd/Kconfig
@@ -1,9 +1,11 @@
 config PL181
     bool
+    select SD
 
 config SSI_SD
     bool
     depends on SSI
+    select SD
 
 config SD
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 28/51] ipmi: express dependencies with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (26 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 27/51] sd: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-20 14:06   ` Corey Minyard
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 29/51] i386-softmmu.mak: remove all CONFIG_* except boards definitions Paolo Bonzini
                   ` (28 subsequent siblings)
  56 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20190123065618.3520-36-yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak  | 3 ---
 default-configs/ppc64-softmmu.mak | 3 ---
 hw/ipmi/Kconfig                   | 6 ++++++
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 53e9d5e..e779ee1 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -1,9 +1,6 @@
 # Default configuration for i386-softmmu
 
 CONFIG_VMXNET3_PCI=y
-CONFIG_IPMI=y
-CONFIG_IPMI_LOCAL=y
-CONFIG_IPMI_EXTERN=y
 CONFIG_ISA_IPMI_KCS=y
 CONFIG_ISA_IPMI_BT=y
 
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index a0a9151..d642b67 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -5,9 +5,6 @@ include ppc-softmmu.mak
 
 # For PowerNV
 CONFIG_POWERNV=y
-CONFIG_IPMI=y
-CONFIG_IPMI_LOCAL=y
-CONFIG_IPMI_EXTERN=y
 CONFIG_ISA_IPMI_BT=y
 
 # For pSeries
diff --git a/hw/ipmi/Kconfig b/hw/ipmi/Kconfig
index 6a4f08f..b944fae 100644
--- a/hw/ipmi/Kconfig
+++ b/hw/ipmi/Kconfig
@@ -3,14 +3,20 @@ config IPMI
 
 config IPMI_LOCAL
     bool
+    default y
+    depends on IPMI
 
 config IPMI_EXTERN
     bool
+    default y
+    depends on IPMI
 
 config ISA_IPMI_KCS
     bool
     depends on ISA_BUS
+    select IPMI
 
 config ISA_IPMI_BT
     bool
     depends on ISA_BUS
+    select IPMI
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 29/51] i386-softmmu.mak: remove all CONFIG_* except boards definitions
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (27 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 28/51] ipmi: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig Paolo Bonzini
                   ` (27 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Yang Zhong

From: Yang Zhong <yang.zhong@intel.com>

%-softmmu.mak only keep boards definitions in Kconfig mode.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20190123065618.3520-43-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/i386-softmmu.mak | 37 ++++++++++++++++++-------------------
 hw/acpi/Kconfig                  |  6 ++++++
 hw/i386/Kconfig                  | 15 +++++++++++++++
 hw/mem/Kconfig                   |  2 ++
 hw/pci-bridge/Kconfig            |  1 +
 hw/timer/Kconfig                 |  1 +
 6 files changed, 43 insertions(+), 19 deletions(-)

diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index e779ee1..ba3fb3f 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -1,25 +1,24 @@
 # Default configuration for i386-softmmu
 
-CONFIG_VMXNET3_PCI=y
-CONFIG_ISA_IPMI_KCS=y
-CONFIG_ISA_IPMI_BT=y
-
-# Optional devices:
+# Uncomment the following lines to disable these optional devices:
 #
-CONFIG_HPET=y
-CONFIG_APPLESMC=y
-CONFIG_PFLASH_CFI01=y
-CONFIG_ISA_DEBUG=y
-CONFIG_ISA_TESTDEV=y
-CONFIG_TEST_DEVICES=y
-CONFIG_SGA=y
-CONFIG_PVPANIC=y
-CONFIG_MEM_DEVICE=y
-CONFIG_NVDIMM=y
-CONFIG_ACPI_NVDIMM=y
-CONFIG_PXB=y
-CONFIG_ACPI_VMGENID=y
-CONFIG_PCI_DEVICES=y
+#CONFIG_AMD_IOMMU=n
+#CONFIG_APPLESMC=n
+#CONFIG_FDC=n
+#CONFIG_HPET=n
+#CONFIG_HYPERV=n
+#CONFIG_ISA_DEBUG=n
+#CONFIG_ISA_IPMI_BT=n
+#CONFIG_ISA_IPMI_KCS=n
+#CONFIG_PCI_DEVICES=n
+#CONFIG_PVPANIC=n
+#CONFIG_QXL=n
+#CONFIG_SEV=n
+#CONFIG_SGA=n
+#CONFIG_TEST_DEVICES=n
+#CONFIG_TPM_CRB=n
+#CONFIG_TPM_TIS=n
+#CONFIG_VTD=n
 
 # Boards:
 #
diff --git a/hw/acpi/Kconfig b/hw/acpi/Kconfig
index 035a28f..eca3bee 100644
--- a/hw/acpi/Kconfig
+++ b/hw/acpi/Kconfig
@@ -4,6 +4,9 @@ config ACPI
 config ACPI_X86
     bool
     select ACPI
+    select ACPI_NVDIMM
+    select ACPI_CPU_HOTPLUG
+    select ACPI_MEMORY_HOTPLUG
 
 config ACPI_X86_ICH
     bool
@@ -18,6 +21,9 @@ config ACPI_MEMORY_HOTPLUG
 
 config ACPI_NVDIMM
     bool
+    depends on ACPI
 
 config ACPI_VMGENID
     bool
+    default y
+    depends on PC
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index b9d9168..790d37e 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -4,17 +4,31 @@ config SEV
 
 config PC
     bool
+    imply APPLESMC
     imply HYPERV
+    imply ISA_IPMI_KCS
+    imply ISA_IPMI_BT
+    imply ISA_DEBUG
+    imply PCI_DEVICES
+    imply PVPANIC
     imply QXL
     imply SEV
+    imply SGA
+    imply TEST_DEVICES
     imply TPM_CRB
     imply TPM_TIS
     select I8259
     select I8254
+    select PCKBD
     select PCSPK
     select I82374
     select I8257
     select MC146818RTC
+    # Needed by the board code:
+    select PARALLEL
+    # For ACPI builder:
+    select SERIAL_ISA
+    select ACPI_VMGENID
 
 config PC_PCI
     bool
@@ -29,6 +43,7 @@ config PC_ACPI
     select ACPI_CPU_HOTPLUG
     select ACPI_MEMORY_HOTPLUG
     select SMBUS_EEPROM
+    select PFLASH_CFI01
     depends on ACPI_SMBUS
 
 config I440FX
diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
index a3a4372..d1e635c 100644
--- a/hw/mem/Kconfig
+++ b/hw/mem/Kconfig
@@ -6,3 +6,5 @@ config MEM_DEVICE
 
 config NVDIMM
     bool
+    default y
+    depends on PC
diff --git a/hw/pci-bridge/Kconfig b/hw/pci-bridge/Kconfig
index 0519eb1..b167b98 100644
--- a/hw/pci-bridge/Kconfig
+++ b/hw/pci-bridge/Kconfig
@@ -5,6 +5,7 @@ config PCIE_PORT
 
 config PXB
     bool
+    default y if Q35
 
 config XIO3130
     bool
diff --git a/hw/timer/Kconfig b/hw/timer/Kconfig
index a021c74..51921eb 100644
--- a/hw/timer/Kconfig
+++ b/hw/timer/Kconfig
@@ -15,6 +15,7 @@ config DS1338
 
 config HPET
     bool
+    default y if PC
 
 config I8254
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (28 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 29/51] i386-softmmu.mak: remove all CONFIG_* except boards definitions Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-28 10:44   ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 31/51] ppc: Express dependencies of the 'prep' and '40p' " Paolo Bonzini
                   ` (26 subsequent siblings)
  56 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

From: Thomas Huth <thuth@redhat.com>

The POWERNV switch should always select ISA_IPMI_BT, then the other
IPMI options are turned on automatically now.
CONFIG_DIMM should always be selected by the pseries machine,
which in turn depends on CONFIG_MEM_DEVICE since DIMM implements
this interface.
CONFIG_VIRTIO_VGA can be dropped from default-configs/ppc64-softmmu.mak
completely since this device is already automatically enabled via
hw/display/Kconfig now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/ppc64-softmmu.mak |  5 -----
 hw/intc/Kconfig                   |  6 ++----
 hw/mem/Kconfig                    |  1 +
 hw/ppc/Kconfig                    | 22 ++++++++++++++++++++--
 4 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index d642b67..cca5266 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -5,11 +5,6 @@ include ppc-softmmu.mak
 
 # For PowerNV
 CONFIG_POWERNV=y
-CONFIG_ISA_IPMI_BT=y
 
 # For pSeries
 CONFIG_PSERIES=y
-CONFIG_VIRTIO_VGA=y
-CONFIG_MEM_DEVICE=y
-CONFIG_DIMM=y
-CONFIG_SPAPR_RNG=y
diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index 6eea14e..de10a6b 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -31,13 +31,11 @@ config OPENPIC_KVM
 
 config XICS
     bool
-    default y
-    depends on PSERIES
+    depends on POWERNV || PSERIES
 
 config XICS_SPAPR
     bool
-    default y
-    depends on PSERIES
+    select XICS
 
 config XICS_KVM
     bool
diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
index d1e635c..620fd4c 100644
--- a/hw/mem/Kconfig
+++ b/hw/mem/Kconfig
@@ -1,5 +1,6 @@
 config DIMM
     bool
+    select MEM_DEVICE
 
 config MEM_DEVICE
     bool
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index fb085d7..be6440e 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -1,11 +1,29 @@
 config PSERIES
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select DIMM
+    select PCI
+    select VFIO
+    select XICS_SPAPR
+    select XIVE_SPAPR
+    select SPAPR_VSCSI
 
 config SPAPR_RNG
     bool
+    default y
+    depends on PSERIES
 
 config POWERNV
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select ISA_IPMI_BT
+    select IPMI_LOCAL
+    select ISA_BUS
+    select MC146818RTC
+    select XICS
+    select XIVE
 
 config PPC405
     bool
@@ -39,10 +57,10 @@ config VIRTEX
 
 config XIVE
     bool
-    default y
-    depends on PSERIES
+    depends on POWERNV || PSERIES
 
 config XIVE_SPAPR
     bool
     default y
     depends on PSERIES
+    select XIVE
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 31/51] ppc: Express dependencies of the 'prep' and '40p' machines with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (29 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 32/51] ppc: Express dependencies of the Mac " Paolo Bonzini
                   ` (25 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Hervé Poussineau

From: Thomas Huth <thuth@redhat.com>

Select the required devices in hw/ppc/Kconfig instead, so that
ppc-softmmu.mak only contains the user-selectable PREP switch.
Plug-in devices like NE2000_ISA are pulled in automatically by the
Kconfig build system now.

Cc: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/ppc-softmmu.mak |  8 --------
 hw/ppc/Kconfig                  | 10 ++++++++++
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 9ad307a..066cec9 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -55,11 +55,3 @@ CONFIG_MAC_NEWWORLD=y
 
 # For PReP
 CONFIG_PREP=y
-CONFIG_PREP_PCI=y
-CONFIG_RS6000_MC=y
-CONFIG_I82374=y
-CONFIG_I82378=y
-CONFIG_PCKBD=y
-CONFIG_NE2000_ISA=y
-CONFIG_PC87312=y
-CONFIG_CS4231A=y
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index be6440e..9cebf0f 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -39,6 +39,16 @@ config SAM460EX
 
 config PREP
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select CS4231A
+    select PREP_PCI
+    select I82374
+    select I82378
+    select LSI_SCSI_PCI
+    select M48T59
+    select PC87312
+    select RS6000_MC
 
 config RS6000_MC
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 32/51] ppc: Express dependencies of the Mac machines with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (30 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 31/51] ppc: Express dependencies of the 'prep' and '40p' " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX " Paolo Bonzini
                   ` (24 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Mark Cave-Ayland

From: Thomas Huth <thuth@redhat.com>

This will make it for example easier if the users want to disable
one of the two machines for their builds.

Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/ppc-softmmu.mak | 15 ---------------
 hw/misc/Kconfig                 |  6 ++++++
 hw/net/Kconfig                  |  1 +
 hw/pci-host/Kconfig             |  4 +++-
 hw/ppc/Kconfig                  | 15 +++++++++++++++
 5 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 066cec9..caaff60 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -35,21 +35,6 @@ CONFIG_VGA_CIRRUS=y
 CONFIG_SMBUS_EEPROM=y
 
 # For Macs
-CONFIG_ESCC=y
-CONFIG_MACIO=y
-CONFIG_MACIO_GPIO=y
-CONFIG_SUNGEM=y
-CONFIG_MOS6522=y
-CONFIG_CUDA=y
-CONFIG_ADB=y
-CONFIG_MAC_NVRAM=y
-CONFIG_MAC_DBDMA=y
-CONFIG_MAC_PMU=y
-CONFIG_HEATHROW_PIC=y
-CONFIG_GRACKLE_PCI=y
-CONFIG_UNIN_PCI=y
-CONFIG_DEC_PCI=y
-CONFIG_IDE_MACIO=y
 CONFIG_MAC_OLDWORLD=y
 CONFIG_MAC_NEWWORLD=y
 
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 74031cc..728c561 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -57,6 +57,12 @@ config MOS6522
 
 config MACIO
     bool
+    select CUDA
+    select ESCC
+    select IDE_MACIO
+    select MAC_DBDMA
+    select MAC_NVRAM
+    select MOS6522
 
 config IVSHMEM_DEVICE
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index dc69e55..1aa1071 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -86,6 +86,7 @@ config FTGMAC100
 
 config SUNGEM
     bool
+    depends on PCI
 
 config COLDFIRE
     bool
diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
index ff4080c..b39ea29 100644
--- a/hw/pci-host/Kconfig
+++ b/hw/pci-host/Kconfig
@@ -10,8 +10,10 @@ config GRACKLE_PCI
     bool
 
 config UNIN_PCI
-    select PCI
     bool
+    select PCI
+    select DEC_PCI
+    select OPENPIC
 
 config PPCE500_PCI
     select PCI
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 9cebf0f..fb77151 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -55,9 +55,24 @@ config RS6000_MC
 
 config MAC_OLDWORLD
     bool
+    imply PCI_DEVICES
+    imply SUNGEM
+    imply TEST_DEVICES
+    select ADB
+    select GRACKLE_PCI
+    select HEATHROW_PIC
+    select MACIO
 
 config MAC_NEWWORLD
     bool
+    imply PCI_DEVICES
+    imply SUNGEM
+    imply TEST_DEVICES
+    select ADB
+    select MACIO
+    select MACIO_GPIO
+    select MAC_PMU
+    select UNIN_PCI
 
 config E500
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX machines with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (31 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 32/51] ppc: Express dependencies of the Mac " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 23:16   ` BALATON Zoltan
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 34/51] ppc: Express dependencies of the embedded " Paolo Bonzini
                   ` (23 subsequent siblings)
  56 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

From: Thomas Huth <thuth@redhat.com>

Most of the dependencies are now directly selected by the SAM460EX
switch. We can drop CONFIG_VGA_CIRRUS since this device is already
selected automatically when CONFIG_PCI_DEVICES is set.

Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/ppc-softmmu.mak |  8 --------
 hw/display/Kconfig              |  1 +
 hw/ppc/Kconfig                  | 11 +++++++++++
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index caaff60..fb43cba 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -25,14 +25,6 @@ CONFIG_PCI_EXPRESS=y
 
 # For Sam460ex
 CONFIG_SAM460EX=y
-CONFIG_USB_EHCI_SYSBUS=y
-CONFIG_SM501=y
-CONFIG_IDE_SII3112=y
-CONFIG_AT24C=y
-CONFIG_BITBANG_I2C=y
-CONFIG_M41T80=y
-CONFIG_VGA_CIRRUS=y
-CONFIG_SMBUS_EEPROM=y
 
 # For Macs
 CONFIG_MAC_OLDWORLD=y
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index 0f659e9..69f8a7e 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -29,6 +29,7 @@ config SII9022
 config SSD0303
     bool
     depends on I2C
+    select DDC
 
 config SSD0323
     bool
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index fb77151..664fc31 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -33,9 +33,20 @@ config PPC440
 
 config PPC4XX
     bool
+    select BITBANG_I2C
+    select PCI
 
 config SAM460EX
     bool
+    select PFLASH_CFI01
+    select IDE_SII3112
+    select M41T80
+    select PPC440
+    select SERIAL
+    select SM501
+    select SMBUS_EEPROM
+    select USB_EHCI_SYSBUS
+    select USB_OHCI
 
 config PREP
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 34/51] ppc: Express dependencies of the embedded machines with kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (32 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 35/51] alpha-softmmu.mak: express dependencies with Kconfig Paolo Bonzini
                   ` (22 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

From: Thomas Huth <thuth@redhat.com>

This makes it much easier if the users want to disable some of
the embedded machines for their builds.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/ppc-softmmu.mak | 17 -----------------
 hw/ppc/Kconfig                  | 19 +++++++++++++++++++
 2 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index fb43cba..6ea36d4 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -1,27 +1,10 @@
 # Default configuration for ppc-softmmu
 
-CONFIG_ISA_BUS=y
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_TEST_DEVICES=y
-
 # For embedded PPCs:
-CONFIG_PPC4XX=y
-CONFIG_M48T59=y
-CONFIG_SERIAL=y
-CONFIG_OPENPIC=y
-CONFIG_PPCE500_PCI=y
-CONFIG_PFLASH_CFI01=y
-CONFIG_PFLASH_CFI02=y
-CONFIG_XILINX=y
-CONFIG_XILINX_ETHLITE=y
 CONFIG_E500=y
-CONFIG_PLATFORM_BUS=y
-CONFIG_ETSEC=y
 CONFIG_PPC405=y
 CONFIG_PPC440=y
 CONFIG_VIRTEX=y
-CONFIG_PCI_EXPRESS=y
 
 # For Sam460ex
 CONFIG_SAM460EX=y
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 664fc31..f57d107 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -27,9 +27,18 @@ config POWERNV
 
 config PPC405
     bool
+    select M48T59
+    select PFLASH_CFI02
+    select PPC4XX
+    select SERIAL
 
 config PPC440
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select PCI_EXPRESS
+    select PPC4XX
+    select SERIAL
 
 config PPC4XX
     bool
@@ -87,9 +96,19 @@ config MAC_NEWWORLD
 
 config E500
     bool
+    imply AT24C
+    select ETSEC
+    select OPENPIC
+    select PLATFORM_BUS
+    select PPCE500_PCI
+    select SERIAL
 
 config VIRTEX
     bool
+    select PFLASH_CFI01
+    select SERIAL
+    select XILINX
+    select XILINX_ETHLITE
 
 config XIVE
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 35/51] alpha-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (33 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 34/51] ppc: Express dependencies of the embedded " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 36/51] cris-softmmu.mak: " Paolo Bonzini
                   ` (21 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/alpha-softmmu.mak | 19 +++++++------------
 hw/alpha/Kconfig                  | 10 ++++++++++
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index 762e3a2..d186fe8 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -1,15 +1,10 @@
 # Default configuration for alpha-softmmu
 
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_I82374=y
-CONFIG_I8254=y
-CONFIG_PCKBD=y
-CONFIG_VGA_CIRRUS=y
-CONFIG_VMWARE_VGA=y
-CONFIG_IDE_CMD646=y
-CONFIG_I8259=y
-CONFIG_MC146818RTC=y
-CONFIG_TEST_DEVICES=y
-CONFIG_SMC37C669=y
+# Uncomment the following lines to disable these optional devices:
+#
+#CONFIG_PCI_DEVICES=n
+#CONFIG_TEST_DEVICES=n
+
+# Boards:
+#
 CONFIG_DP264=y
diff --git a/hw/alpha/Kconfig b/hw/alpha/Kconfig
index c5d0438..22cefd9 100644
--- a/hw/alpha/Kconfig
+++ b/hw/alpha/Kconfig
@@ -1,2 +1,12 @@
 config DP264
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select I82374
+    select I8254
+    select I8259
+    select IDE_CMD646
+    select MC146818RTC
+    select PCI
+    select PCKBD
+    select SMC37C669
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 36/51] cris-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (34 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 35/51] alpha-softmmu.mak: express dependencies with Kconfig Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 37/51] hppa-softmmu.mak: " Paolo Bonzini
                   ` (20 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/cris-softmmu.mak | 5 ++---
 hw/cris/Kconfig                  | 3 +++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/default-configs/cris-softmmu.mak b/default-configs/cris-softmmu.mak
index b3cae59..5932cf4 100644
--- a/default-configs/cris-softmmu.mak
+++ b/default-configs/cris-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for cris-softmmu
 
-CONFIG_ETRAXFS=y
-CONFIG_NAND=y
-CONFIG_PFLASH_CFI02=y
+# Boards:
+#
 CONFIG_AXIS=y
diff --git a/hw/cris/Kconfig b/hw/cris/Kconfig
index b7738ab..884ad2c 100644
--- a/hw/cris/Kconfig
+++ b/hw/cris/Kconfig
@@ -1,5 +1,8 @@
 config AXIS
     bool
+    select ETRAXFS
+    select PFLASH_CFI02
+    select NAND
 
 config ETRAXFS
    bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 37/51] hppa-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (35 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 36/51] cris-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 38/51] lm32-softmmu.mak: " Paolo Bonzini
                   ` (19 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Note that the Dino board uses a memory mapped 16550 UART and
therefore only CONFIG_SERIAL is needed, not CONFIG_SERIAL_ISA.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/hppa-softmmu.mak | 20 ++++++++------------
 hw/hppa/Kconfig                  |  8 ++++++++
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/default-configs/hppa-softmmu.mak b/default-configs/hppa-softmmu.mak
index b7f2b43..b64c5eb 100644
--- a/default-configs/hppa-softmmu.mak
+++ b/default-configs/hppa-softmmu.mak
@@ -1,13 +1,9 @@
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
-CONFIG_ISA_BUS=y
-CONFIG_I8259=y
-CONFIG_E1000_PCI=y
-CONFIG_IDE_CMD646=y
-# CONFIG_IDE_MMIO=y
-CONFIG_LSI_SCSI_PCI=y
-CONFIG_VIRTIO_VGA=y
-CONFIG_MC146818RTC=y
+# Default configuration for hppa-softmmu
+
+# Uncomment the following lines to disable these optional devices:
+#
+#CONFIG_PCI_DEVICES=n
+
+# Boards:
+#
 CONFIG_DINO=y
diff --git a/hw/hppa/Kconfig b/hw/hppa/Kconfig
index 5ce48ef..2d9b072 100644
--- a/hw/hppa/Kconfig
+++ b/hw/hppa/Kconfig
@@ -1,2 +1,10 @@
 config DINO
     bool
+    imply PCI_DEVICES
+    select PCI
+    select SERIAL
+    select ISA_BUS
+    select I8259
+    select IDE_CMD646
+    select MC146818RTC
+    select LSI_SCSI_PCI
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 38/51] lm32-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (36 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 37/51] hppa-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 39/51] m68k-softmmu.mak: " Paolo Bonzini
                   ` (18 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/lm32-softmmu.mak | 10 ++++++----
 hw/display/Kconfig               |  3 +--
 hw/lm32/Kconfig                  |  6 ++++++
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index f489838..6d25966 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -1,8 +1,10 @@
 # Default configuration for lm32-softmmu
 
+# Uncomment the following lines to disable these optional devices:
+#
+#CONFIG_MILKYMIST_TMU2=n        # disabling it actually causes compile-time failures
+
+# Boards:
+#
 CONFIG_LM32=y
 CONFIG_MILKYMIST=y
-CONFIG_FRAMEBUFFER=y
-CONFIG_PFLASH_CFI01=y
-CONFIG_PFLASH_CFI02=y
-CONFIG_SD=y
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index 69f8a7e..ee3acd9 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -71,8 +71,7 @@ config FRAMEBUFFER
 
 config MILKYMIST_TMU2
     bool
-    default y
-    depends on OPENGL && X11 && MILKYMIST
+    depends on OPENGL && X11
 
 config SM501
     bool
diff --git a/hw/lm32/Kconfig b/hw/lm32/Kconfig
index 4f45840..3d09c2d 100644
--- a/hw/lm32/Kconfig
+++ b/hw/lm32/Kconfig
@@ -1,7 +1,13 @@
 config LM32
     bool
     select PTIMER
+    select PFLASH_CFI02
 
 config MILKYMIST
     bool
+    # FIXME: disabling it results in compile-time errors
+    select MILKYMIST_TMU2 if OPENGL && X11
     select PTIMER
+    select PFLASH_CFI01
+    select FRAMEBUFFER
+    select SD
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 39/51] m68k-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (37 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 38/51] lm32-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 40/51] microblaze-softmmu.mak: " Paolo Bonzini
                   ` (17 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/m68k-softmmu.mak | 3 ++-
 hw/m68k/Kconfig                  | 5 ++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/default-configs/m68k-softmmu.mak b/default-configs/m68k-softmmu.mak
index a12eece..e17495e 100644
--- a/default-configs/m68k-softmmu.mak
+++ b/default-configs/m68k-softmmu.mak
@@ -1,5 +1,6 @@
 # Default configuration for m68k-softmmu
 
-CONFIG_COLDFIRE=y
+# Boards:
+#
 CONFIG_AN5206=y
 CONFIG_MCF5208=y
diff --git a/hw/m68k/Kconfig b/hw/m68k/Kconfig
index 8e91eda..49ef0b3 100644
--- a/hw/m68k/Kconfig
+++ b/hw/m68k/Kconfig
@@ -1,10 +1,9 @@
 config AN5206
     bool
-
-config MCF5206
-    bool
+    select COLDFIRE
     select PTIMER
 
 config MCF5208
     bool
+    select COLDFIRE
     select PTIMER
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 40/51] microblaze-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (38 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 39/51] m68k-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 41/51] moxie-softmmu.mak: " Paolo Bonzini
                   ` (16 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/microblaze-softmmu.mak | 10 ++--------
 hw/microblaze/Kconfig                  | 12 ++++++++++++
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak
index 7140ef3..db8c6e4 100644
--- a/default-configs/microblaze-softmmu.mak
+++ b/default-configs/microblaze-softmmu.mak
@@ -1,13 +1,7 @@
 # Default configuration for microblaze-softmmu
 
-CONFIG_PFLASH_CFI01=y
-CONFIG_SERIAL=y
-CONFIG_XILINX=y
-CONFIG_XILINX_AXI=y
-CONFIG_XILINX_SPI=y
-CONFIG_XILINX_ETHLITE=y
-CONFIG_SSI_M25P80=y
-CONFIG_XLNX_ZYNQMP=y
+# Boards:
+#
 CONFIG_PETALOGIX_S3ADSP1800=y
 CONFIG_PETALOGIX_ML605=y
 CONFIG_XLNX_ZYNQMP_PMU=y
diff --git a/hw/microblaze/Kconfig b/hw/microblaze/Kconfig
index 44683b2..c4dc120 100644
--- a/hw/microblaze/Kconfig
+++ b/hw/microblaze/Kconfig
@@ -1,8 +1,20 @@
 config PETALOGIX_S3ADSP1800
     bool
+    select PFLASH_CFI01
+    select XILINX
+    select XILINX_AXI
+    select XILINX_ETHLITE
 
 config PETALOGIX_ML605
     bool
+    select PFLASH_CFI01
+    select SERIAL
+    select SSI_M25P80
+    select XILINX
+    select XILINX_AXI
+    select XILINX_ETHLITE
+    select XILINX_SPI
 
 config XLNX_ZYNQMP_PMU
     bool
+    select XLNX_ZYNQMP
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 41/51] moxie-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (39 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 40/51] microblaze-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 42/51] nios2-softmmu.mak: " Paolo Bonzini
                   ` (15 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Moxie does not use VGA, ISA or RTC, and only has a memory-mapped
serial port.  Adjust for the correct dependencies.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/moxie-softmmu.mak | 7 ++-----
 hw/moxie/Kconfig                  | 1 +
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/default-configs/moxie-softmmu.mak b/default-configs/moxie-softmmu.mak
index 17ba906..bd50da3 100644
--- a/default-configs/moxie-softmmu.mak
+++ b/default-configs/moxie-softmmu.mak
@@ -1,8 +1,5 @@
 # Default configuration for moxie-softmmu
 
-CONFIG_ISA_BUS=y
-CONFIG_MC146818RTC=y
-CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
-CONFIG_VGA=y
+# Boards:
+#
 CONFIG_MOXIESIM=y
diff --git a/hw/moxie/Kconfig b/hw/moxie/Kconfig
index 03f62e3..3793ef0 100644
--- a/hw/moxie/Kconfig
+++ b/hw/moxie/Kconfig
@@ -1,2 +1,3 @@
 config MOXIESIM
     bool
+    select SERIAL
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 42/51] nios2-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (40 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 41/51] moxie-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 43/51] or1k-softmmu.mak: " Paolo Bonzini
                   ` (14 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/nios2-softmmu.mak | 5 ++---
 hw/nios2/Kconfig                  | 3 +++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/default-configs/nios2-softmmu.mak b/default-configs/nios2-softmmu.mak
index b3c507e..e11dc54 100644
--- a/default-configs/nios2-softmmu.mak
+++ b/default-configs/nios2-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for nios2-softmmu
 
-CONFIG_NIOS2=y
-CONFIG_SERIAL=y
-CONFIG_ALTERA_TIMER=y
+# Boards:
+#
 CONFIG_NIOS2_10M50=y
diff --git a/hw/nios2/Kconfig b/hw/nios2/Kconfig
index 22817e4..ab953e0 100644
--- a/hw/nios2/Kconfig
+++ b/hw/nios2/Kconfig
@@ -1,5 +1,8 @@
 config NIOS2_10M50
     bool
+    select NIOS2
+    select SERIAL
+    select ALTERA_TIMER
 
 config NIOS2
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 43/51] or1k-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (41 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 42/51] nios2-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 44/51] s390x: " Paolo Bonzini
                   ` (13 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/or1k-softmmu.mak | 5 ++---
 hw/openrisc/Kconfig              | 3 +++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/default-configs/or1k-softmmu.mak b/default-configs/or1k-softmmu.mak
index 6a0f2ef..168101c 100644
--- a/default-configs/or1k-softmmu.mak
+++ b/default-configs/or1k-softmmu.mak
@@ -1,6 +1,5 @@
 # Default configuration for or1k-softmmu
 
-CONFIG_SERIAL=y
-CONFIG_OPENCORES_ETH=y
-CONFIG_OMPIC=y
+# Boards:
+#
 CONFIG_OR1K_SIM=y
diff --git a/hw/openrisc/Kconfig b/hw/openrisc/Kconfig
index 7aef98d..6c1e868 100644
--- a/hw/openrisc/Kconfig
+++ b/hw/openrisc/Kconfig
@@ -1,2 +1,5 @@
 config OR1K_SIM
     bool
+    select SERIAL
+    select OPENCORES_ETH
+    select OMPIC
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 44/51] s390x: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (42 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 43/51] or1k-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 45/51] sh4-softmmu.mak: " Paolo Bonzini
                   ` (12 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

From: Thomas Huth <thuth@redhat.com>

Instead of hard-coding all config switches in the config file
default-configs/s390x-softmmu.mak, let's use the new Kconfig files
to express the necessary dependencies: The S390_CCW_VIRTIO config switch
for the "s390-ccw-virtio" machine now selects all non-optional devices.

And since we already have the VIRTIO_PCI and VIRTIO_MMIO config switches
for the other two virtio transports, this patch also introduces a new
config switch VIRTIO_CCW for the third, s390x-specific virtio transport,
so that all three virtio transports are now handled in the same way.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/s390x-softmmu.mak | 20 ++++++++++++--------
 hw/s390x/Kconfig                  |  9 +++++++++
 hw/s390x/Makefile.objs            |  4 +++-
 hw/virtio/Kconfig                 |  4 ++++
 4 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak
index 2be5059..f2287a1 100644
--- a/default-configs/s390x-softmmu.mak
+++ b/default-configs/s390x-softmmu.mak
@@ -1,9 +1,13 @@
-CONFIG_PCI=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_SCLPCONSOLE=y
-CONFIG_TERMINAL3270=y
-CONFIG_S390_FLIC=y
-CONFIG_WDT_DIAG288=y
+# Default configuration for s390x-softmmu
+
+# Uncomment the following lines to disable these optional devices:
+#
+#CONFIG_TERMINAL3270=n
+#CONFIG_VFIO_AP=n
+#CONFIG_VFIO_CCW=n
+#CONFIG_VIRTIO_PCI=n
+#CONFIG_WDT_DIAG288=n
+
+# Boards:
+#
 CONFIG_S390_CCW_VIRTIO=y
-CONFIG_VFIO_CCW=y
-CONFIG_VFIO_AP=y
diff --git a/hw/s390x/Kconfig b/hw/s390x/Kconfig
index 303db7f..a7046ea 100644
--- a/hw/s390x/Kconfig
+++ b/hw/s390x/Kconfig
@@ -1,2 +1,11 @@
 config S390_CCW_VIRTIO
     bool
+    imply VIRTIO_PCI
+    imply TERMINAL3270
+    imply VFIO_AP
+    imply VFIO_CCW
+    imply WDT_DIAG288
+    select PCI
+    select S390_FLIC
+    select SCLPCONSOLE
+    select VIRTIO_CCW
diff --git a/hw/s390x/Makefile.objs b/hw/s390x/Makefile.objs
index a18c471..9884979 100644
--- a/hw/s390x/Makefile.objs
+++ b/hw/s390x/Makefile.objs
@@ -6,7 +6,8 @@ obj-y += sclpcpu.o
 obj-y += ipl.o
 obj-y += css.o
 obj-$(CONFIG_S390_CCW_VIRTIO) += s390-virtio-ccw.o
-obj-y += 3270-ccw.o
+obj-$(CONFIG_TERMINAL3270) += 3270-ccw.o
+ifeq ($(CONFIG_VIRTIO_CCW),y)
 obj-y += virtio-ccw.o
 obj-$(CONFIG_VIRTIO_SERIAL) += virtio-ccw-serial.o
 obj-$(CONFIG_VIRTIO_BALLOON) += virtio-ccw-balloon.o
@@ -19,6 +20,7 @@ obj-$(CONFIG_VIRTIO_NET) += virtio-ccw-net.o
 obj-$(CONFIG_VIRTIO_BLK) += virtio-ccw-blk.o
 obj-$(call land,$(CONFIG_VIRTIO_9P),$(CONFIG_VIRTFS)) += virtio-ccw-9p.o
 obj-$(CONFIG_VHOST_VSOCK) += vhost-vsock-ccw.o
+endif
 obj-y += css-bridge.o
 obj-y += ccw-device.o
 obj-$(CONFIG_PCI) += s390-pci-bus.o s390-pci-inst.o
diff --git a/hw/virtio/Kconfig b/hw/virtio/Kconfig
index 74f4573..e0452de 100644
--- a/hw/virtio/Kconfig
+++ b/hw/virtio/Kconfig
@@ -16,6 +16,10 @@ config VIRTIO_MMIO
     bool
     select VIRTIO
 
+config VIRTIO_CCW
+    bool
+    select VIRTIO
+
 config VIRTIO_BALLOON
     bool
     default y
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 45/51] sh4-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (43 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 44/51] s390x: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: " Paolo Bonzini
                   ` (11 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Note that USB_OHCI was missing (it was brought in via pci.mak,
but r2d needs the sysbus version) and SERIAL is not used.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/sh4-softmmu.mak   | 18 +++++++-----------
 default-configs/sh4eb-softmmu.mak | 13 +------------
 hw/sh4/Kconfig                    | 11 +++++++++++
 3 files changed, 19 insertions(+), 23 deletions(-)

diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak
index 4ba5584..565e8b0 100644
--- a/default-configs/sh4-softmmu.mak
+++ b/default-configs/sh4-softmmu.mak
@@ -1,15 +1,11 @@
 # Default configuration for sh4eb-softmmu
 
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_SERIAL=y
-CONFIG_PFLASH_CFI02=y
-CONFIG_SH4=y
-CONFIG_IDE_MMIO=y
-CONFIG_SM501=y
-CONFIG_TEST_DEVICES=y
-CONFIG_I82378=y
-CONFIG_I82374=y
+# Uncomment the following lines to disable these optional devices:
+#
+#CONFIG_PCI_DEVICES=n
+#CONFIG_TEST_DEVICES=n
+
+# Boards:
+#
 CONFIG_R2D=y
 CONFIG_SHIX=y
-CONFIG_TEST_DEVICES=y
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak
index 9717673..522a7a5 100644
--- a/default-configs/sh4eb-softmmu.mak
+++ b/default-configs/sh4eb-softmmu.mak
@@ -1,14 +1,3 @@
 # Default configuration for sh4eb-softmmu
 
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_SERIAL=y
-CONFIG_PFLASH_CFI02=y
-CONFIG_SH4=y
-CONFIG_IDE_MMIO=y
-CONFIG_SM501=y
-CONFIG_TEST_DEVICES=y
-CONFIG_I82378=y
-CONFIG_I82374=y
-CONFIG_R2D=y
-CONFIG_SHIX=y
+include sh4-softmmu.mak
diff --git a/hw/sh4/Kconfig b/hw/sh4/Kconfig
index 1ea2bc3..8597613 100644
--- a/hw/sh4/Kconfig
+++ b/hw/sh4/Kconfig
@@ -1,8 +1,19 @@
 config R2D
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select I82378 if TEST_DEVICES
+    select IDE_MMIO
+    select PFLASH_CFI02
+    select USB_OHCI
+    select PCI
+    select SM501
+    select SH4
 
 config SHIX
     bool
+    select SH7750
+    select SH4
 
 config SH7750
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (44 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 45/51] sh4-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-08 17:33   ` Mark Cave-Ayland
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 47/51] sparc64-softmmu.mak: " Paolo Bonzini
                   ` (10 subsequent siblings)
  56 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/sparc-softmmu.mak | 22 ++++++----------------
 hw/misc/Kconfig                   |  1 +
 hw/net/Kconfig                    |  1 +
 hw/sparc/Kconfig                  | 13 +++++++++++++
 4 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index b31a9f2..ee85218 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -1,21 +1,11 @@
 # Default configuration for sparc-softmmu
 
-CONFIG_ISA_BUS=y
-CONFIG_ECC=y
-CONFIG_ESP=y
-CONFIG_ESCC=y
-CONFIG_M48T59=y
-CONFIG_FDC=y
-CONFIG_EMPTY_SLOT=y
-CONFIG_PCNET_COMMON=y
-CONFIG_LANCE=y
-CONFIG_TCX=y
-CONFIG_CG3=y
-CONFIG_SLAVIO=y
-CONFIG_CS4231=y
-CONFIG_GRLIB=y
-CONFIG_STP2000=y
-CONFIG_ECCMEMCTL=y
+# Uncomment the following lines to disable these optional devices:
+#
+#CONFIG_TCX=n
+#CONFIG_CG3=n
 
+# Boards:
+#
 CONFIG_SUN4M=y
 CONFIG_LEON3=y
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 728c561..11d4b30 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -71,6 +71,7 @@ config IVSHMEM_DEVICE
 
 config ECCMEMCTL
     bool
+    select ECC
 
 config IMX
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index 1aa1071..c132180 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -77,6 +77,7 @@ config STELLARIS_ENET
 
 config LANCE
     bool
+    select PCNET_COMMON
 
 config SUNHME
     bool
diff --git a/hw/sparc/Kconfig b/hw/sparc/Kconfig
index c9c2142..2a83a80 100644
--- a/hw/sparc/Kconfig
+++ b/hw/sparc/Kconfig
@@ -1,8 +1,21 @@
 config SUN4M
     bool
+    imply TCX
+    imply CG3
+    select CS4231
+    select ECCMEMCTL
+    select EMPTY_SLOT
+    select ESCC
+    select ESP
+    select FDC
+    select SLAVIO
+    select LANCE
+    select M48T59
+    select STP2000
 
 config LEON3
     bool
+    select GRLIB
 
 config GRLIB
     bool
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 47/51] sparc64-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (45 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-08 17:35   ` Mark Cave-Ayland
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 48/51] unicore32-softmmu.mak: " Paolo Bonzini
                   ` (9 subsequent siblings)
  56 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/sparc64-softmmu.mak | 23 ++++++++---------------
 hw/sparc64/Kconfig                  | 13 +++++++++++++
 2 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 528af8f..e50030a 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -1,19 +1,12 @@
 # Default configuration for sparc64-softmmu
 
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_M48T59=y
-CONFIG_SERIAL=y
-CONFIG_SERIAL_ISA=y
-CONFIG_PARALLEL=y
-CONFIG_PCKBD=y
-CONFIG_FDC=y
-CONFIG_IDE_CMD646=y
-CONFIG_PCI_SABRE=y
-CONFIG_SIMBA=y
-CONFIG_SUNHME=y
-CONFIG_MC146818RTC=y
-CONFIG_TEST_DEVICES=y
-CONFIG_SUN4V_RTC=y
+# Uncomment the following lines to disable these optional devices:
+#
+#CONFIG_PCI_DEVICES=n
+#CONFIG_SUNHME=n
+#CONFIG_TEST_DEVICES=n
+
+# Boards:
+#
 CONFIG_SUN4U=y
 CONFIG_NIAGARA=y
diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig
index 41f7295..4a8166e 100644
--- a/hw/sparc64/Kconfig
+++ b/hw/sparc64/Kconfig
@@ -1,6 +1,19 @@
 config SUN4U
     bool
+    imply PCI_DEVICES
+    imply SUNHME
+    imply TEST_DEVICES
+    select M48T59
     select ISA_BUS
+    select FDC
+    select SERIAL_ISA
+    select PCI_SABRE
+    select IDE_CMD646
+    select PARALLEL
+    select PCKBD
+    select SIMBA
 
 config NIAGARA
     bool
+    select EMPTY_SLOT
+    select SUN4V_RTC
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 48/51] unicore32-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (46 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 47/51] sparc64-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 49/51] xtensa-softmmu.mak: " Paolo Bonzini
                   ` (8 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/unicore32-softmmu.mak | 5 +++--
 hw/unicore32/Kconfig                  | 2 ++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/default-configs/unicore32-softmmu.mak b/default-configs/unicore32-softmmu.mak
index 17a7915..0bfce48 100644
--- a/default-configs/unicore32-softmmu.mak
+++ b/default-configs/unicore32-softmmu.mak
@@ -1,4 +1,5 @@
 # Default configuration for unicore32-softmmu
-CONFIG_ISA_BUS=y
+
+# Boards:
+#
 CONFIG_PUV3=y
-CONFIG_PCKBD=y
diff --git a/hw/unicore32/Kconfig b/hw/unicore32/Kconfig
index a03a996..4443a29 100644
--- a/hw/unicore32/Kconfig
+++ b/hw/unicore32/Kconfig
@@ -1,3 +1,5 @@
 config PUV3
     bool
+    select ISA_BUS
+    select PCKBD
     select PTIMER
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 49/51] xtensa-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (47 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 48/51] unicore32-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 50/51] .travis.yml: test that no-default-device builds do not regress Paolo Bonzini
                   ` (7 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

%-softmmu.mak only keep boards and optional device
definitions in Kconfig mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/xtensa-softmmu.mak   | 6 ++----
 default-configs/xtensaeb-softmmu.mak | 7 +------
 hw/xtensa/Kconfig                    | 3 +++
 3 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/default-configs/xtensa-softmmu.mak b/default-configs/xtensa-softmmu.mak
index baf90ca..6c1e898 100644
--- a/default-configs/xtensa-softmmu.mak
+++ b/default-configs/xtensa-softmmu.mak
@@ -1,8 +1,6 @@
 # Default configuration for Xtensa
 
-CONFIG_SERIAL=y
-CONFIG_OPENCORES_ETH=y
-CONFIG_PFLASH_CFI01=y
-
+# Boards:
+#
 CONFIG_XTENSA_SIM=y
 CONFIG_XTENSA_FPGA=y
diff --git a/default-configs/xtensaeb-softmmu.mak b/default-configs/xtensaeb-softmmu.mak
index baf90ca..f7e48c7 100644
--- a/default-configs/xtensaeb-softmmu.mak
+++ b/default-configs/xtensaeb-softmmu.mak
@@ -1,8 +1,3 @@
 # Default configuration for Xtensa
 
-CONFIG_SERIAL=y
-CONFIG_OPENCORES_ETH=y
-CONFIG_PFLASH_CFI01=y
-
-CONFIG_XTENSA_SIM=y
-CONFIG_XTENSA_FPGA=y
+include xtensa-softmmu.mak
diff --git a/hw/xtensa/Kconfig b/hw/xtensa/Kconfig
index 97543a9..2b507d4 100644
--- a/hw/xtensa/Kconfig
+++ b/hw/xtensa/Kconfig
@@ -3,3 +3,6 @@ config XTENSA_SIM
 
 config XTENSA_FPGA
     bool
+    select OPENCORES_ETH
+    select PFLASH_CFI01
+    select SERIAL
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 50/51] .travis.yml: test that no-default-device builds do not regress
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (48 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 49/51] xtensa-softmmu.mak: " Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 18:26   ` Thomas Huth
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 51/51] FIXME vhost: add more stubs Paolo Bonzini
                   ` (6 subsequent siblings)
  56 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 .travis.yml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 87d9fa9..a095d22 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -132,6 +132,12 @@ matrix:
 
     # We manually include builds which we disable "make check" for
     - env:
+        - CONFIG="--without-default-devices"
+        - TEST_CMD=""
+
+
+    # We manually include builds which we disable "make check" for
+    - env:
         - CONFIG="--enable-debug --enable-tcg-interpreter"
         - TEST_CMD=""
 
-- 
1.8.3.1

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

* [Qemu-devel] [PATCH 51/51] FIXME vhost: add more stubs
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (49 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 50/51] .travis.yml: test that no-default-device builds do not regress Paolo Bonzini
@ 2019-02-07 17:57 ` Paolo Bonzini
  2019-02-07 18:52 ` [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU no-reply
                   ` (5 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

Due to the dependency of net/ against hw/net/, it is not possible
to compile out hw/net/vhost_net.c for now.  Add more stubs to
allow it to compile when hw/net/vhost.c is missing.

(To be re-evaluated after rebase on top of the revamped vhost_net configury).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/virtio/vhost-stub.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/hw/virtio/vhost-stub.c b/hw/virtio/vhost-stub.c
index 049089b..ef8e54d 100644
--- a/hw/virtio/vhost-stub.c
+++ b/hw/virtio/vhost-stub.c
@@ -15,3 +15,61 @@ VhostUserState *vhost_user_init(void)
 void vhost_user_cleanup(VhostUserState *user)
 {
 }
+
+int vhost_dev_init(struct vhost_dev *hdev, void *opaque,
+                   VhostBackendType backend_type, uint32_t busyloop_timeout)
+{
+    return -ENODEV;
+}
+
+void vhost_dev_cleanup(struct vhost_dev *hdev)
+{
+}
+
+int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
+{
+    abort();
+}
+
+void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev)
+{
+}
+
+int vhost_dev_enable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev)
+{
+    abort();
+}
+
+void vhost_dev_disable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev)
+{
+    abort();
+}
+
+int vhost_net_set_backend(struct vhost_dev *hdev,
+                          struct vhost_vring_file *file)
+{
+    abort();
+}
+
+uint64_t vhost_get_features(struct vhost_dev *hdev, const int *feature_bits,
+                            uint64_t features)
+{
+    abort();
+}
+
+void vhost_ack_features(struct vhost_dev *hdev, const int *feature_bits,
+                        uint64_t features)
+{
+    abort();
+}
+
+bool vhost_virtqueue_pending(struct vhost_dev *hdev, int n)
+{
+    abort();
+}
+
+void vhost_virtqueue_mask(struct vhost_dev *hdev, VirtIODevice *vdev, int n,
+                         bool mask)
+{
+    abort();
+}
-- 
1.8.3.1

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

* Re: [Qemu-devel] [PATCH 50/51] .travis.yml: test that no-default-device builds do not regress
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 50/51] .travis.yml: test that no-default-device builds do not regress Paolo Bonzini
@ 2019-02-07 18:26   ` Thomas Huth
  0 siblings, 0 replies; 81+ messages in thread
From: Thomas Huth @ 2019-02-07 18:26 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: philmd

On 2019-02-07 18:57, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  .travis.yml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 87d9fa9..a095d22 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -132,6 +132,12 @@ matrix:
>  
>      # We manually include builds which we disable "make check" for

Maybe adjust the comment here?

>      - env:
> +        - CONFIG="--without-default-devices"
> +        - TEST_CMD=""

Have you tried --without-default-devices + "make check" ? I wonder how
badly it explodes... well, I guess we need the qgraph patches for that
first.

> +
> +    # We manually include builds which we disable "make check" for
> +    - env:
>          - CONFIG="--enable-debug --enable-tcg-interpreter"
>          - TEST_CMD=""
>  
> 

 Thomas

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

* Re: [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
@ 2019-02-07 18:35   ` Thomas Huth
  2019-02-20 15:42   ` Thomas Huth
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 81+ messages in thread
From: Thomas Huth @ 2019-02-07 18:35 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: philmd, Yang Zhong

On 2019-02-07 18:56, Paolo Bonzini wrote:
> 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>

Duplicated S-o-b ... doesn't hurt, but looks a little bit weird...

[...]
> diff --git a/hw/m68k/Kconfig b/hw/m68k/Kconfig
> new file mode 100644
> index 0000000..cd66ada
> --- /dev/null
> +++ b/hw/m68k/Kconfig
> @@ -0,0 +1,8 @@
> +config AN5206
> +    bool
> +
> +config MCF5206
> +    bool

As far as I can see, the MCF5206 switch is not necessary?

> +config MCF5208
> +    bool
[...]
> diff --git a/hw/net/Kconfig b/hw/net/Kconfig
> new file mode 100644
> index 0000000..d358b2c
> --- /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

Could you please move COLDFIRE to hw/m68k/Kconfig ? The switch is also
used for other Coldfire-related files that do not reside in hw/net/ .

 Thanks,
  Thomas

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

* Re: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (50 preceding siblings ...)
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 51/51] FIXME vhost: add more stubs Paolo Bonzini
@ 2019-02-07 18:52 ` no-reply
  2019-02-07 18:56 ` no-reply
                   ` (4 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: no-reply @ 2019-02-07 18:52 UTC (permalink / raw)
  To: pbonzini; +Cc: fam, qemu-devel, peter.maydell, thuth, philmd, amarkovic

Patchew URL: https://patchew.org/QEMU/1549562254-41157-1-git-send-email-pbonzini@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
Type: series
Message-id: 1549562254-41157-1-git-send-email-pbonzini@redhat.com

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
7200ddfa38 FIXME vhost: add more stubs
1a1c76cc66 .travis.yml: test that no-default-device builds do not regress
9a0a2fe490 xtensa-softmmu.mak: express dependencies with Kconfig
be618b0b43 unicore32-softmmu.mak: express dependencies with Kconfig
d9ad090d4a sparc64-softmmu.mak: express dependencies with Kconfig
18a4c0d985 sparc-softmmu.mak: express dependencies with Kconfig
f06759a86b sh4-softmmu.mak: express dependencies with Kconfig
3f8d9dac4f s390x: express dependencies with Kconfig
666c38d4f1 or1k-softmmu.mak: express dependencies with Kconfig
e4cf0b120e nios2-softmmu.mak: express dependencies with Kconfig
271e994332 moxie-softmmu.mak: express dependencies with Kconfig
11ac6fe9d4 microblaze-softmmu.mak: express dependencies with Kconfig
8630d29685 m68k-softmmu.mak: express dependencies with Kconfig
bb5b8c48ed lm32-softmmu.mak: express dependencies with Kconfig
47a8eb3fca hppa-softmmu.mak: express dependencies with Kconfig
e37a3f607d cris-softmmu.mak: express dependencies with Kconfig
54b33245e9 alpha-softmmu.mak: express dependencies with Kconfig
8c3918f633 ppc: Express dependencies of the embedded machines with kconfig
3be3c9af37 ppc: Express dependencies of the Sam460EX machines with kconfig
19c005fbac ppc: Express dependencies of the Mac machines with kconfig
ebd7936f63 ppc: Express dependencies of the 'prep' and '40p' machines with kconfig
72b67a6b72 ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
8abc3ebf15 i386-softmmu.mak: remove all CONFIG_* except boards definitions
fcea2b455a ipmi: express dependencies with kconfig
aa72187aaf sd: express dependencies with kconfig
a8c95c0992 ssi: express dependencies with kconfig
d9777923da isa: express SuperIO dependencies with Kconfig
0541b47928 tpm: express dependencies with Kconfig
4ba345db98 virtio: express virtio dependencies with Kconfig
bffc349b2c vfio: express vfio dependencies with Kconfig
905e23c6c3 hyperv: express dependencies with kconfig
ac6ba4de7d display: express dependencies with kconfig
c20f81c354 ptimer: express dependencies with Kconfig
0d7ab9a784 i2c: express dependencies with Kconfig
93dfb44abb i386: express dependencies with Kconfig
5ce435607c isa: express dependencies with kconfig
5aeac2faf1 scsi: express dependencies with Kconfig
3f49df6864 block: fix recursion in hw/block/dataplane
2dae6c9a73 build: convert usb.mak to Kconfig
c41b2385df build: convert sound.mak to Kconfig
d207ac71cd build: convert pci.mak to Kconfig
332759d72e hw/pci/Makefile.objs: make pcie configurable
964747cd17 ide: express dependencies with Kconfig
4ba9b1e195 kconfig: introduce CONFIG_TEST_DEVICES
857d8ddaa2 minikconfig: implement allnoconfig and defconfig modes
adbcf89201 build: switch to Kconfig
4705a32c99 kconfig: introduce kconfig files
c261ec8294 hw/display: make edid configurable
1abaa5246a minikconfig: add semantic analysis
81983df1c9 minikconfig: add AST
439b9a844f minikconfig: add parser skeleton

=== OUTPUT BEGIN ===
1/51 Checking commit 439b9a844f55 (minikconfig: add parser skeleton)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#35: 
new file mode 100644

WARNING: line over 80 characters
#259: FILE: scripts/minikconf.py:220:
+                           'Expected identifier starting with "CONFIG_"', TOK_NONE)

WARNING: line over 80 characters
#358: FILE: scripts/minikconf.py:319:
+            raise KconfigParserError(self, 'expected "source", "config", identifier, '

WARNING: line over 80 characters
#384: FILE: scripts/minikconf.py:345:
+            raise KconfigParserError(self, 'expected "source", "config" or identifier')

ERROR: line over 90 characters
#409: FILE: scripts/minikconf.py:370:
+        if self.src[self.cursor + length].isalnum() or self.src[self.cursor + length] == '|':

WARNING: line over 80 characters
#464: FILE: scripts/minikconf.py:425:
+            while self.src[self.cursor].isalnum() or self.src[self.cursor] == '_':

total: 1 errors, 5 warnings, 441 lines checked

Patch 1/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/51 Checking commit 81983df1c912 (minikconfig: add AST)
WARNING: line over 80 characters
#89: FILE: scripts/minikconf.py:90:
+                return "config %s default %s if %s" % (self.dest, value, self.cond)

total: 0 errors, 1 warnings, 177 lines checked

Patch 2/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/51 Checking commit 1abaa5246a66 (minikconfig: add semantic analysis)
ERROR: line over 90 characters
#112: FILE: scripts/minikconf.py:106:
+                raise KconfigParserError('contradiction between clauses when setting %s' % self)

WARNING: line over 80 characters
#215: FILE: scripts/minikconf.py:218:
+            debug_print(i, "->", [str(x) for x in self.referenced_vars[i].outgoing])

total: 1 errors, 1 warnings, 235 lines checked

Patch 3/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/51 Checking commit c261ec829410 (hw/display: make edid configurable)
5/51 Checking commit 4705a32c99d7 (kconfig: introduce kconfig files)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#44: 
new file mode 100644

WARNING: line over 80 characters
#1753: FILE: scripts/minikconf.py:653:
+        print ("%s: at least one argument is required" % argv[0], file=sys.stderr)

total: 0 errors, 2 warnings, 1354 lines checked

Patch 5/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/51 Checking commit adbcf89201ae (build: switch to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#504: 
deleted file mode 100644

total: 0 errors, 1 warnings, 346 lines checked

Patch 6/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/51 Checking commit 857d8ddaa222 (minikconfig: implement allnoconfig and defconfig modes)
8/51 Checking commit 4ba9b1e19593 (kconfig: introduce CONFIG_TEST_DEVICES)
9/51 Checking commit 964747cd173c (ide: express dependencies with Kconfig)
10/51 Checking commit 332759d72e52 (hw/pci/Makefile.objs: make pcie configurable)
11/51 Checking commit d207ac71cd9b (build: convert pci.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#145: 
deleted file mode 100644

total: 0 errors, 1 warnings, 490 lines checked

Patch 11/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/51 Checking commit c41b2385df3d (build: convert sound.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#68: 
deleted file mode 100644

total: 0 errors, 1 warnings, 49 lines checked

Patch 12/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
13/51 Checking commit 2dae6c9a738c (build: convert usb.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#158: 
deleted file mode 100644

total: 0 errors, 1 warnings, 165 lines checked

Patch 13/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/51 Checking commit 3f49df6864b2 (block: fix recursion in hw/block/dataplane)
15/51 Checking commit 5aeac2faf1bf (scsi: express dependencies with Kconfig)
16/51 Checking commit 5ce435607c6b (isa: express dependencies with kconfig)
17/51 Checking commit 93dfb44abb9b (i386: express dependencies with Kconfig)
18/51 Checking commit 0d7ab9a7842d (i2c: express dependencies with Kconfig)
19/51 Checking commit c20f81c35457 (ptimer: express dependencies with Kconfig)
20/51 Checking commit ac6ba4de7df3 (display: express dependencies with kconfig)
21/51 Checking commit 905e23c6c3a2 (hyperv: express dependencies with kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#17: 
deleted file mode 100644

total: 0 errors, 1 warnings, 21 lines checked

Patch 21/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
22/51 Checking commit bffc349b2c0f (vfio: express vfio dependencies with Kconfig)
23/51 Checking commit 4ba345db983e (virtio: express virtio dependencies with Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#37: 
deleted file mode 100644

total: 0 errors, 1 warnings, 104 lines checked

Patch 23/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
24/51 Checking commit 0541b479283c (tpm: express dependencies with Kconfig)
25/51 Checking commit d9777923da08 (isa: express SuperIO dependencies with Kconfig)
26/51 Checking commit a8c95c0992f8 (ssi: express dependencies with kconfig)
27/51 Checking commit aa72187aaf99 (sd: express dependencies with kconfig)
28/51 Checking commit fcea2b455a6b (ipmi: express dependencies with kconfig)
29/51 Checking commit 8abc3ebf15b4 (i386-softmmu.mak: remove all CONFIG_* except boards definitions)
30/51 Checking commit 72b67a6b72a6 (ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig)
31/51 Checking commit ebd7936f6328 (ppc: Express dependencies of the 'prep' and '40p' machines with kconfig)
32/51 Checking commit 19c005fbac41 (ppc: Express dependencies of the Mac machines with kconfig)
33/51 Checking commit 3be3c9af3716 (ppc: Express dependencies of the Sam460EX machines with kconfig)
34/51 Checking commit 8c3918f63317 (ppc: Express dependencies of the embedded machines with kconfig)
35/51 Checking commit 54b33245e960 (alpha-softmmu.mak: express dependencies with Kconfig)
36/51 Checking commit e37a3f607d8e (cris-softmmu.mak: express dependencies with Kconfig)
37/51 Checking commit 47a8eb3fca4a (hppa-softmmu.mak: express dependencies with Kconfig)
38/51 Checking commit bb5b8c48ed9f (lm32-softmmu.mak: express dependencies with Kconfig)
39/51 Checking commit 8630d296858c (m68k-softmmu.mak: express dependencies with Kconfig)
40/51 Checking commit 11ac6fe9d46c (microblaze-softmmu.mak: express dependencies with Kconfig)
41/51 Checking commit 271e994332e0 (moxie-softmmu.mak: express dependencies with Kconfig)
42/51 Checking commit e4cf0b120e83 (nios2-softmmu.mak: express dependencies with Kconfig)
43/51 Checking commit 666c38d4f18d (or1k-softmmu.mak: express dependencies with Kconfig)
44/51 Checking commit 3f8d9dac4fb7 (s390x: express dependencies with Kconfig)
45/51 Checking commit f06759a86b89 (sh4-softmmu.mak: express dependencies with Kconfig)
46/51 Checking commit 18a4c0d9850d (sparc-softmmu.mak: express dependencies with Kconfig)
47/51 Checking commit d9ad090d4a13 (sparc64-softmmu.mak: express dependencies with Kconfig)
48/51 Checking commit be618b0b435d (unicore32-softmmu.mak: express dependencies with Kconfig)
49/51 Checking commit 9a0a2fe4903c (xtensa-softmmu.mak: express dependencies with Kconfig)
50/51 Checking commit 1a1c76cc663f (.travis.yml: test that no-default-device builds do not regress)
51/51 Checking commit 7200ddfa38df (FIXME vhost: add more stubs)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/1549562254-41157-1-git-send-email-pbonzini@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

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

* Re: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (51 preceding siblings ...)
  2019-02-07 18:52 ` [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU no-reply
@ 2019-02-07 18:56 ` no-reply
  2019-02-07 19:37 ` Michael S. Tsirkin
                   ` (3 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: no-reply @ 2019-02-07 18:56 UTC (permalink / raw)
  To: pbonzini; +Cc: fam, qemu-devel, peter.maydell, thuth, philmd, amarkovic

Patchew URL: https://patchew.org/QEMU/1549562254-41157-1-git-send-email-pbonzini@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
Message-id: 1549562254-41157-1-git-send-email-pbonzini@redhat.com
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
   4f0444f..d55451d  master     -> master
 * [new tag]         patchew/1549562254-41157-1-git-send-email-pbonzini@redhat.com -> patchew/1549562254-41157-1-git-send-email-pbonzini@redhat.com
 * [new tag]         patchew/20190207180012.27303-1-crosa@redhat.com -> patchew/20190207180012.27303-1-crosa@redhat.com
 * [new tag]         patchew/20190207181422.4907-1-peter.maydell@linaro.org -> patchew/20190207181422.4907-1-peter.maydell@linaro.org
Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for path 'capstone'
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 'roms/SLOF'
Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 'roms/ipxe'
Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered for path 'roms/openbios'
Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (https://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for path 'roms/sgabios'
Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for path 'roms/skiboot'
Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for path 'roms/u-boot'
Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex'
Submodule 'tests/fp/berkeley-softfloat-3' (https://github.com/cota/berkeley-softfloat-3) registered for path 'tests/fp/berkeley-softfloat-3'
Submodule 'tests/fp/berkeley-testfloat-3' (https://github.com/cota/berkeley-testfloat-3) registered for path 'tests/fp/berkeley-testfloat-3'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out '90c488d5f4a407342247b9ea869df1c2d9c8e266'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 'a5b428e1c1eae703bdd62a3f527223c291ee3fdc'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 'de4565cbe76ea9f7913a01f331be3ee901bb6e17'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out '441a84d3a642a10b948369c63f32367e8ff6395b'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out '51c237d7e20d05100eacadee2f61abc17e6bc097'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 'a698c8995ffb2838296ec284fe3c4ad33dfca307'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out '1ef99a01572c2581c30e16e6fe69e9ea2ef92ce0'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/u-boot-sam460ex'...
Submodule path 'roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588'
Cloning into 'tests/fp/berkeley-softfloat-3'...
Submodule path 'tests/fp/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'tests/fp/berkeley-testfloat-3'...
Submodule path 'tests/fp/berkeley-testfloat-3': checked out '5a59dcec19327396a011a17fd924aed4fec416b3'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
7200ddf FIXME vhost: add more stubs
1a1c76c .travis.yml: test that no-default-device builds do not regress
9a0a2fe xtensa-softmmu.mak: express dependencies with Kconfig
be618b0 unicore32-softmmu.mak: express dependencies with Kconfig
d9ad090 sparc64-softmmu.mak: express dependencies with Kconfig
18a4c0d sparc-softmmu.mak: express dependencies with Kconfig
f06759a sh4-softmmu.mak: express dependencies with Kconfig
3f8d9da s390x: express dependencies with Kconfig
666c38d or1k-softmmu.mak: express dependencies with Kconfig
e4cf0b1 nios2-softmmu.mak: express dependencies with Kconfig
271e994 moxie-softmmu.mak: express dependencies with Kconfig
11ac6fe microblaze-softmmu.mak: express dependencies with Kconfig
8630d29 m68k-softmmu.mak: express dependencies with Kconfig
bb5b8c4 lm32-softmmu.mak: express dependencies with Kconfig
47a8eb3 hppa-softmmu.mak: express dependencies with Kconfig
e37a3f6 cris-softmmu.mak: express dependencies with Kconfig
54b3324 alpha-softmmu.mak: express dependencies with Kconfig
8c3918f ppc: Express dependencies of the embedded machines with kconfig
3be3c9a ppc: Express dependencies of the Sam460EX machines with kconfig
19c005f ppc: Express dependencies of the Mac machines with kconfig
ebd7936 ppc: Express dependencies of the 'prep' and '40p' machines with kconfig
72b67a6 ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
8abc3eb i386-softmmu.mak: remove all CONFIG_* except boards definitions
fcea2b4 ipmi: express dependencies with kconfig
aa72187 sd: express dependencies with kconfig
a8c95c0 ssi: express dependencies with kconfig
d977792 isa: express SuperIO dependencies with Kconfig
0541b47 tpm: express dependencies with Kconfig
4ba345d virtio: express virtio dependencies with Kconfig
bffc349 vfio: express vfio dependencies with Kconfig
905e23c hyperv: express dependencies with kconfig
ac6ba4d display: express dependencies with kconfig
c20f81c ptimer: express dependencies with Kconfig
0d7ab9a i2c: express dependencies with Kconfig
93dfb44 i386: express dependencies with Kconfig
5ce4356 isa: express dependencies with kconfig
5aeac2f scsi: express dependencies with Kconfig
3f49df6 block: fix recursion in hw/block/dataplane
2dae6c9 build: convert usb.mak to Kconfig
c41b238 build: convert sound.mak to Kconfig
d207ac7 build: convert pci.mak to Kconfig
332759d hw/pci/Makefile.objs: make pcie configurable
964747c ide: express dependencies with Kconfig
4ba9b1e kconfig: introduce CONFIG_TEST_DEVICES
857d8dd minikconfig: implement allnoconfig and defconfig modes
adbcf89 build: switch to Kconfig
4705a32 kconfig: introduce kconfig files
c261ec8 hw/display: make edid configurable
1abaa52 minikconfig: add semantic analysis
81983df minikconfig: add AST
439b9a8 minikconfig: add parser skeleton

=== OUTPUT BEGIN ===
1/51 Checking commit 439b9a844f55 (minikconfig: add parser skeleton)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#35: 
new file mode 100644

WARNING: line over 80 characters
#259: FILE: scripts/minikconf.py:220:
+                           'Expected identifier starting with "CONFIG_"', TOK_NONE)

WARNING: line over 80 characters
#358: FILE: scripts/minikconf.py:319:
+            raise KconfigParserError(self, 'expected "source", "config", identifier, '

WARNING: line over 80 characters
#384: FILE: scripts/minikconf.py:345:
+            raise KconfigParserError(self, 'expected "source", "config" or identifier')

ERROR: line over 90 characters
#409: FILE: scripts/minikconf.py:370:
+        if self.src[self.cursor + length].isalnum() or self.src[self.cursor + length] == '|':

WARNING: line over 80 characters
#464: FILE: scripts/minikconf.py:425:
+            while self.src[self.cursor].isalnum() or self.src[self.cursor] == '_':

total: 1 errors, 5 warnings, 441 lines checked

Patch 1/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/51 Checking commit 81983df1c912 (minikconfig: add AST)
WARNING: line over 80 characters
#89: FILE: scripts/minikconf.py:90:
+                return "config %s default %s if %s" % (self.dest, value, self.cond)

total: 0 errors, 1 warnings, 177 lines checked

Patch 2/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/51 Checking commit 1abaa5246a66 (minikconfig: add semantic analysis)
ERROR: line over 90 characters
#112: FILE: scripts/minikconf.py:106:
+                raise KconfigParserError('contradiction between clauses when setting %s' % self)

WARNING: line over 80 characters
#215: FILE: scripts/minikconf.py:218:
+            debug_print(i, "->", [str(x) for x in self.referenced_vars[i].outgoing])

total: 1 errors, 1 warnings, 235 lines checked

Patch 3/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/51 Checking commit c261ec829410 (hw/display: make edid configurable)
5/51 Checking commit 4705a32c99d7 (kconfig: introduce kconfig files)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#44: 
new file mode 100644

WARNING: line over 80 characters
#1753: FILE: scripts/minikconf.py:653:
+        print ("%s: at least one argument is required" % argv[0], file=sys.stderr)

total: 0 errors, 2 warnings, 1354 lines checked

Patch 5/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/51 Checking commit adbcf89201ae (build: switch to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#504: 
deleted file mode 100644

total: 0 errors, 1 warnings, 346 lines checked

Patch 6/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/51 Checking commit 857d8ddaa222 (minikconfig: implement allnoconfig and defconfig modes)
8/51 Checking commit 4ba9b1e19593 (kconfig: introduce CONFIG_TEST_DEVICES)
9/51 Checking commit 964747cd173c (ide: express dependencies with Kconfig)
10/51 Checking commit 332759d72e52 (hw/pci/Makefile.objs: make pcie configurable)
11/51 Checking commit d207ac71cd9b (build: convert pci.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#145: 
deleted file mode 100644

total: 0 errors, 1 warnings, 490 lines checked

Patch 11/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/51 Checking commit c41b2385df3d (build: convert sound.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#68: 
deleted file mode 100644

total: 0 errors, 1 warnings, 49 lines checked

Patch 12/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
13/51 Checking commit 2dae6c9a738c (build: convert usb.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#158: 
deleted file mode 100644

total: 0 errors, 1 warnings, 165 lines checked

Patch 13/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/51 Checking commit 3f49df6864b2 (block: fix recursion in hw/block/dataplane)
15/51 Checking commit 5aeac2faf1bf (scsi: express dependencies with Kconfig)
16/51 Checking commit 5ce435607c6b (isa: express dependencies with kconfig)
17/51 Checking commit 93dfb44abb9b (i386: express dependencies with Kconfig)
18/51 Checking commit 0d7ab9a7842d (i2c: express dependencies with Kconfig)
19/51 Checking commit c20f81c35457 (ptimer: express dependencies with Kconfig)
20/51 Checking commit ac6ba4de7df3 (display: express dependencies with kconfig)
21/51 Checking commit 905e23c6c3a2 (hyperv: express dependencies with kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#17: 
deleted file mode 100644

total: 0 errors, 1 warnings, 21 lines checked

Patch 21/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
22/51 Checking commit bffc349b2c0f (vfio: express vfio dependencies with Kconfig)
23/51 Checking commit 4ba345db983e (virtio: express virtio dependencies with Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#37: 
deleted file mode 100644

total: 0 errors, 1 warnings, 104 lines checked

Patch 23/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
24/51 Checking commit 0541b479283c (tpm: express dependencies with Kconfig)
25/51 Checking commit d9777923da08 (isa: express SuperIO dependencies with Kconfig)
26/51 Checking commit a8c95c0992f8 (ssi: express dependencies with kconfig)
27/51 Checking commit aa72187aaf99 (sd: express dependencies with kconfig)
28/51 Checking commit fcea2b455a6b (ipmi: express dependencies with kconfig)
29/51 Checking commit 8abc3ebf15b4 (i386-softmmu.mak: remove all CONFIG_* except boards definitions)
30/51 Checking commit 72b67a6b72a6 (ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig)
31/51 Checking commit ebd7936f6328 (ppc: Express dependencies of the 'prep' and '40p' machines with kconfig)
32/51 Checking commit 19c005fbac41 (ppc: Express dependencies of the Mac machines with kconfig)
33/51 Checking commit 3be3c9af3716 (ppc: Express dependencies of the Sam460EX machines with kconfig)
34/51 Checking commit 8c3918f63317 (ppc: Express dependencies of the embedded machines with kconfig)
35/51 Checking commit 54b33245e960 (alpha-softmmu.mak: express dependencies with Kconfig)
36/51 Checking commit e37a3f607d8e (cris-softmmu.mak: express dependencies with Kconfig)
37/51 Checking commit 47a8eb3fca4a (hppa-softmmu.mak: express dependencies with Kconfig)
38/51 Checking commit bb5b8c48ed9f (lm32-softmmu.mak: express dependencies with Kconfig)
39/51 Checking commit 8630d296858c (m68k-softmmu.mak: express dependencies with Kconfig)
40/51 Checking commit 11ac6fe9d46c (microblaze-softmmu.mak: express dependencies with Kconfig)
41/51 Checking commit 271e994332e0 (moxie-softmmu.mak: express dependencies with Kconfig)
42/51 Checking commit e4cf0b120e83 (nios2-softmmu.mak: express dependencies with Kconfig)
43/51 Checking commit 666c38d4f18d (or1k-softmmu.mak: express dependencies with Kconfig)
44/51 Checking commit 3f8d9dac4fb7 (s390x: express dependencies with Kconfig)
45/51 Checking commit f06759a86b89 (sh4-softmmu.mak: express dependencies with Kconfig)
46/51 Checking commit 18a4c0d9850d (sparc-softmmu.mak: express dependencies with Kconfig)
47/51 Checking commit d9ad090d4a13 (sparc64-softmmu.mak: express dependencies with Kconfig)
48/51 Checking commit be618b0b435d (unicore32-softmmu.mak: express dependencies with Kconfig)
49/51 Checking commit 9a0a2fe4903c (xtensa-softmmu.mak: express dependencies with Kconfig)
50/51 Checking commit 1a1c76cc663f (.travis.yml: test that no-default-device builds do not regress)
51/51 Checking commit 7200ddfa38df (FIXME vhost: add more stubs)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/1549562254-41157-1-git-send-email-pbonzini@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

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

* Re: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (52 preceding siblings ...)
  2019-02-07 18:56 ` no-reply
@ 2019-02-07 19:37 ` Michael S. Tsirkin
  2019-02-07 19:47 ` no-reply
                   ` (2 subsequent siblings)
  56 siblings, 0 replies; 81+ messages in thread
From: Michael S. Tsirkin @ 2019-02-07 19:37 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Peter Maydell, thuth, philmd, Aleksandar Markovic

On Thu, Feb 07, 2019 at 06:56:43PM +0100, Paolo Bonzini wrote:
> Now dropping RFC... Documentation is still lacking, but all targets except
> ARM and MIPS are converted.  I'll let the respective maintainers decide what
> timeframe they prefer.
> 
> defconfig and allnoconfig are supported as configure options, respectively
> --with-default-devices (the default) and --without-default-devices.
> Optional devices are listed in .mak files as commented-out "#CONFIG_FOO=n"
> lines and marked as "imply" directives in Kconfig files.  ("Imply" is
> new in this iteration).

I would much appreciate it if you change your patch posting
scripts to include the version on all patches.

That can be done using --subject-prefix or -vX flags of
git-format-patch rather than tweaking the cover letter only.

The issue is that if someone is only copied on a specific
patch in the set, absence of version makes it hard to
reason about the history.

It also makes it hard to map patches to series if one
jumps between mailboxes.


> For the previous discussions on the Kconfig design, see
> http://lists.nongnu.org/archive/html/qemu-devel/2018-09/msg02827.html
> 
> The first part, with the Makefile changes, has already been committed.
> This is only the second part therefore, with the conversion.
> 
> The last patch is needed for now to support --without-default-devices
> builds, but it will go away with the other pending patches to revamp
> vhost configuration.

patchset itself:

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>



> Summary of changes from v5:
> - new directive "imply" for soft dependencies (really a "reverse
>   default y if ..." that is placed under the condition symbol,
>   used for PCI_DEVICES and TEST_DEVICES
> - conversion of various boards
> - TEST_DEVICES patch moved earlier
> - new patches for various subsystems and boards
> - tested Xen
> 
> I still have _not_ procesed Philippe's review though.
> 
> Paolo
> 
> Paolo Bonzini (39):
>   minikconfig: add parser skeleton
>   minikconfig: add AST
>   minikconfig: add semantic analysis
>   kconfig: introduce kconfig files
>   build: switch to Kconfig
>   minikconfig: implement allnoconfig and defconfig modes
>   kconfig: introduce CONFIG_TEST_DEVICES
>   ide: express dependencies with Kconfig
>   build: convert pci.mak to Kconfig
>   build: convert sound.mak to Kconfig
>   build: convert usb.mak to Kconfig
>   block: fix recursion in hw/block/dataplane
>   scsi: express dependencies with Kconfig
>   isa: express dependencies with kconfig
>   i386: express dependencies with Kconfig
>   i2c: express dependencies with Kconfig
>   ptimer: express dependencies with Kconfig
>   vfio: express vfio dependencies with Kconfig
>   tpm: express dependencies with Kconfig
>   isa: express SuperIO dependencies with Kconfig
>   ssi: express dependencies with kconfig
>   sd: express dependencies with kconfig
>   ipmi: express dependencies with kconfig
>   alpha-softmmu.mak: express dependencies with Kconfig
>   cris-softmmu.mak: express dependencies with Kconfig
>   hppa-softmmu.mak: express dependencies with Kconfig
>   lm32-softmmu.mak: express dependencies with Kconfig
>   m68k-softmmu.mak: express dependencies with Kconfig
>   microblaze-softmmu.mak: express dependencies with Kconfig
>   moxie-softmmu.mak: express dependencies with Kconfig
>   nios2-softmmu.mak: express dependencies with Kconfig
>   or1k-softmmu.mak: express dependencies with Kconfig
>   sh4-softmmu.mak: express dependencies with Kconfig
>   sparc-softmmu.mak: express dependencies with Kconfig
>   sparc64-softmmu.mak: express dependencies with Kconfig
>   unicore32-softmmu.mak: express dependencies with Kconfig
>   xtensa-softmmu.mak: express dependencies with Kconfig
>   .travis.yml: test that no-default-device builds do not regress
>   FIXME vhost: add more stubs
> 
> Thomas Huth (6):
>   ppc64: Express dependencies of 'pseries' and 'powernv' machines with
>     kconfig
>   ppc: Express dependencies of the 'prep' and '40p' machines with
>     kconfig
>   ppc: Express dependencies of the Mac machines with kconfig
>   ppc: Express dependencies of the Sam460EX machines with kconfig
>   ppc: Express dependencies of the embedded machines with kconfig
>   s390x: express dependencies with Kconfig
> 
> Yang Zhong (6):
>   hw/display: make edid configurable
>   hw/pci/Makefile.objs: make pcie configurable
>   display: express dependencies with kconfig
>   hyperv: express dependencies with kconfig
>   virtio: express virtio dependencies with Kconfig
>   i386-softmmu.mak: remove all CONFIG_* except boards definitions
> 
>  .travis.yml                             |   6 +
>  Kconfig.host                            |  27 ++
>  Makefile                                |  25 +-
>  Makefile.target                         |   7 +-
>  configure                               |  18 +-
>  default-configs/alpha-softmmu.mak       |  26 +-
>  default-configs/arm-softmmu.mak         |  15 +-
>  default-configs/cris-softmmu.mak        |   6 +-
>  default-configs/hppa-softmmu.mak        |  20 +-
>  default-configs/hyperv.mak              |   2 -
>  default-configs/i386-softmmu.mak        |  93 ++---
>  default-configs/lm32-softmmu.mak        |  12 +-
>  default-configs/m68k-softmmu.mak        |   4 +-
>  default-configs/microblaze-softmmu.mak  |  12 +-
>  default-configs/mips-softmmu-common.mak |  10 +-
>  default-configs/mips64el-softmmu.mak    |   2 +
>  default-configs/moxie-softmmu.mak       |   7 +-
>  default-configs/nios2-softmmu.mak       |   6 +-
>  default-configs/or1k-softmmu.mak        |   5 +-
>  default-configs/pci.mak                 |  51 ---
>  default-configs/ppc-softmmu.mak         |  60 ---
>  default-configs/ppc64-softmmu.mak       |  13 -
>  default-configs/riscv32-softmmu.mak     |   6 +-
>  default-configs/riscv64-softmmu.mak     |   6 +-
>  default-configs/s390x-softmmu.mak       |  23 +-
>  default-configs/sh4-softmmu.mak         |  28 +-
>  default-configs/sh4eb-softmmu.mak       |  22 +-
>  default-configs/sound.mak               |   4 -
>  default-configs/sparc-softmmu.mak       |  24 +-
>  default-configs/sparc64-softmmu.mak     |  25 +-
>  default-configs/unicore32-softmmu.mak   |   6 +-
>  default-configs/usb.mak                 |  11 -
>  default-configs/virtio.mak              |  15 -
>  default-configs/xtensa-softmmu.mak      |   6 +-
>  default-configs/xtensaeb-softmmu.mak    |   7 +-
>  docs/devel/build-system.txt             |   1 -
>  hw/9pfs/Kconfig                         |   6 +
>  hw/Kconfig                              |  73 ++++
>  hw/Makefile.objs                        |   2 +-
>  hw/acpi/Kconfig                         |  29 ++
>  hw/adc/Kconfig                          |   2 +
>  hw/alpha/Kconfig                        |  12 +
>  hw/arm/Kconfig                          | 123 ++++++
>  hw/audio/Kconfig                        |  52 +++
>  hw/block/Kconfig                        |  39 ++
>  hw/block/Makefile.objs                  |   3 +-
>  hw/block/dataplane/Makefile.objs        |   2 +-
>  hw/bt/Kconfig                           |   2 +
>  hw/char/Kconfig                         |  42 ++
>  hw/core/Kconfig                         |  11 +
>  hw/cpu/Kconfig                          |   8 +
>  hw/cris/Kconfig                         |   9 +
>  hw/display/Kconfig                      | 108 +++++
>  hw/display/Makefile.objs                |   4 +-
>  hw/dma/Kconfig                          |  21 +
>  hw/gpio/Kconfig                         |   9 +
>  hw/hppa/Kconfig                         |  10 +
>  hw/hyperv/Kconfig                       |   8 +
>  hw/i2c/Kconfig                          |  27 ++
>  hw/i2c/Makefile.objs                    |   2 +-
>  hw/i386/Kconfig                         | 100 +++++
>  hw/i386/Makefile.objs                   |   5 +-
>  hw/ide/Kconfig                          |  54 +++
>  hw/input/Kconfig                        |  33 ++
>  hw/intc/Kconfig                         |  57 +++
>  hw/ipack/Kconfig                        |   4 +
>  hw/ipmi/Kconfig                         |  22 +
>  hw/isa/Kconfig                          |  53 +++
>  hw/lm32/Kconfig                         |  13 +
>  hw/m68k/Kconfig                         |   9 +
>  hw/mem/Kconfig                          |  11 +
>  hw/microblaze/Kconfig                   |  20 +
>  hw/mips/Kconfig                         |  21 +
>  hw/misc/Kconfig                         | 118 ++++++
>  hw/misc/macio/Kconfig                   |  11 +
>  hw/moxie/Kconfig                        |   3 +
>  hw/net/Kconfig                          | 125 ++++++
>  hw/nios2/Kconfig                        |   8 +
>  hw/nvram/Kconfig                        |   9 +
>  hw/openrisc/Kconfig                     |   5 +
>  hw/pci-bridge/Kconfig                   |  29 ++
>  hw/pci-host/Kconfig                     |  51 +++
>  hw/pci/Kconfig                          |   9 +
>  hw/pci/Makefile.objs                    |   9 +-
>  hw/pcmcia/Kconfig                       |   2 +
>  hw/ppc/Kconfig                          | 121 ++++++
>  hw/riscv/Kconfig                        |  20 +
>  hw/s390x/Kconfig                        |  11 +
>  hw/s390x/Makefile.objs                  |   4 +-
>  hw/scsi/Kconfig                         |  54 +++
>  hw/scsi/Makefile.objs                   |   2 +-
>  hw/sd/Kconfig                           |  17 +
>  hw/sh4/Kconfig                          |  23 ++
>  hw/smbios/Kconfig                       |   2 +
>  hw/sparc/Kconfig                        |  26 ++
>  hw/sparc64/Kconfig                      |  19 +
>  hw/ssi/Kconfig                          |  18 +
>  hw/timer/Kconfig                        |  63 +++
>  hw/tpm/Kconfig                          |  25 ++
>  hw/tricore/Kconfig                      |   2 +
>  hw/unicore32/Kconfig                    |   5 +
>  hw/usb/Kconfig                          |  91 +++++
>  hw/usb/Makefile.objs                    |   2 +-
>  hw/vfio/Kconfig                         |  36 ++
>  hw/virtio/Kconfig                       |  31 ++
>  hw/virtio/vhost-stub.c                  |  58 +++
>  hw/watchdog/Kconfig                     |  16 +
>  hw/xtensa/Kconfig                       |   8 +
>  rules.mak                               |   2 +-
>  scripts/make_device_config.sh           |  30 --
>  scripts/minikconf.py                    | 700 ++++++++++++++++++++++++++++++++
>  111 files changed, 2917 insertions(+), 465 deletions(-)
>  create mode 100644 Kconfig.host
>  delete mode 100644 default-configs/hyperv.mak
>  delete mode 100644 default-configs/pci.mak
>  delete mode 100644 default-configs/sound.mak
>  delete mode 100644 default-configs/usb.mak
>  delete mode 100644 default-configs/virtio.mak
>  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/alpha/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/cris/Kconfig
>  create mode 100644 hw/display/Kconfig
>  create mode 100644 hw/dma/Kconfig
>  create mode 100644 hw/gpio/Kconfig
>  create mode 100644 hw/hppa/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/moxie/Kconfig
>  create mode 100644 hw/net/Kconfig
>  create mode 100644 hw/nios2/Kconfig
>  create mode 100644 hw/nvram/Kconfig
>  create mode 100644 hw/openrisc/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/s390x/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/tricore/Kconfig
>  create mode 100644 hw/unicore32/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
>  delete mode 100644 scripts/make_device_config.sh
>  create mode 100644 scripts/minikconf.py
> 
> -- 
> 1.8.3.1
> 

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

* Re: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (53 preceding siblings ...)
  2019-02-07 19:37 ` Michael S. Tsirkin
@ 2019-02-07 19:47 ` no-reply
  2019-02-07 19:50 ` no-reply
  2019-02-08  0:14 ` no-reply
  56 siblings, 0 replies; 81+ messages in thread
From: no-reply @ 2019-02-07 19:47 UTC (permalink / raw)
  To: pbonzini; +Cc: fam, qemu-devel, peter.maydell, thuth, philmd, amarkovic

Patchew URL: https://patchew.org/QEMU/1549562254-41157-1-git-send-email-pbonzini@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
Type: series
Message-id: 1549562254-41157-1-git-send-email-pbonzini@redhat.com

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
93b682d47a FIXME vhost: add more stubs
a680cbcdd4 .travis.yml: test that no-default-device builds do not regress
cc20b7d742 xtensa-softmmu.mak: express dependencies with Kconfig
4c76d60e72 unicore32-softmmu.mak: express dependencies with Kconfig
8b1a2a062a sparc64-softmmu.mak: express dependencies with Kconfig
f793fdb000 sparc-softmmu.mak: express dependencies with Kconfig
7818fa31ae sh4-softmmu.mak: express dependencies with Kconfig
3c21174903 s390x: express dependencies with Kconfig
5fec60ab42 or1k-softmmu.mak: express dependencies with Kconfig
8935c96d83 nios2-softmmu.mak: express dependencies with Kconfig
1d6c5fce70 moxie-softmmu.mak: express dependencies with Kconfig
11526a8d82 microblaze-softmmu.mak: express dependencies with Kconfig
6df43a7964 m68k-softmmu.mak: express dependencies with Kconfig
cd790311a0 lm32-softmmu.mak: express dependencies with Kconfig
590c6d7ee0 hppa-softmmu.mak: express dependencies with Kconfig
36cbe4512a cris-softmmu.mak: express dependencies with Kconfig
c0cd646ca5 alpha-softmmu.mak: express dependencies with Kconfig
6e35550c42 ppc: Express dependencies of the embedded machines with kconfig
ae2bd5b51d ppc: Express dependencies of the Sam460EX machines with kconfig
60bb2e0d9b ppc: Express dependencies of the Mac machines with kconfig
cf8ea0c0e8 ppc: Express dependencies of the 'prep' and '40p' machines with kconfig
93a603ffb1 ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
2822ebf95e i386-softmmu.mak: remove all CONFIG_* except boards definitions
db3747cb76 ipmi: express dependencies with kconfig
ca1cfdc1c9 sd: express dependencies with kconfig
82ee5e5ac5 ssi: express dependencies with kconfig
0d5d1a4505 isa: express SuperIO dependencies with Kconfig
544527ca12 tpm: express dependencies with Kconfig
cb5c04b9b9 virtio: express virtio dependencies with Kconfig
e4395d9fa3 vfio: express vfio dependencies with Kconfig
7fabf6c407 hyperv: express dependencies with kconfig
43c36b4f58 display: express dependencies with kconfig
c5adaaac9b ptimer: express dependencies with Kconfig
140aadc9a3 i2c: express dependencies with Kconfig
192e864c27 i386: express dependencies with Kconfig
85489ef70e isa: express dependencies with kconfig
99b3ea362b scsi: express dependencies with Kconfig
b0e9cf2004 block: fix recursion in hw/block/dataplane
c68b0736c9 build: convert usb.mak to Kconfig
8b145f086b build: convert sound.mak to Kconfig
1b95de09b9 build: convert pci.mak to Kconfig
4af86cca3a hw/pci/Makefile.objs: make pcie configurable
2e3edb8704 ide: express dependencies with Kconfig
f7bef1a446 kconfig: introduce CONFIG_TEST_DEVICES
07a8e8887f minikconfig: implement allnoconfig and defconfig modes
fb806e7b4c build: switch to Kconfig
a95f7d77ea kconfig: introduce kconfig files
1a214f85cd hw/display: make edid configurable
5a8f973a47 minikconfig: add semantic analysis
b5c153b336 minikconfig: add AST
bff54501a3 minikconfig: add parser skeleton

=== OUTPUT BEGIN ===
1/51 Checking commit bff54501a325 (minikconfig: add parser skeleton)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#36: 
new file mode 100644

WARNING: line over 80 characters
#260: FILE: scripts/minikconf.py:220:
+                           'Expected identifier starting with "CONFIG_"', TOK_NONE)

WARNING: line over 80 characters
#359: FILE: scripts/minikconf.py:319:
+            raise KconfigParserError(self, 'expected "source", "config", identifier, '

WARNING: line over 80 characters
#385: FILE: scripts/minikconf.py:345:
+            raise KconfigParserError(self, 'expected "source", "config" or identifier')

ERROR: line over 90 characters
#410: FILE: scripts/minikconf.py:370:
+        if self.src[self.cursor + length].isalnum() or self.src[self.cursor + length] == '|':

WARNING: line over 80 characters
#465: FILE: scripts/minikconf.py:425:
+            while self.src[self.cursor].isalnum() or self.src[self.cursor] == '_':

total: 1 errors, 5 warnings, 441 lines checked

Patch 1/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/51 Checking commit b5c153b336bc (minikconfig: add AST)
WARNING: line over 80 characters
#90: FILE: scripts/minikconf.py:90:
+                return "config %s default %s if %s" % (self.dest, value, self.cond)

total: 0 errors, 1 warnings, 177 lines checked

Patch 2/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/51 Checking commit 5a8f973a474b (minikconfig: add semantic analysis)
ERROR: line over 90 characters
#113: FILE: scripts/minikconf.py:106:
+                raise KconfigParserError('contradiction between clauses when setting %s' % self)

WARNING: line over 80 characters
#216: FILE: scripts/minikconf.py:218:
+            debug_print(i, "->", [str(x) for x in self.referenced_vars[i].outgoing])

total: 1 errors, 1 warnings, 235 lines checked

Patch 3/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/51 Checking commit 1a214f85cdc5 (hw/display: make edid configurable)
5/51 Checking commit a95f7d77eaa6 (kconfig: introduce kconfig files)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#45: 
new file mode 100644

WARNING: line over 80 characters
#1754: FILE: scripts/minikconf.py:653:
+        print ("%s: at least one argument is required" % argv[0], file=sys.stderr)

total: 0 errors, 2 warnings, 1354 lines checked

Patch 5/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/51 Checking commit fb806e7b4c22 (build: switch to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#505: 
deleted file mode 100644

total: 0 errors, 1 warnings, 346 lines checked

Patch 6/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/51 Checking commit 07a8e8887f8f (minikconfig: implement allnoconfig and defconfig modes)
8/51 Checking commit f7bef1a4465c (kconfig: introduce CONFIG_TEST_DEVICES)
9/51 Checking commit 2e3edb87047c (ide: express dependencies with Kconfig)
10/51 Checking commit 4af86cca3ac9 (hw/pci/Makefile.objs: make pcie configurable)
11/51 Checking commit 1b95de09b99d (build: convert pci.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#146: 
deleted file mode 100644

total: 0 errors, 1 warnings, 490 lines checked

Patch 11/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/51 Checking commit 8b145f086b06 (build: convert sound.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#69: 
deleted file mode 100644

total: 0 errors, 1 warnings, 49 lines checked

Patch 12/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
13/51 Checking commit c68b0736c930 (build: convert usb.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#159: 
deleted file mode 100644

total: 0 errors, 1 warnings, 165 lines checked

Patch 13/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/51 Checking commit b0e9cf200479 (block: fix recursion in hw/block/dataplane)
15/51 Checking commit 99b3ea362b48 (scsi: express dependencies with Kconfig)
16/51 Checking commit 85489ef70ed6 (isa: express dependencies with kconfig)
17/51 Checking commit 192e864c272e (i386: express dependencies with Kconfig)
18/51 Checking commit 140aadc9a3b0 (i2c: express dependencies with Kconfig)
19/51 Checking commit c5adaaac9bf3 (ptimer: express dependencies with Kconfig)
20/51 Checking commit 43c36b4f580c (display: express dependencies with kconfig)
21/51 Checking commit 7fabf6c407db (hyperv: express dependencies with kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
deleted file mode 100644

total: 0 errors, 1 warnings, 21 lines checked

Patch 21/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
22/51 Checking commit e4395d9fa320 (vfio: express vfio dependencies with Kconfig)
23/51 Checking commit cb5c04b9b9a6 (virtio: express virtio dependencies with Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#38: 
deleted file mode 100644

total: 0 errors, 1 warnings, 104 lines checked

Patch 23/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
24/51 Checking commit 544527ca12b3 (tpm: express dependencies with Kconfig)
25/51 Checking commit 0d5d1a45050c (isa: express SuperIO dependencies with Kconfig)
26/51 Checking commit 82ee5e5ac54f (ssi: express dependencies with kconfig)
27/51 Checking commit ca1cfdc1c94d (sd: express dependencies with kconfig)
28/51 Checking commit db3747cb76b5 (ipmi: express dependencies with kconfig)
29/51 Checking commit 2822ebf95eae (i386-softmmu.mak: remove all CONFIG_* except boards definitions)
30/51 Checking commit 93a603ffb1f9 (ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig)
31/51 Checking commit cf8ea0c0e8bb (ppc: Express dependencies of the 'prep' and '40p' machines with kconfig)
32/51 Checking commit 60bb2e0d9b9d (ppc: Express dependencies of the Mac machines with kconfig)
33/51 Checking commit ae2bd5b51dc8 (ppc: Express dependencies of the Sam460EX machines with kconfig)
34/51 Checking commit 6e35550c423c (ppc: Express dependencies of the embedded machines with kconfig)
35/51 Checking commit c0cd646ca528 (alpha-softmmu.mak: express dependencies with Kconfig)
36/51 Checking commit 36cbe4512aa8 (cris-softmmu.mak: express dependencies with Kconfig)
37/51 Checking commit 590c6d7ee0a4 (hppa-softmmu.mak: express dependencies with Kconfig)
38/51 Checking commit cd790311a0a8 (lm32-softmmu.mak: express dependencies with Kconfig)
39/51 Checking commit 6df43a796440 (m68k-softmmu.mak: express dependencies with Kconfig)
40/51 Checking commit 11526a8d824c (microblaze-softmmu.mak: express dependencies with Kconfig)
41/51 Checking commit 1d6c5fce702d (moxie-softmmu.mak: express dependencies with Kconfig)
42/51 Checking commit 8935c96d830f (nios2-softmmu.mak: express dependencies with Kconfig)
43/51 Checking commit 5fec60ab4271 (or1k-softmmu.mak: express dependencies with Kconfig)
44/51 Checking commit 3c211749036b (s390x: express dependencies with Kconfig)
45/51 Checking commit 7818fa31aef9 (sh4-softmmu.mak: express dependencies with Kconfig)
46/51 Checking commit f793fdb00094 (sparc-softmmu.mak: express dependencies with Kconfig)
47/51 Checking commit 8b1a2a062a57 (sparc64-softmmu.mak: express dependencies with Kconfig)
48/51 Checking commit 4c76d60e7289 (unicore32-softmmu.mak: express dependencies with Kconfig)
49/51 Checking commit cc20b7d742e3 (xtensa-softmmu.mak: express dependencies with Kconfig)
50/51 Checking commit a680cbcdd4e2 (.travis.yml: test that no-default-device builds do not regress)
51/51 Checking commit 93b682d47aba (FIXME vhost: add more stubs)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/1549562254-41157-1-git-send-email-pbonzini@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

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

* Re: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (54 preceding siblings ...)
  2019-02-07 19:47 ` no-reply
@ 2019-02-07 19:50 ` no-reply
  2019-02-08  0:14 ` no-reply
  56 siblings, 0 replies; 81+ messages in thread
From: no-reply @ 2019-02-07 19:50 UTC (permalink / raw)
  To: pbonzini; +Cc: fam, qemu-devel, peter.maydell, thuth, philmd, amarkovic

Patchew URL: https://patchew.org/QEMU/1549562254-41157-1-git-send-email-pbonzini@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
Message-id: 1549562254-41157-1-git-send-email-pbonzini@redhat.com
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/1549562254-41157-1-git-send-email-pbonzini@redhat.com -> patchew/1549562254-41157-1-git-send-email-pbonzini@redhat.com
 - [tag update]      patchew/20190206112729.37761-1-sgarzare@redhat.com -> patchew/20190206112729.37761-1-sgarzare@redhat.com
Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for path 'capstone'
Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 'roms/SLOF'
Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 'roms/ipxe'
Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered for path 'roms/openbios'
Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (https://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for path 'roms/sgabios'
Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for path 'roms/skiboot'
Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for path 'roms/u-boot'
Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex'
Submodule 'tests/fp/berkeley-softfloat-3' (https://github.com/cota/berkeley-softfloat-3) registered for path 'tests/fp/berkeley-softfloat-3'
Submodule 'tests/fp/berkeley-testfloat-3' (https://github.com/cota/berkeley-testfloat-3) registered for path 'tests/fp/berkeley-testfloat-3'
Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out '90c488d5f4a407342247b9ea869df1c2d9c8e266'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 'a5b428e1c1eae703bdd62a3f527223c291ee3fdc'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 'de4565cbe76ea9f7913a01f331be3ee901bb6e17'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out '441a84d3a642a10b948369c63f32367e8ff6395b'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out '51c237d7e20d05100eacadee2f61abc17e6bc097'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 'a698c8995ffb2838296ec284fe3c4ad33dfca307'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out '1ef99a01572c2581c30e16e6fe69e9ea2ef92ce0'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/u-boot-sam460ex'...
Submodule path 'roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588'
Cloning into 'tests/fp/berkeley-softfloat-3'...
Submodule path 'tests/fp/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037'
Cloning into 'tests/fp/berkeley-testfloat-3'...
Submodule path 'tests/fp/berkeley-testfloat-3': checked out '5a59dcec19327396a011a17fd924aed4fec416b3'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
93b682d FIXME vhost: add more stubs
a680cbc .travis.yml: test that no-default-device builds do not regress
cc20b7d xtensa-softmmu.mak: express dependencies with Kconfig
4c76d60 unicore32-softmmu.mak: express dependencies with Kconfig
8b1a2a0 sparc64-softmmu.mak: express dependencies with Kconfig
f793fdb sparc-softmmu.mak: express dependencies with Kconfig
7818fa3 sh4-softmmu.mak: express dependencies with Kconfig
3c21174 s390x: express dependencies with Kconfig
5fec60a or1k-softmmu.mak: express dependencies with Kconfig
8935c96 nios2-softmmu.mak: express dependencies with Kconfig
1d6c5fc moxie-softmmu.mak: express dependencies with Kconfig
11526a8 microblaze-softmmu.mak: express dependencies with Kconfig
6df43a7 m68k-softmmu.mak: express dependencies with Kconfig
cd79031 lm32-softmmu.mak: express dependencies with Kconfig
590c6d7 hppa-softmmu.mak: express dependencies with Kconfig
36cbe45 cris-softmmu.mak: express dependencies with Kconfig
c0cd646 alpha-softmmu.mak: express dependencies with Kconfig
6e35550 ppc: Express dependencies of the embedded machines with kconfig
ae2bd5b ppc: Express dependencies of the Sam460EX machines with kconfig
60bb2e0 ppc: Express dependencies of the Mac machines with kconfig
cf8ea0c ppc: Express dependencies of the 'prep' and '40p' machines with kconfig
93a603f ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
2822ebf i386-softmmu.mak: remove all CONFIG_* except boards definitions
db3747c ipmi: express dependencies with kconfig
ca1cfdc sd: express dependencies with kconfig
82ee5e5 ssi: express dependencies with kconfig
0d5d1a4 isa: express SuperIO dependencies with Kconfig
544527c tpm: express dependencies with Kconfig
cb5c04b virtio: express virtio dependencies with Kconfig
e4395d9 vfio: express vfio dependencies with Kconfig
7fabf6c hyperv: express dependencies with kconfig
43c36b4 display: express dependencies with kconfig
c5adaaa ptimer: express dependencies with Kconfig
140aadc i2c: express dependencies with Kconfig
192e864 i386: express dependencies with Kconfig
85489ef isa: express dependencies with kconfig
99b3ea3 scsi: express dependencies with Kconfig
b0e9cf2 block: fix recursion in hw/block/dataplane
c68b073 build: convert usb.mak to Kconfig
8b145f0 build: convert sound.mak to Kconfig
1b95de0 build: convert pci.mak to Kconfig
4af86cc hw/pci/Makefile.objs: make pcie configurable
2e3edb8 ide: express dependencies with Kconfig
f7bef1a kconfig: introduce CONFIG_TEST_DEVICES
07a8e88 minikconfig: implement allnoconfig and defconfig modes
fb806e7 build: switch to Kconfig
a95f7d7 kconfig: introduce kconfig files
1a214f8 hw/display: make edid configurable
5a8f973 minikconfig: add semantic analysis
b5c153b minikconfig: add AST
bff5450 minikconfig: add parser skeleton

=== OUTPUT BEGIN ===
1/51 Checking commit bff54501a325 (minikconfig: add parser skeleton)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#36: 
new file mode 100644

WARNING: line over 80 characters
#260: FILE: scripts/minikconf.py:220:
+                           'Expected identifier starting with "CONFIG_"', TOK_NONE)

WARNING: line over 80 characters
#359: FILE: scripts/minikconf.py:319:
+            raise KconfigParserError(self, 'expected "source", "config", identifier, '

WARNING: line over 80 characters
#385: FILE: scripts/minikconf.py:345:
+            raise KconfigParserError(self, 'expected "source", "config" or identifier')

ERROR: line over 90 characters
#410: FILE: scripts/minikconf.py:370:
+        if self.src[self.cursor + length].isalnum() or self.src[self.cursor + length] == '|':

WARNING: line over 80 characters
#465: FILE: scripts/minikconf.py:425:
+            while self.src[self.cursor].isalnum() or self.src[self.cursor] == '_':

total: 1 errors, 5 warnings, 441 lines checked

Patch 1/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/51 Checking commit b5c153b336bc (minikconfig: add AST)
WARNING: line over 80 characters
#90: FILE: scripts/minikconf.py:90:
+                return "config %s default %s if %s" % (self.dest, value, self.cond)

total: 0 errors, 1 warnings, 177 lines checked

Patch 2/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/51 Checking commit 5a8f973a474b (minikconfig: add semantic analysis)
ERROR: line over 90 characters
#113: FILE: scripts/minikconf.py:106:
+                raise KconfigParserError('contradiction between clauses when setting %s' % self)

WARNING: line over 80 characters
#216: FILE: scripts/minikconf.py:218:
+            debug_print(i, "->", [str(x) for x in self.referenced_vars[i].outgoing])

total: 1 errors, 1 warnings, 235 lines checked

Patch 3/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/51 Checking commit 1a214f85cdc5 (hw/display: make edid configurable)
5/51 Checking commit a95f7d77eaa6 (kconfig: introduce kconfig files)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#45: 
new file mode 100644

WARNING: line over 80 characters
#1754: FILE: scripts/minikconf.py:653:
+        print ("%s: at least one argument is required" % argv[0], file=sys.stderr)

total: 0 errors, 2 warnings, 1354 lines checked

Patch 5/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/51 Checking commit fb806e7b4c22 (build: switch to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#505: 
deleted file mode 100644

total: 0 errors, 1 warnings, 346 lines checked

Patch 6/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/51 Checking commit 07a8e8887f8f (minikconfig: implement allnoconfig and defconfig modes)
8/51 Checking commit f7bef1a4465c (kconfig: introduce CONFIG_TEST_DEVICES)
9/51 Checking commit 2e3edb87047c (ide: express dependencies with Kconfig)
10/51 Checking commit 4af86cca3ac9 (hw/pci/Makefile.objs: make pcie configurable)
11/51 Checking commit 1b95de09b99d (build: convert pci.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#146: 
deleted file mode 100644

total: 0 errors, 1 warnings, 490 lines checked

Patch 11/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/51 Checking commit 8b145f086b06 (build: convert sound.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#69: 
deleted file mode 100644

total: 0 errors, 1 warnings, 49 lines checked

Patch 12/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
13/51 Checking commit c68b0736c930 (build: convert usb.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#159: 
deleted file mode 100644

total: 0 errors, 1 warnings, 165 lines checked

Patch 13/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/51 Checking commit b0e9cf200479 (block: fix recursion in hw/block/dataplane)
15/51 Checking commit 99b3ea362b48 (scsi: express dependencies with Kconfig)
16/51 Checking commit 85489ef70ed6 (isa: express dependencies with kconfig)
17/51 Checking commit 192e864c272e (i386: express dependencies with Kconfig)
18/51 Checking commit 140aadc9a3b0 (i2c: express dependencies with Kconfig)
19/51 Checking commit c5adaaac9bf3 (ptimer: express dependencies with Kconfig)
20/51 Checking commit 43c36b4f580c (display: express dependencies with kconfig)
21/51 Checking commit 7fabf6c407db (hyperv: express dependencies with kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
deleted file mode 100644

total: 0 errors, 1 warnings, 21 lines checked

Patch 21/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
22/51 Checking commit e4395d9fa320 (vfio: express vfio dependencies with Kconfig)
23/51 Checking commit cb5c04b9b9a6 (virtio: express virtio dependencies with Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#38: 
deleted file mode 100644

total: 0 errors, 1 warnings, 104 lines checked

Patch 23/51 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
24/51 Checking commit 544527ca12b3 (tpm: express dependencies with Kconfig)
25/51 Checking commit 0d5d1a45050c (isa: express SuperIO dependencies with Kconfig)
26/51 Checking commit 82ee5e5ac54f (ssi: express dependencies with kconfig)
27/51 Checking commit ca1cfdc1c94d (sd: express dependencies with kconfig)
28/51 Checking commit db3747cb76b5 (ipmi: express dependencies with kconfig)
29/51 Checking commit 2822ebf95eae (i386-softmmu.mak: remove all CONFIG_* except boards definitions)
30/51 Checking commit 93a603ffb1f9 (ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig)
31/51 Checking commit cf8ea0c0e8bb (ppc: Express dependencies of the 'prep' and '40p' machines with kconfig)
32/51 Checking commit 60bb2e0d9b9d (ppc: Express dependencies of the Mac machines with kconfig)
33/51 Checking commit ae2bd5b51dc8 (ppc: Express dependencies of the Sam460EX machines with kconfig)
34/51 Checking commit 6e35550c423c (ppc: Express dependencies of the embedded machines with kconfig)
35/51 Checking commit c0cd646ca528 (alpha-softmmu.mak: express dependencies with Kconfig)
36/51 Checking commit 36cbe4512aa8 (cris-softmmu.mak: express dependencies with Kconfig)
37/51 Checking commit 590c6d7ee0a4 (hppa-softmmu.mak: express dependencies with Kconfig)
38/51 Checking commit cd790311a0a8 (lm32-softmmu.mak: express dependencies with Kconfig)
39/51 Checking commit 6df43a796440 (m68k-softmmu.mak: express dependencies with Kconfig)
40/51 Checking commit 11526a8d824c (microblaze-softmmu.mak: express dependencies with Kconfig)
41/51 Checking commit 1d6c5fce702d (moxie-softmmu.mak: express dependencies with Kconfig)
42/51 Checking commit 8935c96d830f (nios2-softmmu.mak: express dependencies with Kconfig)
43/51 Checking commit 5fec60ab4271 (or1k-softmmu.mak: express dependencies with Kconfig)
44/51 Checking commit 3c211749036b (s390x: express dependencies with Kconfig)
45/51 Checking commit 7818fa31aef9 (sh4-softmmu.mak: express dependencies with Kconfig)
46/51 Checking commit f793fdb00094 (sparc-softmmu.mak: express dependencies with Kconfig)
47/51 Checking commit 8b1a2a062a57 (sparc64-softmmu.mak: express dependencies with Kconfig)
48/51 Checking commit 4c76d60e7289 (unicore32-softmmu.mak: express dependencies with Kconfig)
49/51 Checking commit cc20b7d742e3 (xtensa-softmmu.mak: express dependencies with Kconfig)
50/51 Checking commit a680cbcdd4e2 (.travis.yml: test that no-default-device builds do not regress)
51/51 Checking commit 93b682d47aba (FIXME vhost: add more stubs)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/1549562254-41157-1-git-send-email-pbonzini@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

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

* Re: [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX machines with kconfig
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX " Paolo Bonzini
@ 2019-02-07 23:16   ` BALATON Zoltan
  2019-02-08  4:30     ` Thomas Huth
  0 siblings, 1 reply; 81+ messages in thread
From: BALATON Zoltan @ 2019-02-07 23:16 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, thuth, philmd

On Thu, 7 Feb 2019, Paolo Bonzini wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> Most of the dependencies are now directly selected by the SAM460EX
> switch. We can drop CONFIG_VGA_CIRRUS since this device is already
> selected automatically when CONFIG_PCI_DEVICES is set.
>
> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> default-configs/ppc-softmmu.mak |  8 --------
> hw/display/Kconfig              |  1 +
> hw/ppc/Kconfig                  | 11 +++++++++++
> 3 files changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
> index caaff60..fb43cba 100644
> --- a/default-configs/ppc-softmmu.mak
> +++ b/default-configs/ppc-softmmu.mak
> @@ -25,14 +25,6 @@ CONFIG_PCI_EXPRESS=y
>
> # For Sam460ex
> CONFIG_SAM460EX=y
> -CONFIG_USB_EHCI_SYSBUS=y
> -CONFIG_SM501=y
> -CONFIG_IDE_SII3112=y
> -CONFIG_AT24C=y
> -CONFIG_BITBANG_I2C=y
> -CONFIG_M41T80=y
> -CONFIG_VGA_CIRRUS=y
> -CONFIG_SMBUS_EEPROM=y
>
> # For Macs
> CONFIG_MAC_OLDWORLD=y
> diff --git a/hw/display/Kconfig b/hw/display/Kconfig
> index 0f659e9..69f8a7e 100644
> --- a/hw/display/Kconfig
> +++ b/hw/display/Kconfig
> @@ -29,6 +29,7 @@ config SII9022
> config SSD0303
>     bool
>     depends on I2C
> +    select DDC

What's SSD0303? It's not something sam460ex needs. Are you sure this hunk 
belongs to this patch?

Regards,
BALATON Zoltan

>
> config SSD0323
>     bool
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index fb77151..664fc31 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -33,9 +33,20 @@ config PPC440
>
> config PPC4XX
>     bool
> +    select BITBANG_I2C
> +    select PCI
>
> config SAM460EX
>     bool
> +    select PFLASH_CFI01
> +    select IDE_SII3112
> +    select M41T80
> +    select PPC440
> +    select SERIAL
> +    select SM501
> +    select SMBUS_EEPROM
> +    select USB_EHCI_SYSBUS
> +    select USB_OHCI
>
> config PREP
>     bool
>

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

* Re: [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
  2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
                   ` (55 preceding siblings ...)
  2019-02-07 19:50 ` no-reply
@ 2019-02-08  0:14 ` no-reply
  56 siblings, 0 replies; 81+ messages in thread
From: no-reply @ 2019-02-08  0:14 UTC (permalink / raw)
  To: pbonzini; +Cc: fam, qemu-devel, peter.maydell, thuth, philmd, amarkovic

Patchew URL: https://patchew.org/QEMU/1549562254-41157-1-git-send-email-pbonzini@redhat.com/



Hi,

This series failed the docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-mingw@fedora SHOW_ENV=1 J=14
=== TEST SCRIPT END ===




The full log is available at
http://patchew.org/logs/1549562254-41157-1-git-send-email-pbonzini@redhat.com/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

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

* Re: [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX machines with kconfig
  2019-02-07 23:16   ` BALATON Zoltan
@ 2019-02-08  4:30     ` Thomas Huth
  0 siblings, 0 replies; 81+ messages in thread
From: Thomas Huth @ 2019-02-08  4:30 UTC (permalink / raw)
  To: BALATON Zoltan, Paolo Bonzini; +Cc: qemu-devel, philmd

On 2019-02-08 00:16, BALATON Zoltan wrote:
> On Thu, 7 Feb 2019, Paolo Bonzini wrote:
>> From: Thomas Huth <thuth@redhat.com>
>>
>> Most of the dependencies are now directly selected by the SAM460EX
>> switch. We can drop CONFIG_VGA_CIRRUS since this device is already
>> selected automatically when CONFIG_PCI_DEVICES is set.
>>
>> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
>> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>> default-configs/ppc-softmmu.mak |  8 --------
>> hw/display/Kconfig              |  1 +
>> hw/ppc/Kconfig                  | 11 +++++++++++
>> 3 files changed, 12 insertions(+), 8 deletions(-)
>>
>> diff --git a/default-configs/ppc-softmmu.mak
>> b/default-configs/ppc-softmmu.mak
>> index caaff60..fb43cba 100644
>> --- a/default-configs/ppc-softmmu.mak
>> +++ b/default-configs/ppc-softmmu.mak
>> @@ -25,14 +25,6 @@ CONFIG_PCI_EXPRESS=y
>>
>> # For Sam460ex
>> CONFIG_SAM460EX=y
>> -CONFIG_USB_EHCI_SYSBUS=y
>> -CONFIG_SM501=y
>> -CONFIG_IDE_SII3112=y
>> -CONFIG_AT24C=y
>> -CONFIG_BITBANG_I2C=y
>> -CONFIG_M41T80=y
>> -CONFIG_VGA_CIRRUS=y
>> -CONFIG_SMBUS_EEPROM=y
>>
>> # For Macs
>> CONFIG_MAC_OLDWORLD=y
>> diff --git a/hw/display/Kconfig b/hw/display/Kconfig
>> index 0f659e9..69f8a7e 100644
>> --- a/hw/display/Kconfig
>> +++ b/hw/display/Kconfig
>> @@ -29,6 +29,7 @@ config SII9022
>> config SSD0303
>>     bool
>>     depends on I2C
>> +    select DDC
> 
> What's SSD0303? It's not something sam460ex needs. Are you sure this
> hunk belongs to this patch?

That looks like a rebase error, inded. The line should belong to SM501
instead, see my original patch:

https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg08244.html

 Thomas

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

* Re: [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: " Paolo Bonzini
@ 2019-02-08 17:33   ` Mark Cave-Ayland
  2019-02-08 17:40     ` Paolo Bonzini
  0 siblings, 1 reply; 81+ messages in thread
From: Mark Cave-Ayland @ 2019-02-08 17:33 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: thuth, philmd

On 07/02/2019 17:57, Paolo Bonzini wrote:

> %-softmmu.mak only keep boards and optional device
> definitions in Kconfig mode.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  default-configs/sparc-softmmu.mak | 22 ++++++----------------
>  hw/misc/Kconfig                   |  1 +
>  hw/net/Kconfig                    |  1 +
>  hw/sparc/Kconfig                  | 13 +++++++++++++
>  4 files changed, 21 insertions(+), 16 deletions(-)
> 
> diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
> index b31a9f2..ee85218 100644
> --- a/default-configs/sparc-softmmu.mak
> +++ b/default-configs/sparc-softmmu.mak
> @@ -1,21 +1,11 @@
>  # Default configuration for sparc-softmmu
>  
> -CONFIG_ISA_BUS=y
> -CONFIG_ECC=y
> -CONFIG_ESP=y
> -CONFIG_ESCC=y
> -CONFIG_M48T59=y
> -CONFIG_FDC=y
> -CONFIG_EMPTY_SLOT=y
> -CONFIG_PCNET_COMMON=y
> -CONFIG_LANCE=y
> -CONFIG_TCX=y
> -CONFIG_CG3=y
> -CONFIG_SLAVIO=y
> -CONFIG_CS4231=y
> -CONFIG_GRLIB=y
> -CONFIG_STP2000=y
> -CONFIG_ECCMEMCTL=y
> +# Uncomment the following lines to disable these optional devices:
> +#
> +#CONFIG_TCX=n
> +#CONFIG_CG3=n

What do you mean by optional here? The video card that is selected is built-in to the
machine so is this comment eluding to a headless sun4m machine started with
-nodefaults or similar?

> +# Boards:
> +#
>  CONFIG_SUN4M=y
>  CONFIG_LEON3=y
> diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
> index 728c561..11d4b30 100644
> --- a/hw/misc/Kconfig
> +++ b/hw/misc/Kconfig
> @@ -71,6 +71,7 @@ config IVSHMEM_DEVICE
>  
>  config ECCMEMCTL
>      bool
> +    select ECC
>  
>  config IMX
>      bool
> diff --git a/hw/net/Kconfig b/hw/net/Kconfig
> index 1aa1071..c132180 100644
> --- a/hw/net/Kconfig
> +++ b/hw/net/Kconfig
> @@ -77,6 +77,7 @@ config STELLARIS_ENET
>  
>  config LANCE
>      bool
> +    select PCNET_COMMON
>  
>  config SUNHME
>      bool
> diff --git a/hw/sparc/Kconfig b/hw/sparc/Kconfig
> index c9c2142..2a83a80 100644
> --- a/hw/sparc/Kconfig
> +++ b/hw/sparc/Kconfig
> @@ -1,8 +1,21 @@
>  config SUN4M
>      bool
> +    imply TCX
> +    imply CG3
> +    select CS4231
> +    select ECCMEMCTL
> +    select EMPTY_SLOT
> +    select ESCC
> +    select ESP
> +    select FDC
> +    select SLAVIO
> +    select LANCE
> +    select M48T59
> +    select STP2000
>  
>  config LEON3
>      bool
> +    select GRLIB
>  
>  config GRLIB
>      bool


ATB,

Mark.

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

* Re: [Qemu-devel] [PATCH 47/51] sparc64-softmmu.mak: express dependencies with Kconfig
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 47/51] sparc64-softmmu.mak: " Paolo Bonzini
@ 2019-02-08 17:35   ` Mark Cave-Ayland
  0 siblings, 0 replies; 81+ messages in thread
From: Mark Cave-Ayland @ 2019-02-08 17:35 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: thuth, philmd

On 07/02/2019 17:57, Paolo Bonzini wrote:

> %-softmmu.mak only keep boards and optional device
> definitions in Kconfig mode.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  default-configs/sparc64-softmmu.mak | 23 ++++++++---------------
>  hw/sparc64/Kconfig                  | 13 +++++++++++++
>  2 files changed, 21 insertions(+), 15 deletions(-)
> 
> diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
> index 528af8f..e50030a 100644
> --- a/default-configs/sparc64-softmmu.mak
> +++ b/default-configs/sparc64-softmmu.mak
> @@ -1,19 +1,12 @@
>  # Default configuration for sparc64-softmmu
>  
> -CONFIG_PCI=y
> -CONFIG_PCI_DEVICES=y
> -CONFIG_M48T59=y
> -CONFIG_SERIAL=y
> -CONFIG_SERIAL_ISA=y
> -CONFIG_PARALLEL=y
> -CONFIG_PCKBD=y
> -CONFIG_FDC=y
> -CONFIG_IDE_CMD646=y
> -CONFIG_PCI_SABRE=y
> -CONFIG_SIMBA=y
> -CONFIG_SUNHME=y
> -CONFIG_MC146818RTC=y
> -CONFIG_TEST_DEVICES=y
> -CONFIG_SUN4V_RTC=y
> +# Uncomment the following lines to disable these optional devices:
> +#
> +#CONFIG_PCI_DEVICES=n
> +#CONFIG_SUNHME=n

Again I'm not sure what you mean by optional? sunhme has been the default NIC for the
sun4u machine for several QEMU releases now.

> +#CONFIG_TEST_DEVICES=n
> +
> +# Boards:
> +#
>  CONFIG_SUN4U=y
>  CONFIG_NIAGARA=y
> diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig
> index 41f7295..4a8166e 100644
> --- a/hw/sparc64/Kconfig
> +++ b/hw/sparc64/Kconfig
> @@ -1,6 +1,19 @@
>  config SUN4U
>      bool
> +    imply PCI_DEVICES
> +    imply SUNHME
> +    imply TEST_DEVICES
> +    select M48T59
>      select ISA_BUS
> +    select FDC
> +    select SERIAL_ISA
> +    select PCI_SABRE
> +    select IDE_CMD646
> +    select PARALLEL
> +    select PCKBD
> +    select SIMBA
>  
>  config NIAGARA
>      bool
> +    select EMPTY_SLOT
> +    select SUN4V_RTC
> 


ATB,

Mark.

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

* Re: [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: express dependencies with Kconfig
  2019-02-08 17:33   ` Mark Cave-Ayland
@ 2019-02-08 17:40     ` Paolo Bonzini
  0 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-08 17:40 UTC (permalink / raw)
  To: Mark Cave-Ayland, qemu-devel; +Cc: thuth, philmd

On 08/02/19 18:33, Mark Cave-Ayland wrote:
>> +# Uncomment the following lines to disable these optional devices:
>> +#
>> +#CONFIG_TCX=n
>> +#CONFIG_CG3=n
> What do you mean by optional here? The video card that is selected is built-in to the
> machine so is this comment eluding to a headless sun4m machine started with
> -nodefaults or similar?
> 

Yes, it means that you can build a QEMU without those, for example if
you want to have only cg3 or you are okay with requiring -nodefaults.

Basically if there is a way to run QEMU without those devices, they are
marked as optional (and use "imply" rather than "select").

Later on we might have a way to autogenerate these .mak files, and add a
help message to the Kconfig files that will be copied in the .mak files.
 For now, if it breaks you keep both pieces, but at least we guarantee
that disabling optional devices will still result in a QEMU that starts
the machine with -nodefaults.

Paolo

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

* Re: [Qemu-devel] [PATCH 28/51] ipmi: express dependencies with kconfig
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 28/51] ipmi: " Paolo Bonzini
@ 2019-02-20 14:06   ` Corey Minyard
  0 siblings, 0 replies; 81+ messages in thread
From: Corey Minyard @ 2019-02-20 14:06 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Yang Zhong, thuth, philmd

On Thu, Feb 07, 2019 at 06:57:11PM +0100, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> Message-Id: <20190123065618.3520-36-yang.zhong@intel.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  default-configs/i386-softmmu.mak  | 3 ---
>  default-configs/ppc64-softmmu.mak | 3 ---
>  hw/ipmi/Kconfig                   | 6 ++++++
>  3 files changed, 6 insertions(+), 6 deletions(-)


This looks ok to me.

Reviewed-by: Corey Minyard <cminyard@mvista.com>

> 
> diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
> index 53e9d5e..e779ee1 100644
> --- a/default-configs/i386-softmmu.mak
> +++ b/default-configs/i386-softmmu.mak
> @@ -1,9 +1,6 @@
>  # Default configuration for i386-softmmu
>  
>  CONFIG_VMXNET3_PCI=y
> -CONFIG_IPMI=y
> -CONFIG_IPMI_LOCAL=y
> -CONFIG_IPMI_EXTERN=y
>  CONFIG_ISA_IPMI_KCS=y
>  CONFIG_ISA_IPMI_BT=y
>  
> diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
> index a0a9151..d642b67 100644
> --- a/default-configs/ppc64-softmmu.mak
> +++ b/default-configs/ppc64-softmmu.mak
> @@ -5,9 +5,6 @@ include ppc-softmmu.mak
>  
>  # For PowerNV
>  CONFIG_POWERNV=y
> -CONFIG_IPMI=y
> -CONFIG_IPMI_LOCAL=y
> -CONFIG_IPMI_EXTERN=y
>  CONFIG_ISA_IPMI_BT=y
>  
>  # For pSeries
> diff --git a/hw/ipmi/Kconfig b/hw/ipmi/Kconfig
> index 6a4f08f..b944fae 100644
> --- a/hw/ipmi/Kconfig
> +++ b/hw/ipmi/Kconfig
> @@ -3,14 +3,20 @@ config IPMI
>  
>  config IPMI_LOCAL
>      bool
> +    default y
> +    depends on IPMI
>  
>  config IPMI_EXTERN
>      bool
> +    default y
> +    depends on IPMI
>  
>  config ISA_IPMI_KCS
>      bool
>      depends on ISA_BUS
> +    select IPMI
>  
>  config ISA_IPMI_BT
>      bool
>      depends on ISA_BUS
> +    select IPMI
> -- 
> 1.8.3.1
> 
> 
> 

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

* Re: [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
  2019-02-07 18:35   ` Thomas Huth
@ 2019-02-20 15:42   ` Thomas Huth
  2019-02-20 15:46     ` Paolo Bonzini
  2019-02-20 16:55   ` Max Filippov
  2019-02-21 15:58   ` Stefano Garzarella
  3 siblings, 1 reply; 81+ messages in thread
From: Thomas Huth @ 2019-02-20 15:42 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: Yang Zhong, philmd

On 07/02/2019 18.56, Paolo Bonzini wrote:
> 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>
> ---
[...]
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> new file mode 100644
> index 0000000..64cd698
> --- /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 EXYNOS4
> +    bool

I just noticed: EXYNOS4 is defined twice in this file (it's also the
third entry from the top). You can remove one of those.

> +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 IOTKIT
> +    bool

Are we using IOTKIT anywhere?

 Thomas

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

* Re: [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files
  2019-02-20 15:42   ` Thomas Huth
@ 2019-02-20 15:46     ` Paolo Bonzini
  0 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-20 15:46 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel; +Cc: Yang Zhong, philmd

On 20/02/19 16:42, Thomas Huth wrote:
> On 07/02/2019 18.56, Paolo Bonzini wrote:
>> 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>
>> ---
> [...]
>> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
>> new file mode 100644
>> index 0000000..64cd698
>> --- /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 EXYNOS4
>> +    bool
> 
> I just noticed: EXYNOS4 is defined twice in this file (it's also the
> third entry from the top). You can remove one of those.
> 
>> +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 IOTKIT
>> +    bool
> 
> Are we using IOTKIT anywhere?

It's been renamed to ARMSSE.  I'll fix both.

Paolo

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

* Re: [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
  2019-02-07 18:35   ` Thomas Huth
  2019-02-20 15:42   ` Thomas Huth
@ 2019-02-20 16:55   ` Max Filippov
  2019-02-20 17:44     ` Paolo Bonzini
  2019-02-21 15:58   ` Stefano Garzarella
  3 siblings, 1 reply; 81+ messages in thread
From: Max Filippov @ 2019-02-20 16:55 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Yang Zhong, Thomas Huth, Philippe Mathieu-Daudé

On Thu, Feb 7, 2019 at 10:05 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
> diff --git a/hw/xtensa/Kconfig b/hw/xtensa/Kconfig
> new file mode 100644
> index 0000000..97543a9
> --- /dev/null
> +++ b/hw/xtensa/Kconfig
> @@ -0,0 +1,5 @@
> +config XTENSA_SIM
> +    bool
> +
> +config XTENSA_FPGA

Can it please be called XTENSA_XTFPGA, as the corresponding
source file and as it's called in other places (e.g. in linux)?

-- 
Thanks.
-- Max

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

* Re: [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files
  2019-02-20 16:55   ` Max Filippov
@ 2019-02-20 17:44     ` Paolo Bonzini
  0 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-20 17:44 UTC (permalink / raw)
  To: Max Filippov
  Cc: qemu-devel, Yang Zhong, Thomas Huth, Philippe Mathieu-Daudé

On 20/02/19 17:55, Max Filippov wrote:
> On Thu, Feb 7, 2019 at 10:05 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>> diff --git a/hw/xtensa/Kconfig b/hw/xtensa/Kconfig
>> new file mode 100644
>> index 0000000..97543a9
>> --- /dev/null
>> +++ b/hw/xtensa/Kconfig
>> @@ -0,0 +1,5 @@
>> +config XTENSA_SIM
>> +    bool
>> +
>> +config XTENSA_FPGA
> 
> Can it please be called XTENSA_XTFPGA, as the corresponding
> source file and as it's called in other places (e.g. in linux)?

This is just matching the existing

    obj-$(CONFIG_XTENSA_FPGA) += xtfpga.o

but yes, I can rename it.

Paolo

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

* Re: [Qemu-devel] [PATCH 06/51] build: switch to Kconfig
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 06/51] build: switch to Kconfig Paolo Bonzini
@ 2019-02-21 15:44   ` Stefano Garzarella
  2019-02-21 17:59     ` Paolo Bonzini
  0 siblings, 1 reply; 81+ messages in thread
From: Stefano Garzarella @ 2019-02-21 15:44 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Yang Zhong, thuth, philmd

On Thu, Feb 07, 2019 at 06:56:49PM +0100, Paolo Bonzini wrote:
> The make_device_config.sh script is replaced by minikconf, which
> is modified to support the same command line as its predecessor.
> 
> The roots of the parsing are default-configs/*.mak, Kconfig.host and
> hw/Kconfig.  One difference with make_device_config.sh is that all symbols
> have to be defined in a Kconfig file, including those coming from the
> configure script.  This is the reason for the Kconfig.host file introduced
> in the previous patch. Whenever a file in default-configs/*.mak used
> $(...) to refer to a config-host.mak symbol, this is replaced by a
> Kconfig dependency; this part must be done already in this patch
> for bisectability.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> Acked-by: Thomas Huth <thuth@redhat.com>
> Message-Id: <20190123065618.3520-28-yang.zhong@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  Kconfig.host                      |  6 +++++-
>  Makefile                          | 24 +++++++++++++++++++-----
>  Makefile.target                   |  7 ++++++-
>  configure                         |  6 ++++++
>  default-configs/arm-softmmu.mak   |  2 --
>  default-configs/i386-softmmu.mak  |  5 +----
>  default-configs/lm32-softmmu.mak  |  1 -
>  default-configs/pci.mak           |  1 -
>  default-configs/ppc-softmmu.mak   |  1 -
>  default-configs/ppc64-softmmu.mak |  5 -----
>  default-configs/s390x-softmmu.mak |  4 +---
>  default-configs/virtio.mak        |  3 ---
>  hw/9pfs/Kconfig                   |  2 ++
>  hw/block/Kconfig                  |  2 ++
>  hw/display/Kconfig                |  3 +++
>  hw/i386/Kconfig                   |  7 +++++++
>  hw/input/Kconfig                  |  5 +++++
>  hw/intc/Kconfig                   | 12 ++++++++++++
>  hw/misc/Kconfig                   |  2 ++
>  hw/ppc/Kconfig                    |  4 ++++
>  hw/scsi/Kconfig                   |  7 +++++++
>  hw/tpm/Kconfig                    |  1 +
>  hw/vfio/Kconfig                   |  9 +++++++++
>  rules.mak                         |  2 +-
>  scripts/make_device_config.sh     | 30 ------------------------------
>  25 files changed, 93 insertions(+), 58 deletions(-)
>  delete mode 100644 scripts/make_device_config.sh
> 
> diff --git a/Kconfig.host b/Kconfig.host
> index ff5457d..e3d486c 100644
> --- a/Kconfig.host
> +++ b/Kconfig.host
> @@ -1,5 +1,6 @@
>  # These are "proxy" symbols used to pass config-host.mak values
> -# down to Kconfig.
> +# down to Kconfig.  See also MINIKCONF_ARGS in the Makefile:
> +# these two need to be kept in sync.
>  
>  config KVM
>      bool
> @@ -10,6 +11,9 @@ config LINUX
>  config OPENGL
>      bool
>  
> +config X11
> +    bool
> +
>  config SPICE
>      bool
>  
> diff --git a/Makefile b/Makefile
> index 3658310..959ab9e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -313,8 +313,8 @@ DOCS=
>  endif
>  
>  SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory --quiet) BUILD_DIR=$(BUILD_DIR)
> -SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(TARGET_DIRS))
> -SUBDIR_DEVICES_MAK_DEP=$(patsubst %, %-config-devices.mak.d, $(TARGET_DIRS))
> +SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(filter %-softmmu, $(TARGET_DIRS)))
> +SUBDIR_DEVICES_MAK_DEP=$(patsubst %, %.d, $(SUBDIR_DEVICES_MAK))
>  
>  ifeq ($(SUBDIR_DEVICES_MAK),)
>  config-all-devices.mak:
> @@ -329,9 +329,23 @@ endif
>  
>  -include $(SUBDIR_DEVICES_MAK_DEP)
>  
> -%/config-devices.mak: default-configs/%.mak $(SRC_PATH)/scripts/make_device_config.sh
> -	$(call quiet-command, \
> -            $(SHELL) $(SRC_PATH)/scripts/make_device_config.sh $< $*-config-devices.mak.d $@ > $@.tmp,"GEN","$@.tmp")
> +# This has to be kept in sync with Kconfig.host.
> +MINIKCONF_ARGS = \
> +    $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \
> +    CONFIG_KVM=$(CONFIG_KVM) \
> +    CONFIG_SPICE=$(CONFIG_SPICE) \
> +    CONFIG_TPM=$(CONFIG_TPM) \
> +    CONFIG_XEN=$(CONFIG_XEN) \
> +    CONFIG_OPENGL=$(CONFIG_OPENGL) \
> +    CONFIG_X11=$(CONFIG_X11) \
> +    CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \
> +    CONFIG_LINUX=$(CONFIG_LINUX)
> +
Hi Paolo,
I'm playing with Kconfig but with a simple configuration
(./configure --target-list=x86_64-softmmu --disable-docs) the build fails:
/usr/bin/ld: ../hw/xen/xen-legacy-backend.o: in function `xen_be_register_common':
/home/stefano/repos/qemu-kconfig/hw/xen/xen-legacy-backend.c:757: undefined reference to `xen_9pfs_ops'
collect2: error: ld returned 1 exit status

Analyzing the Makefile.objs files maybe we should pass the CONFIG_VIRTFS from
config-host.mak down to Kconfig.
I tried this simple patch and it seems to fix the issue:

diff --git a/Makefile b/Makefile
index df0732a050..bad583b01c 100644
--- a/Makefile
+++ b/Makefile
@@ -336,6 +336,7 @@ MINIKCONF_ARGS = \
     CONFIG_XEN=$(CONFIG_XEN) \
     CONFIG_OPENGL=$(CONFIG_OPENGL) \
     CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \
+    CONFIG_VIRTFS=$(CONFIG_VIRTFS) \
     CONFIG_LINUX=$(CONFIG_LINUX)

I'm not sure if we need to add "config VIRTFS" entry in the
Kconfig.host, because it is already defined in hw/9pfs/Kconfig.

Thanks,
Stefano

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

* Re: [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
                     ` (2 preceding siblings ...)
  2019-02-20 16:55   ` Max Filippov
@ 2019-02-21 15:58   ` Stefano Garzarella
  3 siblings, 0 replies; 81+ messages in thread
From: Stefano Garzarella @ 2019-02-21 15:58 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Yang Zhong, thuth, philmd

On Thu, Feb 07, 2019 at 06:56:48PM +0100, Paolo Bonzini wrote:
> 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>
> ---
>  Kconfig.host          |  23 ++++++++++
>  hw/9pfs/Kconfig       |   4 ++
>  hw/Kconfig            |  68 +++++++++++++++++++++++++++++
>  hw/acpi/Kconfig       |  20 +++++++++
>  hw/adc/Kconfig        |   2 +
>  hw/alpha/Kconfig      |   2 +
>  hw/arm/Kconfig        | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  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/cris/Kconfig       |   5 +++
>  hw/display/Kconfig    |  77 ++++++++++++++++++++++++++++++++
>  hw/dma/Kconfig        |  20 +++++++++
>  hw/gpio/Kconfig       |   8 ++++
>  hw/hppa/Kconfig       |   2 +
>  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       |  94 +++++++++++++++++++++++++++++++++++++++
>  hw/misc/macio/Kconfig |  11 +++++
>  hw/moxie/Kconfig      |   2 +
>  hw/net/Kconfig        |  92 ++++++++++++++++++++++++++++++++++++++
>  hw/nios2/Kconfig      |   5 +++
>  hw/nvram/Kconfig      |   8 ++++
>  hw/openrisc/Kconfig   |   2 +
>  hw/pci-bridge/Kconfig |  20 +++++++++
>  hw/pci-host/Kconfig   |  35 +++++++++++++++
>  hw/pci/Kconfig        |   2 +
>  hw/pcmcia/Kconfig     |   2 +
>  hw/ppc/Kconfig        |  44 +++++++++++++++++++
>  hw/riscv/Kconfig      |  20 +++++++++
>  hw/s390x/Kconfig      |   2 +
>  hw/scsi/Kconfig       |  26 +++++++++++
>  hw/sd/Kconfig         |  11 +++++
>  hw/sh4/Kconfig        |  11 +++++
>  hw/smbios/Kconfig     |   2 +
>  hw/sparc/Kconfig      |  11 +++++
>  hw/sparc64/Kconfig    |   5 +++
>  hw/ssi/Kconfig        |  14 ++++++
>  hw/timer/Kconfig      |  53 ++++++++++++++++++++++
>  hw/tpm/Kconfig        |  14 ++++++
>  hw/tricore/Kconfig    |   2 +
>  hw/unicore32/Kconfig  |   2 +
>  hw/usb/Kconfig        |  53 ++++++++++++++++++++++
>  hw/vfio/Kconfig       |  20 +++++++++
>  hw/virtio/Kconfig     |  17 ++++++++
>  hw/watchdog/Kconfig   |  11 +++++
>  hw/xtensa/Kconfig     |   5 +++
>  scripts/minikconf.py  |  35 +++++++++++++--
>  63 files changed, 1336 insertions(+), 3 deletions(-)
>  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/alpha/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/cris/Kconfig
>  create mode 100644 hw/display/Kconfig
>  create mode 100644 hw/dma/Kconfig
>  create mode 100644 hw/gpio/Kconfig
>  create mode 100644 hw/hppa/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/moxie/Kconfig
>  create mode 100644 hw/net/Kconfig
>  create mode 100644 hw/nios2/Kconfig
>  create mode 100644 hw/nvram/Kconfig
>  create mode 100644 hw/openrisc/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/s390x/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/tricore/Kconfig
>  create mode 100644 hw/unicore32/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 0000000..ff5457d
> --- /dev/null
> +++ b/Kconfig.host
> @@ -0,0 +1,23 @@
> +# 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
> diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig
> new file mode 100644
> index 0000000..be8e5b3
> --- /dev/null
> +++ b/hw/9pfs/Kconfig
> @@ -0,0 +1,4 @@
> +config VIRTFS

Should be better to have "bool" here?

> +
> +config VIRTIO_9P
> +    bool
> diff --git a/hw/Kconfig b/hw/Kconfig
> new file mode 100644
> index 0000000..c4f1547
> --- /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 0000000..c485a34
> --- /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 0000000..25d2229
> --- /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 0000000..c5d0438
> --- /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 0000000..64cd698
> --- /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 EXYNOS4
> +    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 IOTKIT
> +    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
> diff --git a/hw/audio/Kconfig b/hw/audio/Kconfig
> new file mode 100644
> index 0000000..207baee
> --- /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 0000000..9d418bc
> --- /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 0000000..554a9ee
> --- /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 0000000..26c1324
> --- /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 0000000..c2a1ae8
> --- /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 0000000..1767d02
> --- /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 0000000..86954ab
> --- /dev/null
> +++ b/hw/cris/Kconfig
> @@ -0,0 +1,5 @@
> +config AXIS
> +    bool
> +
> +config ETRAXFS
> +   bool

Please, fix the indentation of "bool".

> diff --git a/hw/display/Kconfig b/hw/display/Kconfig
> new file mode 100644
> index 0000000..d5c022c
> --- /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 0000000..b9ce1c5
> --- /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 0000000..d0a4abf
> --- /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 0000000..5ce48ef
> --- /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 0000000..be724b7
> --- /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 0000000..d6d4402
> --- /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 0000000..c851e2b
> --- /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 0000000..5ec4495
> --- /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 0000000..91bae47
> --- /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 0000000..69adbd1
> --- /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 0000000..481e0d2
> --- /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 0000000..68f8ba1
> --- /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 0000000..b59d074
> --- /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 0000000..84c530e
> --- /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 0000000..cd66ada
> --- /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 0000000..a3a4372
> --- /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 0000000..44683b2
> --- /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 0000000..348c9bf
> --- /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 0000000..d512634
> --- /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 0000000..c6caeb6
> --- /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 0000000..03f62e3
> --- /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 0000000..d358b2c
> --- /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

Please, fix the indentation of "bool".

> +
> +config ETSEC
> +    bool
> +
> +config ROCKER
> +    bool
> +
> +config CAN_BUS
> +    bool
> +
> +config CAN_PCI
> +    bool
> +
> +config CAN_SJA1000
> +    bool

Thanks,
Stefano

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

* Re: [Qemu-devel] [PATCH 06/51] build: switch to Kconfig
  2019-02-21 15:44   ` Stefano Garzarella
@ 2019-02-21 17:59     ` Paolo Bonzini
  2019-02-21 20:15       ` Stefano Garzarella
  0 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-21 17:59 UTC (permalink / raw)
  To: Stefano Garzarella; +Cc: qemu-devel, Yang Zhong, thuth, philmd

On 21/02/19 16:44, Stefano Garzarella wrote:
>> +
> Hi Paolo,
> I'm playing with Kconfig but with a simple configuration
> (./configure --target-list=x86_64-softmmu --disable-docs) the build fails:
> /usr/bin/ld: ../hw/xen/xen-legacy-backend.o: in function `xen_be_register_common':
> /home/stefano/repos/qemu-kconfig/hw/xen/xen-legacy-backend.c:757: undefined reference to `xen_9pfs_ops'
> collect2: error: ld returned 1 exit status
> 
> Analyzing the Makefile.objs files maybe we should pass the CONFIG_VIRTFS from
> config-host.mak down to Kconfig.
> I tried this simple patch and it seems to fix the issue:
> 
> diff --git a/Makefile b/Makefile
> index df0732a050..bad583b01c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -336,6 +336,7 @@ MINIKCONF_ARGS = \
>      CONFIG_XEN=$(CONFIG_XEN) \
>      CONFIG_OPENGL=$(CONFIG_OPENGL) \
>      CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \
> +    CONFIG_VIRTFS=$(CONFIG_VIRTFS) \
>      CONFIG_LINUX=$(CONFIG_LINUX)
> 
> I'm not sure if we need to add "config VIRTFS" entry in the
> Kconfig.host, because it is already defined in hw/9pfs/Kconfig.

Yes, we should remove it from hw/9pfs/Kconfig too.  I had made this
exact change today in my branch. :)

Thanks!

Paolo

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

* Re: [Qemu-devel] [PATCH 06/51] build: switch to Kconfig
  2019-02-21 17:59     ` Paolo Bonzini
@ 2019-02-21 20:15       ` Stefano Garzarella
  0 siblings, 0 replies; 81+ messages in thread
From: Stefano Garzarella @ 2019-02-21 20:15 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Yang Zhong, philmd, qemu-devel, thuth

Il giorno gio 21 feb 2019 alle 19:00 Paolo Bonzini <pbonzini@redhat.com> ha
scritto:

> On 21/02/19 16:44, Stefano Garzarella wrote:
> >> +
> > Hi Paolo,
> > I'm playing with Kconfig but with a simple configuration
> > (./configure --target-list=x86_64-softmmu --disable-docs) the build
> fails:
> > /usr/bin/ld: ../hw/xen/xen-legacy-backend.o: in function
> `xen_be_register_common':
> > /home/stefano/repos/qemu-kconfig/hw/xen/xen-legacy-backend.c:757:
> undefined reference to `xen_9pfs_ops'
> > collect2: error: ld returned 1 exit status
> >
> > Analyzing the Makefile.objs files maybe we should pass the CONFIG_VIRTFS
> from
> > config-host.mak down to Kconfig.
> > I tried this simple patch and it seems to fix the issue:
> >
> > diff --git a/Makefile b/Makefile
> > index df0732a050..bad583b01c 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -336,6 +336,7 @@ MINIKCONF_ARGS = \
> >      CONFIG_XEN=$(CONFIG_XEN) \
> >      CONFIG_OPENGL=$(CONFIG_OPENGL) \
> >      CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \
> > +    CONFIG_VIRTFS=$(CONFIG_VIRTFS) \
> >      CONFIG_LINUX=$(CONFIG_LINUX)
> >
> > I'm not sure if we need to add "config VIRTFS" entry in the
> > Kconfig.host, because it is already defined in hw/9pfs/Kconfig.
>
> Yes, we should remove it from hw/9pfs/Kconfig too.  I had made this
> exact change today in my branch. :)
>
>
Great! :)

Thanks,
Stefano
-- 
Stefano Garzarella
Software Engineer @ Red Hat

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

* Re: [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig Paolo Bonzini
@ 2019-02-25  8:44   ` Stefano Garzarella
  2019-02-26 13:23     ` Paolo Bonzini
  2019-02-26 15:42   ` Thomas Huth
  1 sibling, 1 reply; 81+ messages in thread
From: Stefano Garzarella @ 2019-02-25  8:44 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Yang Zhong, thuth, philmd

On Thu, Feb 07, 2019 at 06:57:00PM +0100, Paolo Bonzini wrote:
> This way, the default-configs file only need to specify the boards
> and any optional devices.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> Message-Id: <20190123065618.3520-37-yang.zhong@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  default-configs/i386-softmmu.mak | 45 ++++++++----------------------------
>  hw/acpi/Kconfig                  |  3 +++
>  hw/i2c/Makefile.objs             |  2 +-
>  hw/i386/Kconfig                  | 50 ++++++++++++++++++++++++++++++++++++++++
>  hw/i386/Makefile.objs            |  5 ++--
>  hw/isa/Kconfig                   |  1 +
>  hw/pci-host/Kconfig              |  4 ++++
>  hw/tpm/Kconfig                   |  2 ++
>  8 files changed, 73 insertions(+), 39 deletions(-)
> 
> diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
> index 54b571f..ed234c1 100644
> --- a/default-configs/i386-softmmu.mak
> +++ b/default-configs/i386-softmmu.mak
> @@ -1,12 +1,6 @@
>  # Default configuration for i386-softmmu
>  
> -CONFIG_PCI=y
> -CONFIG_PCI_DEVICES=y
> -CONFIG_ISA_BUS=y
>  include hyperv.mak
> -CONFIG_TEST_DEVICES=y
> -CONFIG_VGA_ISA=y
> -CONFIG_VMWARE_VGA=y
>  CONFIG_VMXNET3_PCI=y
>  CONFIG_VIRTIO_VGA=y
>  CONFIG_IPMI=y
> @@ -14,49 +8,28 @@ CONFIG_IPMI_LOCAL=y
>  CONFIG_IPMI_EXTERN=y
>  CONFIG_ISA_IPMI_KCS=y
>  CONFIG_ISA_IPMI_BT=y
> -CONFIG_I8254=y
> -CONFIG_ACPI=y
> -CONFIG_ACPI_X86=y
> -CONFIG_ACPI_X86_ICH=y
> -CONFIG_ACPI_MEMORY_HOTPLUG=y
> -CONFIG_ACPI_CPU_HOTPLUG=y
> -CONFIG_APM=y
> -CONFIG_I8257=y
> -CONFIG_IDE_ISA=y
> -CONFIG_IDE_PIIX=y
> +
> +# Optional devices:
> +#
>  CONFIG_HPET=y
>  CONFIG_APPLESMC=y
> -CONFIG_I8259=y
>  CONFIG_PFLASH_CFI01=y
> -CONFIG_MC146818RTC=y
> -CONFIG_PCI_PIIX=y
>  CONFIG_ISA_DEBUG=y
>  CONFIG_ISA_TESTDEV=y
> -CONFIG_VMPORT=y
> +CONFIG_TEST_DEVICES=y
>  CONFIG_SGA=y
> -CONFIG_LPC_ICH9=y
> -CONFIG_PCI_EXPRESS=y
> -CONFIG_PCI_EXPRESS_Q35=y
> -CONFIG_APIC=y
> -CONFIG_IOAPIC=y
>  CONFIG_PVPANIC=y
>  CONFIG_MEM_DEVICE=y
> -CONFIG_DIMM=y
>  CONFIG_NVDIMM=y
>  CONFIG_ACPI_NVDIMM=y
> -CONFIG_XIO3130=y
> -CONFIG_IOH3420=y
> -CONFIG_I82801B11=y
> -CONFIG_SMBIOS=y
>  CONFIG_PXB=y
>  CONFIG_ACPI_VMGENID=y
> -CONFIG_ACPI_SMBUS=y
>  CONFIG_SMBUS_EEPROM=y
> -CONFIG_FW_CFG_DMA=y
>  CONFIG_I2C=y
> -CONFIG_VTD=y
> -CONFIG_AMD_IOMMU=y
> -CONFIG_PAM=y
> -CONFIG_PC=y
> +CONFIG_PCI_DEVICES=y
> +
> +# Boards:
> +#
> +CONFIG_ISAPC=y
>  CONFIG_I440FX=y
>  CONFIG_Q35=y
> diff --git a/hw/acpi/Kconfig b/hw/acpi/Kconfig
> index c485a34..035a28f 100644
> --- a/hw/acpi/Kconfig
> +++ b/hw/acpi/Kconfig
> @@ -3,15 +3,18 @@ config ACPI
>  
>  config ACPI_X86
>      bool
> +    select ACPI
>  
>  config ACPI_X86_ICH
>      bool
> +    select ACPI_X86
>  
>  config ACPI_CPU_HOTPLUG
>      bool
>  
>  config ACPI_MEMORY_HOTPLUG
>      bool
> +    select MEM_DEVICE
>  
>  config ACPI_NVDIMM
>      bool
> diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
> index cecee48..aaa3997 100644
> --- a/hw/i2c/Makefile.objs
> +++ b/hw/i2c/Makefile.objs
> @@ -2,7 +2,7 @@ common-obj-$(CONFIG_I2C) += core.o smbus.o
>  common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
>  common-obj-$(CONFIG_DDC) += i2c-ddc.o
>  common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
> -common-obj-$(CONFIG_ACPI_X86) += smbus_ich9.o
> +common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o
>  common-obj-$(CONFIG_ACPI_SMBUS) += pm_smbus.o
>  common-obj-$(CONFIG_BITBANG_I2C) += bitbang_i2c.o
>  common-obj-$(CONFIG_EXYNOS4) += exynos4210_i2c.o
> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> index 0f94ae1..daf2015 100644
> --- a/hw/i386/Kconfig
> +++ b/hw/i386/Kconfig
> @@ -7,16 +7,65 @@ config PC
>      imply QXL
>      imply SEV
>      imply TPM_TIS
> +    select I8259
> +    select I8254
> +    select PCSPK
> +    select I82374
> +    select I8257
> +    select MC146818RTC
> +
> +config PC_PCI
> +    bool
> +    select APIC
> +    select IOAPIC
> +    select APM
> +    select PC
> +
> +config PC_ACPI
> +    bool
> +    select ACPI_X86
> +    select ACPI_CPU_HOTPLUG
> +    select ACPI_MEMORY_HOTPLUG
> +    depends on ACPI_SMBUS
>  
>  config I440FX
>      bool
> +    select PC_PCI
> +    select PC_ACPI
> +    select ACPI_SMBUS
> +    select PCI_PIIX
> +    select FDC

Should we move "select FDC" under "config PC"?

I'm not able to build the Q35 machine without enable FDC, since some fdc
functions are used in hw/i386/pc.c (eg. isa_fdc_get_drive_type())

Thanks,
Stefano

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

* Re: [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig
  2019-02-25  8:44   ` Stefano Garzarella
@ 2019-02-26 13:23     ` Paolo Bonzini
  2019-02-26 13:44       ` Markus Armbruster
  0 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-26 13:23 UTC (permalink / raw)
  To: Stefano Garzarella; +Cc: qemu-devel, Yang Zhong, thuth, philmd

On 25/02/19 09:44, Stefano Garzarella wrote:
>>  config I440FX
>>      bool
>> +    select PC_PCI
>> +    select PC_ACPI
>> +    select ACPI_SMBUS
>> +    select PCI_PIIX
>> +    select FDC
> Should we move "select FDC" under "config PC"?
> 
> I'm not able to build the Q35 machine without enable FDC, since some fdc
> functions are used in hw/i386/pc.c (eg. isa_fdc_get_drive_type())

Yes, that's a good idea.  I mistakenly thought that Q35 could be built
without FDC.

Paolo

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

* Re: [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig
  2019-02-26 13:23     ` Paolo Bonzini
@ 2019-02-26 13:44       ` Markus Armbruster
  2019-02-26 15:25         ` Paolo Bonzini
  0 siblings, 1 reply; 81+ messages in thread
From: Markus Armbruster @ 2019-02-26 13:44 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Stefano Garzarella, Yang Zhong, thuth, philmd, qemu-devel

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 25/02/19 09:44, Stefano Garzarella wrote:
>>>  config I440FX
>>>      bool
>>> +    select PC_PCI
>>> +    select PC_ACPI
>>> +    select ACPI_SMBUS
>>> +    select PCI_PIIX
>>> +    select FDC
>> Should we move "select FDC" under "config PC"?
>> 
>> I'm not able to build the Q35 machine without enable FDC, since some fdc
>> functions are used in hw/i386/pc.c (eg. isa_fdc_get_drive_type())
>
> Yes, that's a good idea.  I mistakenly thought that Q35 could be built
> without FDC.

Could we add stubs to make it buildable that way?

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

* Re: [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig
  2019-02-26 13:44       ` Markus Armbruster
@ 2019-02-26 15:25         ` Paolo Bonzini
  2019-02-26 17:24           ` Markus Armbruster
  0 siblings, 1 reply; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-26 15:25 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Stefano Garzarella, Yang Zhong, thuth, philmd, qemu-devel

On 26/02/19 14:44, Markus Armbruster wrote:
> Paolo Bonzini <pbonzini@redhat.com> writes:
> 
>> On 25/02/19 09:44, Stefano Garzarella wrote:
>>>>  config I440FX
>>>>      bool
>>>> +    select PC_PCI
>>>> +    select PC_ACPI
>>>> +    select ACPI_SMBUS
>>>> +    select PCI_PIIX
>>>> +    select FDC
>>> Should we move "select FDC" under "config PC"?
>>>
>>> I'm not able to build the Q35 machine without enable FDC, since some fdc
>>> functions are used in hw/i386/pc.c (eg. isa_fdc_get_drive_type())
>>
>> Yes, that's a good idea.  I mistakenly thought that Q35 could be built
>> without FDC.
> 
> Could we add stubs to make it buildable that way?

Of course I'm ecstatic that one benefit of Kconfig (finding suboptimal
dependencies) is already being realized _before_ it lands, but not now.
 However, those kind of cleanups can wait for 4.1. :)

Note that we're doing the most important cleanups (e.g. not having to
bring PCI into boards that don't need it), but overall this series will
be about 120 patches and it's already a half miracle that everything was
done in <2 months and it will be already in 4.0.

Paolo

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

* Re: [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig Paolo Bonzini
  2019-02-25  8:44   ` Stefano Garzarella
@ 2019-02-26 15:42   ` Thomas Huth
  1 sibling, 0 replies; 81+ messages in thread
From: Thomas Huth @ 2019-02-26 15:42 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: philmd, Yang Zhong, Stefano Garzarella

On 07/02/2019 18.57, Paolo Bonzini wrote:
> This way, the default-configs file only need to specify the boards
> and any optional devices.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> Message-Id: <20190123065618.3520-37-yang.zhong@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[...]
> ---
> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> index 0f94ae1..daf2015 100644
> --- a/hw/i386/Kconfig
> +++ b/hw/i386/Kconfig
> @@ -7,16 +7,65 @@ config PC
>      imply QXL
>      imply SEV
>      imply TPM_TIS
> +    select I8259
> +    select I8254
> +    select PCSPK
> +    select I82374
> +    select I8257
> +    select MC146818RTC
> +
> +config PC_PCI
> +    bool
> +    select APIC
> +    select IOAPIC
> +    select APM
> +    select PC
> +
> +config PC_ACPI
> +    bool
> +    select ACPI_X86
> +    select ACPI_CPU_HOTPLUG
> +    select ACPI_MEMORY_HOTPLUG
> +    depends on ACPI_SMBUS
>  
>  config I440FX
>      bool
> +    select PC_PCI
> +    select PC_ACPI
> +    select ACPI_SMBUS
> +    select PCI_PIIX
> +    select FDC
> +    select IDE_PIIX
> +    select DIMM
> +    select SMBIOS
> +    select VMPORT
> +    select VMMOUSE
> +    select FW_CFG_DMA

Just a thought: Should we also "imply E1000_PCI" here to indicate the
default NIC?

>  config ISAPC
>      bool
>      select ISA_BUS
> +    select PC
> +    select IDE_ISA
> +    select VGA_ISA

ISAPC seems also to work without a vga card when you specify
-nodefaults, so I think this should be "imply VGA_ISA" instead.

Maybe also "imply NE2000_ISA" for the default NIC?

> +    # FIXME: it is in the same file as i440fx, and does not compile
> +    # if separated
> +    depends on I440FX
>  
>  config Q35
>      bool
> +    imply VTD
> +    imply AMD_IOMMU
> +    select PC_PCI
> +    select PC_ACPI
> +    select PCI_EXPRESS_Q35
> +    select LPC_ICH9
> +    select AHCI
> +    select DIMM
> +    select SMBIOS
> +    select VMPORT
> +    select VMMOUSE
> +    select FW_CFG_DMA

Maybe add "imply E1000E_PCI_EXPRESS" for the default NIC?

 Thomas

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

* Re: [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig
  2019-02-26 15:25         ` Paolo Bonzini
@ 2019-02-26 17:24           ` Markus Armbruster
  0 siblings, 0 replies; 81+ messages in thread
From: Markus Armbruster @ 2019-02-26 17:24 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Yang Zhong, thuth, philmd, qemu-devel, Stefano Garzarella

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 26/02/19 14:44, Markus Armbruster wrote:
>> Paolo Bonzini <pbonzini@redhat.com> writes:
>> 
>>> On 25/02/19 09:44, Stefano Garzarella wrote:
>>>>>  config I440FX
>>>>>      bool
>>>>> +    select PC_PCI
>>>>> +    select PC_ACPI
>>>>> +    select ACPI_SMBUS
>>>>> +    select PCI_PIIX
>>>>> +    select FDC
>>>> Should we move "select FDC" under "config PC"?
>>>>
>>>> I'm not able to build the Q35 machine without enable FDC, since some fdc
>>>> functions are used in hw/i386/pc.c (eg. isa_fdc_get_drive_type())
>>>
>>> Yes, that's a good idea.  I mistakenly thought that Q35 could be built
>>> without FDC.
>> 
>> Could we add stubs to make it buildable that way?
>
> Of course I'm ecstatic that one benefit of Kconfig (finding suboptimal
> dependencies) is already being realized _before_ it lands, but not now.
>  However, those kind of cleanups can wait for 4.1. :)

Absolutely.

> Note that we're doing the most important cleanups (e.g. not having to
> bring PCI into boards that don't need it), but overall this series will
> be about 120 patches and it's already a half miracle that everything was
> done in <2 months and it will be already in 4.0.

Congrats!

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

* Re: [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
  2019-02-07 17:57 ` [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig Paolo Bonzini
@ 2019-02-28 10:44   ` Paolo Bonzini
  0 siblings, 0 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-28 10:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd

On 07/02/19 18:57, Paolo Bonzini wrote:
> diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
> index d642b67..cca5266 100644
> --- a/default-configs/ppc64-softmmu.mak
> +++ b/default-configs/ppc64-softmmu.mak
> @@ -5,11 +5,6 @@ include ppc-softmmu.mak
>  
>  # For PowerNV
>  CONFIG_POWERNV=y
> -CONFIG_ISA_IPMI_BT=y
>  
>  # For pSeries
>  CONFIG_PSERIES=y
> -CONFIG_VIRTIO_VGA=y
> -CONFIG_MEM_DEVICE=y
> -CONFIG_DIMM=y
> -CONFIG_SPAPR_RNG=y
> diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
> index 6eea14e..de10a6b 100644
> --- a/hw/intc/Kconfig
> +++ b/hw/intc/Kconfig
> @@ -31,13 +31,11 @@ config OPENPIC_KVM
>  
>  config XICS
>      bool
> -    default y
> -    depends on PSERIES
> +    depends on POWERNV || PSERIES
>  
>  config XICS_SPAPR
>      bool
> -    default y
> -    depends on PSERIES
> +    select XICS
>  
>  config XICS_KVM
>      bool
> diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
> index d1e635c..620fd4c 100644
> --- a/hw/mem/Kconfig
> +++ b/hw/mem/Kconfig
> @@ -1,5 +1,6 @@
>  config DIMM
>      bool
> +    select MEM_DEVICE
>  
>  config MEM_DEVICE
>      bool
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index fb085d7..be6440e 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -1,11 +1,29 @@
>  config PSERIES
>      bool
> +    imply PCI_DEVICES
> +    imply TEST_DEVICES
> +    select DIMM
> +    select PCI
> +    select VFIO

I'm changing this to "select VFIO if LINUX" to fix non-Linux compilation.

Paolo

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

end of thread, other threads:[~2019-02-28 10:44 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 01/51] minikconfig: add parser skeleton Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 02/51] minikconfig: add AST Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 03/51] minikconfig: add semantic analysis Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 04/51] hw/display: make edid configurable Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
2019-02-07 18:35   ` Thomas Huth
2019-02-20 15:42   ` Thomas Huth
2019-02-20 15:46     ` Paolo Bonzini
2019-02-20 16:55   ` Max Filippov
2019-02-20 17:44     ` Paolo Bonzini
2019-02-21 15:58   ` Stefano Garzarella
2019-02-07 17:56 ` [Qemu-devel] [PATCH 06/51] build: switch to Kconfig Paolo Bonzini
2019-02-21 15:44   ` Stefano Garzarella
2019-02-21 17:59     ` Paolo Bonzini
2019-02-21 20:15       ` Stefano Garzarella
2019-02-07 17:56 ` [Qemu-devel] [PATCH 07/51] minikconfig: implement allnoconfig and defconfig modes Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 08/51] kconfig: introduce CONFIG_TEST_DEVICES Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 09/51] ide: express dependencies with Kconfig Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 10/51] hw/pci/Makefile.objs: make pcie configurable Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 11/51] build: convert pci.mak to Kconfig Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 12/51] build: convert sound.mak " Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 13/51] build: convert usb.mak " Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 14/51] block: fix recursion in hw/block/dataplane Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 15/51] scsi: express dependencies with Kconfig Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 16/51] isa: express dependencies with kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig Paolo Bonzini
2019-02-25  8:44   ` Stefano Garzarella
2019-02-26 13:23     ` Paolo Bonzini
2019-02-26 13:44       ` Markus Armbruster
2019-02-26 15:25         ` Paolo Bonzini
2019-02-26 17:24           ` Markus Armbruster
2019-02-26 15:42   ` Thomas Huth
2019-02-07 17:57 ` [Qemu-devel] [PATCH 18/51] i2c: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 19/51] ptimer: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 20/51] display: express dependencies with kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 21/51] hyperv: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 22/51] vfio: express vfio dependencies with Kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 23/51] virtio: express virtio " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 24/51] tpm: express " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 25/51] isa: express SuperIO " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 26/51] ssi: express dependencies with kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 27/51] sd: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 28/51] ipmi: " Paolo Bonzini
2019-02-20 14:06   ` Corey Minyard
2019-02-07 17:57 ` [Qemu-devel] [PATCH 29/51] i386-softmmu.mak: remove all CONFIG_* except boards definitions Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig Paolo Bonzini
2019-02-28 10:44   ` Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 31/51] ppc: Express dependencies of the 'prep' and '40p' " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 32/51] ppc: Express dependencies of the Mac " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX " Paolo Bonzini
2019-02-07 23:16   ` BALATON Zoltan
2019-02-08  4:30     ` Thomas Huth
2019-02-07 17:57 ` [Qemu-devel] [PATCH 34/51] ppc: Express dependencies of the embedded " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 35/51] alpha-softmmu.mak: express dependencies with Kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 36/51] cris-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 37/51] hppa-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 38/51] lm32-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 39/51] m68k-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 40/51] microblaze-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 41/51] moxie-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 42/51] nios2-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 43/51] or1k-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 44/51] s390x: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 45/51] sh4-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: " Paolo Bonzini
2019-02-08 17:33   ` Mark Cave-Ayland
2019-02-08 17:40     ` Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 47/51] sparc64-softmmu.mak: " Paolo Bonzini
2019-02-08 17:35   ` Mark Cave-Ayland
2019-02-07 17:57 ` [Qemu-devel] [PATCH 48/51] unicore32-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 49/51] xtensa-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 50/51] .travis.yml: test that no-default-device builds do not regress Paolo Bonzini
2019-02-07 18:26   ` Thomas Huth
2019-02-07 17:57 ` [Qemu-devel] [PATCH 51/51] FIXME vhost: add more stubs Paolo Bonzini
2019-02-07 18:52 ` [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU no-reply
2019-02-07 18:56 ` no-reply
2019-02-07 19:37 ` Michael S. Tsirkin
2019-02-07 19:47 ` no-reply
2019-02-07 19:50 ` no-reply
2019-02-08  0:14 ` no-reply

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.