Hello! Could you test or review this patch series?
It is a big improvement for kwboot as it allows to transfer u-boot over uart into mvebu platforms much faster. On Friday 24 September 2021 23:06:37 Marek Behún wrote: > From: Marek Behún <marek.be...@nic.cz> > > Hello Stefan and others, > > here's v3 of series adding support for booting Marvell platforms via > UART (those bootable with kwboot) at higher baudrates. > > Tested on Turris Omnia up to 5.15 MBd, which is 44x faster than > 115200 Bd. > > The user can direct kwboot to use higher baudrate via the -B option. > (BTW this option was there before but did not work with the -b option.) > > Only the payload part of the KWB image is uploaded at this higher > baudrate. The header part is still uploaded at 115200 Bd, since the code > that changes baudrate is injected into header as a binary extension. > (The payload part makes up majority of the binary, though. On Turris > Omnia the payload currently makes ~87%.) > > The series also contains various other fixes, refactors and improvements > of the code, upon which the main change is done. > > Marek & Pali > > Changes since v2: > - fixed integer overflow in patch 15 > - fixed commit title in patch 32 > > Changes since v1: > - fixed uploading of older kwb images, now all kwb images should be able > to upload at faster baudrate > - fixed injecting code that changes baudrate back > - various other fixes and refactors, the best way to compare with v1 is > to apply v1 and v2 separately and compare the resulting kwboot.c > > Marek Behún (19): > tools: kwbimage: Fix printf format warning > tools: kwboot: Fix buffer overflow in kwboot_terminal() > tools: kwboot: Make the quit sequence buffer const > tools: kwboot: Refactor and fix writing buffer > tools: kwboot: Fix comparison of integers with different size > tools: kwboot: Use a function to check whether received byte is a > Xmodem reply > tools: kwboot: Print new line after SPL output > tools: kwboot: Allow greater timeout when executing header code > tools: kwboot: Prevent waiting indefinitely if no xmodem reply is > received > tools: kwbimage: Simplify iteration over version 1 optional headers > tools: kwbimage: Refactor image_version() > tools: kwbimage: Refactor kwbimage header size determination > tools: kwboot: Explicitly check against size of struct main_hdr_v1 > tools: kwboot: Check whether baudrate was set to requested value > tools: kwboot: Cosmetic fix > tools: kwboot: Avoid code repetition in kwboot_img_patch() > tools: kwboot: Update file header > doc/kwboot.1: Update man page > MAINTAINERS: Add entry for kwbimage / kwboot tools > > Pali Rohár (20): > tools: kwboot: Print version information header > tools: kwboot: Fix kwboot_xm_sendblock() function when > kwboot_tty_recv() fails > tools: kwboot: Fix return type of kwboot_xm_makeblock() function > tools: kwboot: Fix printing progress > tools: kwboot: Print newline on error when progress was not completed > tools: kwboot: Split sending image into header and data stages > tools: kwboot: Allow non-xmodem text output from BootROM only in a > specific case > tools: kwboot: Properly finish xmodem transfer > tools: kwboot: Always call kwboot_img_patch_hdr() > tools: kwboot: Don't patch image header if signed > tools: kwboot: Patch source address in image header > tools: kwboot: Patch destination address to DDR area for SPI image > tools: kwbimage: Update comments describing kwbimage v1 structures > tools: kwboot: Round up header size to 128 B when patching > tools: kwboot: Support higher baudrates when booting via UART > tools: kwboot: Allow any baudrate on Linux > tools: kwboot: Fix initializing tty device > tools: kwboot: Disable tty interbyte timeout > tools: kwboot: Disable non-blocking mode > tools: kwboot: Add Pali and Marek as authors > > MAINTAINERS | 10 + > doc/kwboot.1 | 60 ++- > tools/kwbimage.c | 130 ++--- > tools/kwbimage.h | 99 +++- > tools/kwboot.c | 1197 +++++++++++++++++++++++++++++++++++------ > tools/termios_linux.h | 189 +++++++ > 6 files changed, 1385 insertions(+), 300 deletions(-) > create mode 100644 tools/termios_linux.h > > -- > 2.32.0 >