[PATCH v3 0/6] android_ab: introduce bcb ab_dump command and provide several bcb fixes

Dmitry Rokosov
2024-10-08T20:18:45Z

The patch series include changes:
- move ab_select_slot() documentation to @ notation
- move ab_select command to bcb subcommands
- introduce the ab_dump command to print the content of the BCB
block; it's useful for debugging A/B logic on supported boards
- fix the slot suffix format in the ABC block to align with official
Android BCB specifications
- add a test for the ab_dump command to verify the accuracy of each
field within the ABC data displayed, it's also useful for testing
slot_suffix problem code paths

Changes v3 since v2 at [2]:
- return "Legend" block for bcb command
- additionally, verify the CONFIG_ANDROID_AB configuration alongside
CONFIG_CMD_BCB to ensure that the A/B scheme is used for the
designated board.

Changes v2 since v1 at [1]:
- move ab_select_slot() documentation to @ notation
- move ab_select command to bcb subcommands per Simon and Mattijs
suggestions
- redesign ab_dump as bcb subcommand
- use spaces instead of tabs in the ab_dump command output
- print hex values in the lowercase
- add RvB tags

Links:
[1] https://lore.kernel.org/all/20240725194716.32232-1-ddrokosov@salutedevices.com/
[2] https://lore.kernel.org/all/20240911214945.15873-1-ddrokosov@salutedevices.com/

Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
---
Dmitry Rokosov (6):
include/android_ab: move ab_select_slot() documentation to @ notation
treewide: bcb: move ab_select command to bcb subcommands
cmd: bcb: change strcmp() usage style in the do_bcb_ab_select()
cmd: bcb: introduce 'ab_dump' command to print BCB block content
common: android_ab: fix slot suffix for abc block
test/py: introduce test for ab_dump command

MAINTAINERS | 1 -
boot/android_ab.c | 116 ++++++++++++++++++++++++------
cmd/Kconfig | 15 +---
cmd/Makefile | 1 -
cmd/ab_select.c | 66 -----------------
cmd/bcb.c | 98 +++++++++++++++++++++++++
configs/am57xx_hs_evm_usb_defconfig | 1 -
configs/khadas-vim3_android_ab_defconfig | 1 -
configs/khadas-vim3l_android_ab_defconfig | 1 -
configs/sandbox64_defconfig | 4 +-
configs/sandbox_defconfig | 4 +-
doc/android/ab.rst | 12 ++--
include/android_ab.h | 17 ++++-
include/configs/khadas-vim3_android.h | 2 +-
include/configs/khadas-vim3l_android.h | 2 +-
include/configs/meson64_android.h | 4 +-
include/configs/ti_omap5_common.h | 4 +-
test/py/tests/test_android/test_ab.py | 31 ++++++--
18 files changed, 252 insertions(+), 128 deletions(-)
---
base-commit: fbe16bc28014dc1ed957f5fee7e53d6eee781aa9
change-id: 20241008-android_ab_master-d86d71c839ae

Best regards,
--
Dmitry Rokosov <ddrokosov@salutedevices.com>