
On 3/29/23 21:25, Pali Rohár wrote:
This patch series allows to build SATA kwbimage for disks which do not have sector size 512 bytes long. For example 4K Native disks.
SATA kwbimage differs from other kwbimage types in that way, that offset in its header is stored in SATA sectors units instead of byte units. Therefore image generator needs to know sector size of the target SATA disk. Currently both kwbimage and mkimage has hardcoded SATA sector size to 512 bytes.
This patch series allows to specify custom SATA sector size via a new config option CONFIG_MVEBU_SPL_SATA_BLKSZ. And add autodetection of the sector size into kwboot to allow parsing such images.
Maximal theoretical sector size is 32 kB because ATA IDENTIFY command returns sector size as 16-bit number and sector size should be power of two.
Pali Rohár (7): arm: mvebu: spl: Do not hardcode SATA block size to 512 cmd: mvebu/bubt: a38x: Do not hardcode SATA block size to 512 tools: imagetool: Extend print_header() by params argument tools: kwbimage: Simplify align code tools: kwbimage: Add support for SATA images with non-512 byte block size tools: kwboot: Add support for parsing SATA images with non-512 block size arm: mvebu: spl: Allow to build SATA kwbimage for 4K Native disks
arch/arm/mach-mvebu/Kconfig | 10 ++ arch/arm/mach-mvebu/Makefile | 5 + arch/arm/mach-mvebu/kwbimage.cfg.in | 3 + arch/arm/mach-mvebu/spl.c | 11 ++- cmd/mvebu/bubt.c | 7 +- tools/aisimage.c | 2 +- tools/atmelimage.c | 2 +- tools/default_image.c | 7 +- tools/fit_common.c | 5 + tools/fit_common.h | 2 + tools/fit_image.c | 2 +- tools/gpimage.c | 2 +- tools/imagetool.c | 4 +- tools/imagetool.h | 2 +- tools/imx8image.c | 2 +- tools/imx8mimage.c | 2 +- tools/imximage.c | 2 +- tools/kwbimage.c | 144 ++++++++++++++++++---------- tools/kwboot.c | 35 ++++++- tools/lpc32xximage.c | 2 +- tools/mkimage.c | 2 +- tools/mtk_image.c | 2 +- tools/mxsimage.c | 2 +- tools/omapimage.c | 2 +- tools/pblimage.c | 2 +- tools/rkcommon.c | 2 +- tools/rkcommon.h | 2 +- tools/socfpgaimage.c | 2 +- tools/stm32image.c | 2 +- tools/sunxi_egon.c | 2 +- tools/sunxi_toc0.c | 2 +- tools/ublimage.c | 2 +- tools/vybridimage.c | 2 +- tools/zynqimage.c | 2 +- tools/zynqmpimage.c | 2 +- tools/zynqmpimage.h | 2 +- 36 files changed, 199 insertions(+), 84 deletions(-)
Applied to u-boot-marvell/master
Thanks, Stefan