Pull request doc-2026-04-rc2

Documentation:

* describe QEMU VGA emulation
* development process
  - Move the existing block about patch application
  - Rework the custodian feedback section
  - Explain when/how Custodians may edit patches
  - Move Custodians section
  - Make "Work flow of a Custodian" a subsection
  - Document using b4 and patchwork for custodians
* develop: codingstyle: Update b4 external link
* develop: sending_patches: Update link to patchwork
This commit is contained in:
Tom Rini
2026-01-28 17:04:34 -06:00
5 changed files with 143 additions and 35 deletions

View File

@@ -9,6 +9,7 @@ Emulation
acpi
blkdev
network
video
qemu-arm
qemu-mips
qemu-ppce500

View File

@@ -0,0 +1,63 @@
.. SPDX-License-Identifier: GPL-2.0-or-later
Emulation of a graphics adapter
===============================
Currently QEMU's ``bochs-display`` is the only emulated GPU that U-Boot's
generic QEMU defconfigs support. It emulates a PCIe-connected graphics card
with VESA 2.0 VBE extensions.
The following parameters can be specified:
edid
controls whether EDID information is available. Allowable values are
``off`` and ``on``. The default is ``on``.
vgamem
specifies the display memory size. The default value is 16 MiB.
For UHD resolution 32 MiB is required.
The following configuration parameters are relevant:
CONFIG_VIDEO_BOCHS
enable support for the Bochs GPU.
CONFIG_VIDEO_BOCHS_SIZE_X
defines the display width.
CONFIG_VIDEO_BOCHS_SIZE_Y
defines the display height.
CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE
sets the framebuffer size that QEMU can use for a device driver that is
enabled after relocation. This should be chosen as
.. code-block::
CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE >=
4 * CONFIG_VIDEO_BOCHS_SIZE_X * CONFIG_VIDEO_BOCHS_SIZE_Y
Here is an example QEMU invocation for qemu-riscv64_smode_defconfig:
.. code-block:: bash
qemu-system-riscv64 \
-M virt \
-device bochs-display,vgamem=33554432 \
-serial mon:stdio \
-device qemu-xhci \
-device usb-kbd \
-kernel u-boot
``mon:stdio`` provides a serial console, ``qemu-xhci`` a USB root hub,
``usb-kbd`` a USB keyboard.
To start QEMU without GPU emulation, use parameter ``-nographic``, as shown in
the following example:
.. code-block:: bash
qemu-system-riscv64 \
-M virt \
-nographic \
-kernel u-boot

View File

@@ -24,7 +24,9 @@ The following rules apply:
<https://peps.python.org/pep-0008/>`_. Use `pylint
<https://github.com/pylint-dev/pylint>`_ for checking the code.
* Use the `b4 <https://git.kernel.org/pub/scm/utils/b4/b4.git/>`_ tool to prepare and
.. _b4_contrib:
* Use the `b4 <https://b4.docs.kernel.org/en/latest/>`__ tool to prepare and
send your patches. b4 has become the preferred tool to sending patches for many
Linux kernel contributors, and U-Boot ships with a ready-to-use ``.b4-config`` that
targets ``u-boot@lists.denx.de`` and integrates with ``scripts/get_maintainer.pl`` for

View File

@@ -120,29 +120,6 @@ these can be "cherry-picked" and are subject to the normal merge rules. For
example, a bug fix can come in later in the window but a full re-sync only
happens within the merge window itself.
.. _custodians:
Custodians
----------
The Custodians take responsibility for some area of the U-Boot code. The
in-tree ``MAINTAINERS`` files list who is responsible for which areas.
It is their responsibility to pick up patches from the mailing list
that fall into their responsibility, and to process these.
A very important responsibility of each custodian is to provide
feedback to the submitter of a patch about what is going on: if the
patch was accepted, or if it was rejected (which exact list of
reasons), if it needs to be reworked (with respective review
comments). Even a "I have no time now, will look into it later"
message is better than nothing. Also, if there are remarks to a
patch, these should leave no doubt if they were just comments and the
patch will be accepted anyway, or if the patch should be
reworked/resubmitted, or if it was rejected. However, if a submitter
feels it has been too long since posting their patch and not received
any feedback, it is OK to follow-up and ask.
Review Process, Git Tags
------------------------
@@ -214,8 +191,78 @@ document.
For example, when your change affects a specific board or driver, then makes
a lot of sense to put the respective maintainer of this code on Cc:
.. _custodians:
Custodians
----------
The Custodians take responsibility for some area of the U-Boot code. The
in-tree ``MAINTAINERS`` files list who is responsible for which areas.
It is their responsibility to pick up patches from the mailing list
that fall into their responsibility, and to process these.
A very important responsibility of each custodian is to provide
feedback to the submitter of a patch about what is going on:
* If the patch was accepted, or if it was rejected (with exact list
of reasons), if it needs to be reworked (with respective review
comments). Even a "I have no time now, will look into it later"
message is better than nothing. Also, if there are remarks to a
patch, these should leave no doubt if they were just comments and
the patch will be accepted anyway, or if the patch should be
reworked/resubmitted, or if it was rejected. However, if a submitter
feels it has been too long since posting their patch and not
received any feedback, it is OK to follow-up and ask.
* A custodian may make changes suggested by :doc:`checkpatch.pl
<checkpatch>`. They must also in turn amend the commit message noting
their change, for example ``[trini: Fix typos]``, and add their own
:ref:`Signed-off-by <dco>` tag. All other changes must be handled by
another iteration of the patch, or follow-up patch.
* If the patch itself can still be applied to the tree. The custodian
is expected to put in a "best effort" if a patch does not apply
cleanly, but can be made to apply still. It is up to the custodian
to decide how recent of a commit the patch must be against. It is
acceptable to request patches against the last officially released
version of U-Boot or newer. Of course a custodian can also accept
patches against older code. It can be difficult to find the correct
balance between putting too much work on the custodian or too much
work on an individual submitting a patch when something does not
apply cleanly.
Tooling
^^^^^^^
There are a number of tools available to help custodians and
contributors alike with their contributions. As a project we make use of
the Patchwork project hosted at `OzLabs <http://patchwork.ozlabs.org/>`__
and more discussion on how it is used from both a contributor as well as
custodian point of view can be found :ref:`here <patchwork>`.
Another useful tool is `b4 <https://b4.docs.kernel.org/en/latest/>`__
and is documented from a contributor point of view :ref:`here
<b4_contrib>`. It also has a number of useful features from a custodian
point of view:
* `Integration with patchwork
<https://b4.docs.kernel.org/en/latest/config.html#patchwork-integration-settings>`__
which allows for automatic state tracking.
* `"am" and "shazam"
<https://b4.docs.kernel.org/en/latest/maintainer/am-shazam.html>`__
for applying a patch or series of patches. Of note is that with
``shazam`` review tags can be applied automatically and cover letters
can be integrated as part of merging a series.
* `"ty" <https://b4.docs.kernel.org/en/latest/maintainer/ty.html>`__ for
automatically sending emails once patches have been applied. It is
strongly encouraged to keep the default ``${summary}`` in the template
as that shows what the git commit hash is for a particular patch.
Work flow of a Custodian
------------------------
^^^^^^^^^^^^^^^^^^^^^^^^
The normal flow of work in the U-Boot development process will look
like this:
@@ -236,15 +283,8 @@ like this:
#. U-Boot Philosophy, as documented in :doc:`designprinciples`.
#. Applies cleanly to the source tree. The custodian is expected to put in
a "best effort" if a patch does not apply cleanly, but can be made to apply
still. It is up to the custodian to decide how recent of a commit the
patch must be against. It is acceptable to request patches against the
last officially released version of U-Boot or newer. Of course a
custodian can also accept patches against older code. It can be
difficult to find the correct balance between putting too much work on
the custodian or too much work on an individual submitting a patch when
something does not apply cleanly.
#. Can be applied easily to the source tree, as documented in the
:ref:`custodians` section.
#. Passes :doc:`ci_testing` as this checks for new warnings and other issues.

View File

@@ -322,10 +322,12 @@ Notes
the memory footprint of the code. Remember: Small is beautiful! When adding
new features follow the guidelines laid out in :doc:`system_configuration`.
.. _patchwork:
Patch Tracking
--------------
Like some other projects, U-Boot uses `Patchwork <http://patchwork.ozlabs.org/>`_
Like some other projects, U-Boot uses `Patchwork <http://patchwork.ozlabs.org/>`__
to track the state of patches. This is one of the reasons why it is mandatory
to submit all patches to the U-Boot mailing list - only then they will be
picked up by patchwork.