Hi Pali, On Wed, Mar 29, 2023 at 12:28 PM Pali Rohár <p...@kernel.org> 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.
I don't have any board that can boot from SATA. But I ran regression tests on the Pogo V4 (Kirkwood 6192). kwboot and boot from NAND works fine. Tested-by: Tony Dinh <mibo...@gmail.com> Thanks, Tony > 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(-) > > -- > 2.20.1 >