On Tue, May 23, 2023 at 03:31:17PM +0200, Kashyap Chamarthy wrote: [I missed to include version history under "---"; now done]
> Commit 812b31d3f9 (configs: rename default-configs to configs and > reorganise, 2021-07-07) did the rename. > > Reflect that update also in the documentation. > > Signed-off-by: Kashyap Chamarthy <kcham...@redhat.com> In v2: - Address Lei Wang's feedback from v1: https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg02988.html (I'd appreciate a closer look at the edits in docs/devel/kconfig.rst, to make sure I'm referring to the correct subdirectory where appropriate: configs/devices/ vs. configs/targets/. I read through the surrounding text to make the choice, but a second look would be helpful.) > docs/devel/build-system.rst | 12 +++++------ > docs/devel/kconfig.rst | 40 ++++++++++++++++++++----------------- > 2 files changed, 28 insertions(+), 24 deletions(-) > > diff --git a/docs/devel/build-system.rst b/docs/devel/build-system.rst > index 1894721743..20ebcc9ac6 100644 > --- a/docs/devel/build-system.rst > +++ b/docs/devel/build-system.rst > @@ -193,7 +193,7 @@ Target-dependent emulator sourcesets: > Each emulator also includes sources for files in the ``hw/`` and > ``target/`` > subdirectories. The subdirectory used for each emulator comes > from the target's definition of ``TARGET_BASE_ARCH`` or (if missing) > - ``TARGET_ARCH``, as found in ``default-configs/targets/*.mak``. > + ``TARGET_ARCH``, as found in ``configs/targets/*.mak``. > > Each subdirectory in ``hw/`` adds one sourceset to the ``hw_arch`` > dictionary, > for example:: > @@ -250,8 +250,8 @@ Utility sourcesets: > The following files concur in the definition of which files are linked > into each emulator: > > -``default-configs/devices/*.mak`` > - The files under ``default-configs/devices/`` control the boards and devices > +``configs/devices/*.mak`` > + The files under ``configs/devices/`` control the boards and devices > that are built into each QEMU system emulation targets. They merely contain > a list of config variable definitions such as:: > > @@ -260,11 +260,11 @@ into each emulator: > CONFIG_XLNX_VERSAL=y > > ``*/Kconfig`` > - These files are processed together with ``default-configs/devices/*.mak`` > and > + These files are processed together with ``configs/devices/*.mak`` and > describe the dependencies between various features, subsystems and > device models. They are described in :ref:`kconfig` > > -``default-configs/targets/*.mak`` > +``configs/targets/*.mak`` > These files mostly define symbols that appear in the ``*-config-target.h`` > file for each emulator [#cfgtarget]_. However, the ``TARGET_ARCH`` > and ``TARGET_BASE_ARCH`` will also be used to select the ``hw/`` and > @@ -457,7 +457,7 @@ Built by Meson: > TARGET-NAME is again the name of a system or userspace emulator. The > config-devices.mak file is automatically generated by make using the > scripts/make_device_config.sh program, feeding it the > - default-configs/$TARGET-NAME file as input. > + configs/$TARGET-NAME file as input. > > ``config-host.h``, ``$TARGET_NAME-config-target.h``, > ``$TARGET_NAME-config-devices.h`` > These files are used by source code to determine what features are > diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst > index e3a544e463..73118e5106 100644 > --- a/docs/devel/kconfig.rst > +++ b/docs/devel/kconfig.rst > @@ -38,11 +38,11 @@ originated in the Linux kernel, though it was heavily > simplified and > the handling of dependencies is stricter in QEMU. > > Unlike Linux, there is no user interface to edit the configuration, which > -is instead specified in per-target files under the ``default-configs/`` > +is instead specified in per-target files under the ``configs/target/`` > directory of the QEMU source tree. This is because, unlike Linux, > -configuration and dependencies can be treated as a black box when building > -QEMU; the default configuration that QEMU ships with should be okay in > -almost all cases. > +configuration and dependencies can be treated as a black box when > +building QEMU; the default configuration that QEMU ships with should be > +okay in almost all cases. > > The Kconfig language > -------------------- > @@ -103,11 +103,12 @@ directives can be included: > **default value**: ``default <value> [if <expr>]`` > > Default values are assigned to the config symbol if no other value was > - set by the user via ``default-configs/*.mak`` files, and only if > - ``select`` or ``depends on`` directives do not force the value to true > - or false respectively. ``<value>`` can be ``y`` or ``n``; it cannot > - be an arbitrary Boolean expression. However, a condition for applying > - the default value can be added with ``if``. > + set by the user via > + ``configs/devices/TARGETNAME-softmmu/*.mak`` files, and only > + if ``select`` or ``depends on`` directives do not force the value to > + true or false respectively. ``<value>`` can be ``y`` or ``n``; it > + cannot be an arbitrary Boolean expression. However, a condition for > + applying the default value can be added with ``if``. > > A configuration element can have any number of default values (usually, > if more than one default is present, they will have different > @@ -119,8 +120,8 @@ directives can be included: > This is similar to ``select`` as it applies a lower limit of ``y`` > to another symbol. However, the lower limit is only a default > and the "implied" symbol's value may still be set to ``n`` from a > - ``default-configs/*.mak`` files. The following two examples are > - equivalent:: > + ``configs/devices/TARGETNAME-softmmu/*.mak`` files. The following > + two examples are equivalent:: > > config FOO > bool > @@ -146,8 +147,9 @@ declares its dependencies in different ways: > bool > > Subsystems always default to false (they have no ``default`` directive) > - and are never visible in ``default-configs/*.mak`` files. It's > - up to other symbols to ``select`` whatever subsystems they require. > + and are never visible in ``configs/devices/TARGETNAME-softmmu/*.mak`` > + files. It's up to other symbols to ``select`` whatever subsystems > + they require. > > They sometimes have ``select`` directives to bring in other required > subsystems or buses. For example, ``AUX`` (the DisplayPort auxiliary > @@ -229,7 +231,8 @@ declares its dependencies in different ways: > cannot be started at all without it. It should be listed under > ``imply`` if (depending on the QEMU command line) the board may or > may not be started without it. Boards also default to false; they are > - enabled by the ``default-configs/*.mak`` for the target they apply to. > + enabled by the ``configs/targets/TARGETNAME-softmmu/*.mak`` for the > + target they apply to. > > **internal elements** > > @@ -241,18 +244,19 @@ declares its dependencies in different ways: > > Internal elements group code that is useful in several boards or > devices. They are usually enabled with ``select`` and in turn select > - other elements; they are never visible in ``default-configs/*.mak`` > - files, and often not even in the Makefile. > + other elements; they are never visible in > + ``configs/devices/TARGETNAME-softmmu/*.mak`` files, and often not even > + in the Makefile. > > Writing and modifying default configurations > -------------------------------------------- > > In addition to the Kconfig files under hw/, each target also includes > -a file called ``default-configs/TARGETNAME-softmmu.mak``. These files > +a file called ``configs/devices/TARGETNAME-softmmu.mak``. These files > initialize some Kconfig variables to non-default values and provide the > starting point to turn on devices and subsystems. > > -A file in ``default-configs/`` looks like the following example:: > +A file in ``configs/devices/`` looks like the following example:: > > # Default configuration for alpha-softmmu > > -- > 2.40.1 > -- /kashyap