qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] docs: build-system: rename "default-configs" to "configs"


From: Kashyap Chamarthy
Subject: Re: [PATCH v2] docs: build-system: rename "default-configs" to "configs"
Date: Tue, 23 May 2023 15:45:52 +0200

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 <kchamart@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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]