Heinrich Schuchardt [Sun, 14 Jul 2019 09:30:23 +0000 (11:30 +0200)]
scripts/kernel-doc: fix parsing of function pointers
kernel-doc fails to parse function definitions like the one below
efi_status_t efi_create_event(uint32_t type, efi_uintn_t notify_tpl,
void (EFIAPI *notify_function) (
struct efi_event *event,
void *context),
void *notify_context, efi_guid_t *group,
struct efi_event **event)
{
due to the "EFIAPI" attribute preceding the function name.
cf. https://lkml.org/lkml/2018/9/3/1185
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sun, 14 Jul 2019 09:30:22 +0000 (11:30 +0200)]
scripts/kernel-doc: update script from Linux 5.2
Update the script from Linux 5.2 to avoid some warnings.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Jonathan Corbet [Sun, 14 Jul 2019 08:35:45 +0000 (10:35 +0200)]
doc: Cope with Sphinx logging deprecations
Recent versions of sphinx will emit messages like:
doc/sphinx/kerneldoc.py:103:
RemovedInSphinx20Warning: app.warning() is now deprecated.
Use sphinx.util.logging instead.
Switch to sphinx.util.logging to make this unsightly message go away.
Alas, that interface was only added in version 1.6, so we have to add a
version check to keep things working with older sphinxes.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Rebased for U-Boot
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Ruslan Trofymenko [Fri, 5 Jul 2019 12:37:36 +0000 (15:37 +0300)]
env: am57xx: Implement A/B boot process
Add support for A/B boot process on AM57xx based boards:
1. Define 'slot_suffix' variable (using 'ab_select' command)
2. Extend 'emmc_android_boot' boot command (add commands for A/B boot
process)
'ab_select' command is used to decide which slot should be used for
booting up. A/B metadata resides in 'misc' partition.
To activate the A/B boot process, the following config options must be
set:
CONFIG_ANDROID_AB=y
CONFIG_CMD_AB_SELECT=y
For successful A/B boot, the corresponding A/B infrastructure must be
involved on Android side [1] (including mounting system as root), and
disk must be partitioned accordingly.
When A/B boot is enabled, there are some known limitations currently
exist (not related to A/B patches, need to be implemented later):
1. The 'Verified Boot' sequence is not supported
2. dev path to system partition (system_a or system_b) is passed via
'bootargs' as 'root=' argument like 'root=/dev/mmcblk1p12', but
further we'll need to rework it with respect to dm-verity
requirements [2]
In case when A/B partitions are not present in system (and A/B boot is
enabled), boot up process will be terminated and next message will be
shown:
"boot_a(b) partition not found"
[1] https://source.android.com/devices/tech/ota/ab
[2] https://source.android.com/devices/tech/ota/ab/ab_implement#kernel
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Alistair Strachan <astrachan@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Ruslan Trofymenko [Fri, 5 Jul 2019 12:37:35 +0000 (15:37 +0300)]
doc: android: Add simple guide for A/B updates
Add a short documentation for A/B enablement and 'ab_select' command
usage.
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Alistair Strachan <astrachan@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Ruslan Trofymenko [Fri, 5 Jul 2019 12:37:34 +0000 (15:37 +0300)]
test/py: Add base test case for A/B updates
Add sandbox test for 'ab_select' command.
Test: ./test/py/test.py --bd sandbox --build -k test_ab
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Alistair Strachan <astrachan@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Ruslan Trofymenko [Fri, 5 Jul 2019 12:37:33 +0000 (15:37 +0300)]
cmd: Add 'ab_select' command
For A/B system update support the Android boot process requires to send
'androidboot.slot_suffix' parameter as a command line argument. This
patch implementes 'ab_select' command which allows us to obtain current
slot by processing the A/B metadata.
The patch was extracted from commit [1] with one modification: the
separator for specifying the name of metadata partition was changed
from ';' to '#', because ';' is used for commands separation.
[1] https://android-review.googlesource.com/c/platform/external/u-boot/+/729880/2
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Alistair Strachan <astrachan@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Ruslan Trofymenko [Fri, 5 Jul 2019 12:37:32 +0000 (15:37 +0300)]
common: Implement A/B metadata
This patch determines the A/B-specific bootloader message structure
that is the basis for implementation of recovery and A/B update
functions. A/B metadata is stored in this structure and used to decide
which slot should we use to boot the device. Also some basic functions
for A/B metadata manipulation are implemented (like slot selection).
The patch was extracted from commits [1], [2] with some coding style
fixes.
[1] https://android-review.googlesource.com/c/platform/external/u-boot/+/729878/2
[2] https://android-review.googlesource.com/c/platform/external/u-boot/+/729880/2
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Ruslan Trofymenko [Fri, 5 Jul 2019 12:37:31 +0000 (15:37 +0300)]
disk: part: Extend API to get partition info
This patch adds part_get_info_by_dev_and_name_or_num() function which
allows us to get partition info from its number or name. Partition of
interest is specified by string like "device_num:partition_number" or
"device_num#partition_name".
The patch was extracted from [1].
[1] https://android-review.googlesource.com/c/platform/external/u-boot/+/729880/2
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Alistair Strachan <astrachan@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Eugeniu Rosca [Fri, 19 Jul 2019 21:26:14 +0000 (23:26 +0200)]
cmd: bcb: Apply non-functional refinements
These have been reported by Simon in [1] and fixed in [2].
However, since [1] has already been pushed to u-boot/master, the
improvements incorporated in [2] are now extracted and resubmitted.
The changes are in the area of coding style and best practices:
* s/field/fieldp/, s/size/sizep/, to convey that the variables return
an output to the caller
* s/err_1/err_read_fail/, s/err_2/err_too_small/, to be more descriptive
* Made sure 'static int do_bcb_load' appears on the same line
* Placed a `/*` on top of multi-line comment
[1] https://patchwork.ozlabs.org/patch/1104244/#2200259
[2] https://patchwork.ozlabs.org/cover/1128661/
("[v4,0/4] Add 'bcb' command to read/modify/write Android BCB")
Fixes:
db7b7a05b267 ("cmd: Add 'bcb' command to read/modify/write BCB fields")
Reported-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Eugeniu Rosca [Fri, 19 Jul 2019 21:26:13 +0000 (23:26 +0200)]
cmd: bcb: Use strcmp() instead of strncmp() for string literals
Quote from https://patchwork.ozlabs.org/patch/1104244/#2210814:
----------8<-----------
strncmp() is chosen for the sake of paranoid/defensive programming.
Indeed, strncmp() is not really needed when comparing a variable
with a string literal. We expect strcmp() to behave safely even if the
string variable is not NUL-terminated.
In the same scenario, Linux v5.2-rc7 uses both strcmp() and strncmp(),
but the frequency of strcmp() is higher:
$ git --version
git version 2.22.0
$ (Linux 5.2-rc7) git grep -En 'strncmp\([^"]*"[[:alnum:]]+"' | wc -l
1066
$ (Linux 5.2-rc7) git grep -En 'strcmp\([^"]*"[[:alnum:]]+"' | wc -l
1968
A quick "strcmp vs strncmp" object size test shows that strcmp()
generates smaller memory footprint (gcc-8, x86_64):
$ (U-Boot) size cmd/bcb-strncmp.o cmd/bcb-strcmp.o
text data bss dec hex filename
3373 400 2048 5821 16bd cmd/bcb-strncmp.o
3314 400 2048 5762 1682 cmd/bcb-strcmp.o
So, overall, I agree to use strcmp() whenever variables are compared
with string literals.
----------8<-----------
Fixes:
db7b7a05b267 ("cmd: Add 'bcb' command to read/modify/write BCB fields")
Reported-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Eugeniu Rosca [Fri, 19 Jul 2019 21:26:12 +0000 (23:26 +0200)]
cmd: bcb: Fix duplicated handling in two case-branches
Fix warning V1037 reported by PVS-Studio Static Analyzer:
Two or more case-branches perform the same actions. Check lines: 49, 53
Fixes:
db7b7a05b267 ("cmd: Add 'bcb' command to read/modify/write BCB fields")
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Eugeniu Rosca [Fri, 19 Jul 2019 21:26:11 +0000 (23:26 +0200)]
treewide: Fix stale references of Android docs
Commit
9bdf0e8fef86 ("doc: relocate/rename Android README and add BCB
overview") left some obsolete references of Android documents/paths.
This has been pointed out by Sam (thanks!) in:
https://patchwork.ozlabs.org/patch/1104245/#2208134
Fixes:
9bdf0e8fef86 ("doc: relocate/rename Android README and add BCB overview")
Reported-by: Sam Protsenko <semen.protsenko@linaro.org>
Suggested-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Roman Stratiienko [Mon, 3 Jun 2019 12:38:13 +0000 (15:38 +0300)]
image: android: allow to wrap uImage into the Android boot image
This allows to use any available compression format with Android boot image
Since not all available compression formats have a magic number we should
explicitly specify type of compression.
For this purpose using uImage format becomes very useful, as this format is
well-known by the community and mkimage tool is already available.
Usage example:
mkimage -A ARM64 -T kernel -C lzma -d Image.lzma out/kernel
At this moment only -C option is handled, but specifying -A and -T options
are recommended for compatibility reasons in the future.
Kernel that compressed with LZ4 can be already used without wrapping into
the uImage, but I recommend wrapping it into the uImage in order to avoid
situations when by some mistake legacy LZ4 is used, that is interpreted as
raw Image and causes CPU to enter Exception Handler without providing any
meaningful explanation to the user.
Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
Leon Yu [Fri, 21 Jun 2019 04:12:39 +0000 (12:12 +0800)]
menu: don't bother going interactive with just one menu item
If there is only one menu item available, prompting user to enter
choice makes little sense and just causes unnecessary boot delay. This
change makes menu_get_choice return the only one item when there is no
other choices.
Signed-off-by: Leon Yu <leoyu@nvidia.com>
Cc: Tom Warren <twarren@nvidia.com>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Thierry Reding <treding@nvidia.com>
Ruslan Trofymenko [Fri, 14 Jun 2019 14:01:26 +0000 (17:01 +0300)]
cmd: part: Add 'number' sub-command
This sub-command serves for getting the partition index from
partition name. Also it can be used to test the existence of specified
partition.
Use case:
For example, in most CI environments this U-Boot command for automatic
testing of Linux rootfs is used:
=> setenv bootpart 1:f
where 0xf is "userdata" partition. But the number of "userdata"
partition can be changed any time, when partition table is changed.
So it would be nice to get rid of that 0xf magic number and use
partition name instead, like this:
=> part number mmc 1 userdata part_num
=> setenv bootpart 1:${part_num}
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Alistair Strachan <astrachan@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Tom Rini [Wed, 24 Jul 2019 17:15:19 +0000 (13:15 -0400)]
Merge branch '2019-07-24-doc-html-cleanup'
- Convert our docs to Sphinx
Bin Meng [Thu, 18 Jul 2019 07:34:35 +0000 (00:34 -0700)]
doc: Remove README.blackfin
U-Boot no longer supports blackfin architecture. Remove the doc.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:34 +0000 (00:34 -0700)]
doc: arch: Convert README.xtensa to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:33 +0000 (00:34 -0700)]
doc: arch: Convert README.sandbox to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:32 +0000 (00:34 -0700)]
doc: arch: Convert README.sh to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:31 +0000 (00:34 -0700)]
doc: arch: Convert README.m68k to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:30 +0000 (00:34 -0700)]
doc: arch: Convert README.ARC to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:29 +0000 (00:34 -0700)]
doc: arch: Convert README.nios2 to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:28 +0000 (00:34 -0700)]
doc: arch: Convert README.NDS32 to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
This also merges README.N1213 contents into the new nds32.rst file.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:27 +0000 (00:34 -0700)]
doc: arch: Convert README.arm64 to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:26 +0000 (00:34 -0700)]
doc: arch: Convert README.x86 to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:25 +0000 (00:34 -0700)]
doc: board: Convert README.zynq to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:24 +0000 (00:34 -0700)]
doc: board: Convert README.b4860qds to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:23 +0000 (00:34 -0700)]
doc: board: Convert README.at91 to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:22 +0000 (00:34 -0700)]
doc: board: Convert README.sh7753evb to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:21 +0000 (00:34 -0700)]
doc: board: Convert README.sh7752evb to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:20 +0000 (00:34 -0700)]
doc: board: Convert README.sifive-fu540 to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:19 +0000 (00:34 -0700)]
doc: board: Convert README.ag101p to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:18 +0000 (00:34 -0700)]
doc: board: Add AndesTech ax25-ae350 board doc
This converts README.AX25 and README.ae350 plain text documentation
to reST format, merges them into one ax25-ae350 doc, and adds it to
Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:17 +0000 (00:34 -0700)]
doc: board: Convert README.qemu-mips to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:16 +0000 (00:34 -0700)]
doc: board: Convert README.qemu-riscv to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:15 +0000 (00:34 -0700)]
doc: board: Convert README.qemu-arm to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:14 +0000 (00:34 -0700)]
doc: board: Add QEMU x86 board doc
This extracts QEMU x86 board specific information from README.x86,
converts plain text documentation to reST format and adds it to
Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:13 +0000 (00:34 -0700)]
doc: board: Add coreboot board doc
This extracts coreboot board specific information from README.x86,
converts plain text documentation to reST format and adds it to
Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:12 +0000 (00:34 -0700)]
doc: board: Add Google Chromebook Samus board doc
This extracts Google Chromebook Samus board specific information from
README.x86, converts plain text documentation to reST format and
adds it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:11 +0000 (00:34 -0700)]
doc: board: Add Google Chromebook Link board doc
This extracts Google Chromebook Link board specific information from
README.x86, converts plain text documentation to reST format and
adds it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:10 +0000 (00:34 -0700)]
doc: board: Add Intel Galileo board doc
This extracts Intel Galileo board specific information from
README.x86, converts plain text documentation to reST format and
adds it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:09 +0000 (00:34 -0700)]
doc: board: Add Intel Edison board doc
This extracts Intel Edison board specific information from
README.x86, converts plain text documentation to reST format and
adds it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:08 +0000 (00:34 -0700)]
doc: board: Add Intel Cougar Canyon 2 board doc
This extracts Intel Cougar Canyon 2 board specific information from
README.x86, converts plain text documentation to reST format and
adds it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:07 +0000 (00:34 -0700)]
doc: board: Add Intel Cherry Hill board doc
This extracts Intel Cherry Hill board specific information from
README.x86, converts plain text documentation to reST format and
adds it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:06 +0000 (00:34 -0700)]
doc: board: Add Intel Bay Trail based board docs
This extracts Intel Bay Trail based board specific information from
README.x86, converts plain text documentation to reST format and
adds them to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:05 +0000 (00:34 -0700)]
doc: board: Add Intel Crown Bay board doc
This extracts Intel Crown Bay board specific information from
README.x86, converts plain text documentation to reST format and
adds it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:04 +0000 (00:34 -0700)]
doc: Add board specific info to Sphinx TOC tree
Add index.rst for board. More docs will be added later.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Bin Meng [Thu, 18 Jul 2019 07:34:03 +0000 (00:34 -0700)]
doc: arch: Convert README.mips to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Bin Meng [Thu, 18 Jul 2019 07:34:02 +0000 (00:34 -0700)]
doc: Add architecture specific info to Sphinx TOC tree
Add index.rst for architecture specific info. More docs will be
added later.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Bin Meng [Thu, 18 Jul 2019 07:34:01 +0000 (00:34 -0700)]
doc: driver-model: Convert usb-info.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:34:00 +0000 (00:34 -0700)]
doc: driver-model: Convert spi-howto.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:59 +0000 (00:33 -0700)]
doc: driver-model: Convert serial-howto.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:58 +0000 (00:33 -0700)]
doc: driver-model: Convert remoteproc-framework.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:57 +0000 (00:33 -0700)]
doc: driver-model: Convert pmic-framework.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:56 +0000 (00:33 -0700)]
doc: driver-model: Convert pci-info.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:55 +0000 (00:33 -0700)]
doc: driver-model: Convert of-plat.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:54 +0000 (00:33 -0700)]
doc: driver-model: Convert livetree.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:53 +0000 (00:33 -0700)]
doc: driver-model: Convert i2c-howto.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:52 +0000 (00:33 -0700)]
doc: driver-model: Convert fs_firmware_loader.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:51 +0000 (00:33 -0700)]
doc: driver-model: Convert fdt-fixup.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng [Thu, 18 Jul 2019 07:33:50 +0000 (00:33 -0700)]
doc: driver-model: Convert MIGRATION.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Bin Meng [Thu, 18 Jul 2019 07:33:49 +0000 (00:33 -0700)]
doc: driver-model: Convert README.txt to reST
Convert plain text documentation to reStructuredText format and add
it to Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Bin Meng [Thu, 18 Jul 2019 07:33:48 +0000 (00:33 -0700)]
doc: Add driver-model to Sphinx TOC tree
Add index.rst for driver model. More docs will be added later.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glkpk@gmx.de>
Bin Meng [Thu, 18 Jul 2019 07:33:47 +0000 (00:33 -0700)]
doc: Add top-level description about U-Boot documentation
This updates the index.rst to add top-level description about
U-Boot documentation. Words are taken from Linux kernel docs
and modified for U-Boot.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Bin Meng [Thu, 18 Jul 2019 07:33:46 +0000 (00:33 -0700)]
doc: Move existing rst files into api sub-directory
Currently the Sphinx doc only contains API descriptions of several
U-Boot subsystems. For future extension, group these existing docs
into an API sub-directory.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Simon Glass [Mon, 8 Jul 2019 19:18:49 +0000 (13:18 -0600)]
binman: Allow preserving test directories
Sometimes when debugging tests it is useful to keep the input and output
directories so they can be examined later. Add an option for this and
update the binman tests to support it. This affects both the test class
and the tearDown() function called after each test.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:48 +0000 (13:18 -0600)]
binman: Allow verbosity control when running tests
At present the -v flag is ignored with tests, so that (for example) -v2
does not have any effect. Update binman to pass this flag through to tests
so that they work just like running binman normally, except in a few
special cases where we are actually testing behaviour with different
levels of verbosity.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:47 +0000 (13:18 -0600)]
binman: Fix up the _DoTestFile() function -u argument
This should be -u, not -up, since we don't need to preserve the output
directory in this case.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:46 +0000 (13:18 -0600)]
binman: Support ELF files for TPL
We currenty support using the ELF file in U-Boot proper and SPL, but not
TPL. Add this as it is useful both with sandbox and for CBFS to allow
adding TPL as a 'stage'.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:45 +0000 (13:18 -0600)]
binman: Correct comment in u_boot_spl_elf
This comment mentions the wrong default filename. Fix it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:44 +0000 (13:18 -0600)]
binman: Use tools compression function for blob handling
Avoid duplicate code here by using the new compression function in the
tools module.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:43 +0000 (13:18 -0600)]
binman: Drop unnecessary debug handling
The -D option enables debug mode, but we only need to add -D to the
command line once. Drop the duplicate code. Also drop the comment about
enabling debugging since this can be done with -D.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:42 +0000 (13:18 -0600)]
binman: Use the tools.Decompress method
Update the compression test to use the tools module to decompress the
output data.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:41 +0000 (13:18 -0600)]
patman: Add functions to compress and decompress data
Add utility functions to compress and decompress using lz4 and lzma
algorithms. In the latter case these use the legacy lzma support favoured
by coreboot's CBFS.
No tests are provided as these functions will be tested by the CBFS
tests in a separate patch.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:40 +0000 (13:18 -0600)]
binman: Allow text directly in the node
At present text entries use an indirect method to specify the text to use,
with a label pointing to the text itself.
Allow the text to be directly written into the node. This is more
convenient in cases where the text is constant.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:39 +0000 (13:18 -0600)]
binman: Update entry.SetOffsetSize to be optional
At present this function always sets both the offset and the size of
entries. But in some cases we want to set only one or the other, for
example with the forthcoming ifwi entry, where we only set the offset.
Update the function to handle this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:38 +0000 (13:18 -0600)]
binman: Don't assume there is an ME region
At present having a descriptor means that there is an ME (Intel
Management Engine) entry as well. The descriptor provides the ME location
and assumes that it is present.
For some SoCs this is not true. Before providing the location of a
potentially non-existent entry, check if it is present.
Update the comment in the ME entry also.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:37 +0000 (13:18 -0600)]
binman: Assume Intel descriptor is at the start of the image
At present binman requires that the Intel descriptor has an explicit
offset. Generally this is 0 since the descriptor is at the start of the
image. Add a default to handle this, so users don't need to specify the
offset.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:36 +0000 (13:18 -0600)]
binman: Ensure that coverage has access to site packages
Code coverage tests fail on binman due to dist-packages being dropped from
the python path on Ubuntu 16.04. Add them in so that we can find the
elffile module, which is required by binman.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:35 +0000 (13:18 -0600)]
binman: Add a function to decode an ELF file
Add a function which decodes an ELF file, working out where in memory each
part of the data should be written.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:34 +0000 (13:18 -0600)]
binman: Add a function to create a sample ELF file
It is useful to create an ELF file for testing purposes, with just the
right attributes used by the test. Add a function to handle this, along
with a test that it works correctly.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:33 +0000 (13:18 -0600)]
binman: Detect skipped tests
If tests are skipped we should ideally exit with an error, since there may
be a missing dependency. However at present this is not desirable since it
breaks travis tests. For now, just report the skips.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:32 +0000 (13:18 -0600)]
binman: Use a better error for missing Intel descriptor
FD is a bit confusing so write this out in full. Also avoid splitting the
string so that people can grep for the error message more easily.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:31 +0000 (13:18 -0600)]
binman: Tidy up help for --indir
The current help is confusing. Adjust it to indicate what the flag
actually does.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:30 +0000 (13:18 -0600)]
binman: Add missing comments toentry
At present GetOffsets() lacks a function comment. Add one.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:29 +0000 (13:18 -0600)]
binman: Add missing comments to bsection
Some functions lack comments in this file. Add comments to cover this
functionality.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:28 +0000 (13:18 -0600)]
binman: Add a --toolpath option to set the tool search path
Sometimes tools used by binman may not be in the normal PATH search path,
such as when the tool is built by the U-Boot build itself (e.g. mkimage).
Provide a way to specify an additional search path for tools. The flag
can be used multiple times.
Update the help to describe this option.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:27 +0000 (13:18 -0600)]
patman: Add a way to set the search path for tools
Sometimes tools can be located by looking in other locations. Add a way to
direct the search.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:26 +0000 (13:18 -0600)]
binman: Add coverage tools info for Python 3
Test coverage with Python 3 requires a new package. Add details about
this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:25 +0000 (13:18 -0600)]
binman: Correct two typos in function names in ftest
Two functions have incorrect names. Fix them.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:24 +0000 (13:18 -0600)]
binman: Fix comment in bsection.GetEntries()
This comment is out of date as it does not correctly describe the return
value. Fix it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:23 +0000 (13:18 -0600)]
tools: Drop duplicate raise_on_error argument
If kwargs contains raise_on_error then this function generates an error
due to a duplicate argument. Fix this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:22 +0000 (13:18 -0600)]
cbfs: Rename checksum to attributes_offset
It seems that this field has been renamed in later version of coreboot.
Update it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:21 +0000 (13:18 -0600)]
cbfs: Add an enum and comment for the magic number
This field is not commented in the original file. Add a comment.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Mon, 8 Jul 2019 19:18:20 +0000 (13:18 -0600)]
x86: Add ifwitool for Intel Integrated Firmware Image
Some Intel SoCs from about 2016 boot using an internal microcontroller via
an 'IFWI' image. This is a special format which can hold firmware images.
In U-Boot's case it holds u-boot-tpl.bin.
Add this tool, taken from coreboot, so that we can build bootable images
on apollolake SoCs.
This tool itself has no tests. Some amount of coverage will be provided by
the binman tests that use it, so enable building the tool on sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Wed, 24 Jul 2019 02:29:53 +0000 (22:29 -0400)]
Merge tag 'efi-2019-10-rc1-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Pull request for UEFI sub-system for v2019.10-rc1 (2)
* Implement the EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event.
* Address errors of type -Werror=address-of-packed-member when building
with GCC9.1
* Fix an error when adding memory add addres 0x00000000.
* Rework some code comments for Sphinx compliance.
Tom Rini [Tue, 23 Jul 2019 18:16:21 +0000 (14:16 -0400)]
Merge tag 'u-boot-stm32-
20190723' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
- add rtc driver for stm32mp1
- add remoteproc driver for stm32mp1
- use kernel qspi compatible string for stm32
Tom Rini [Tue, 23 Jul 2019 13:48:16 +0000 (09:48 -0400)]
Merge tag 'rockchip-for-v2019.07-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip
- rk3399 sdhci driver fixup
- TPL BANNER fixup