u-boot/common/spl
Sean Anderson b63664be6a spl: Set FAT bl_len to ARCH_DMA_MINALIGN
Instead of relying on the presence of filename to determine whether we are
dealing with a FAT filesystem (and should DMA-align the buffer), have FAT set
bl_len to ARCH_DMA_MINALIGN instead. With this done, we can remove the
special-case logic checking for the presence of filename.

Because filesystems are not block-based, we may read less than the size passed
to spl_load_info.read. This can happen if the file size is not DMA-aligned. This
is fine as long as we read the amount we originally wanted to. Modify the
conditions for callers of spl_load_info.read to check against the original,
unaligned size to avoid failing spuriously.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-16 13:49:14 -05:00
..
Kconfig spl: Make SHOW_ERRORS depend on LIBCOMMON 2023-11-16 13:49:13 -05:00
Kconfig.nxp spl: Use CONFIG_SPL... instead of CONFIG_..._SPL_... 2023-10-06 14:38:11 -04:00
Kconfig.tpl Kconfigs: Correct default of "0" on hex type entries 2023-08-09 09:21:42 -04:00
Kconfig.vpl vbe: Add Kconfig options for VPL 2022-10-31 11:03:59 -04:00
Makefile Move i.MX8 container image loading support to common/spl 2023-10-17 20:50:52 -04:00
spl.c spl: Make SHOW_ERRORS depend on LIBCOMMON 2023-11-16 13:49:13 -05:00
spl_atf.c spl: add __noreturn attribute to spl_invoke_atf function 2023-10-09 15:24:31 -04:00
spl_blk_fs.c spl: Set FAT bl_len to ARCH_DMA_MINALIGN 2023-11-16 13:49:14 -05:00
spl_bootrom.c spl: pass args to board_return_to_bootrom 2019-10-08 16:35:16 +02:00
spl_dfu.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
spl_ext.c spl: Use map_sysmem where appropriate 2023-10-17 20:50:52 -04:00
spl_fat.c spl: Set FAT bl_len to ARCH_DMA_MINALIGN 2023-11-16 13:49:14 -05:00
spl_fit.c spl: Set FAT bl_len to ARCH_DMA_MINALIGN 2023-11-16 13:49:14 -05:00
spl_imx_container.c spl: Set FAT bl_len to ARCH_DMA_MINALIGN 2023-11-16 13:49:14 -05:00
spl_legacy.c spl: legacy: Honor bl_len when decompressing 2023-11-16 12:43:48 -05:00
spl_mmc.c spl: Refactor spl_load_info->read to use units of bytes 2023-11-16 13:49:14 -05:00
spl_nand.c spl: Refactor spl_load_info->read to use units of bytes 2023-11-16 13:49:14 -05:00
spl_net.c spl: Use map_sysmem where appropriate 2023-10-17 20:50:52 -04:00
spl_nor.c spl: Use map_sysmem where appropriate 2023-10-17 20:50:52 -04:00
spl_nvme.c spl: initialize PCI before booting 2023-07-30 18:53:08 +02:00
spl_onenand.c treewide: Drop image_header_t typedef 2022-09-29 16:07:57 -04:00
spl_opensbi.c spl: riscv: add os type for next booting stage 2023-10-19 17:29:33 +08:00
spl_optee.S Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
spl_ram.c spl: Tidy up load address in spl_ram 2023-09-19 11:36:26 -04:00
spl_sata.c spl: sata: Rework the loading case it not use IS_ENABLED(...) 2023-01-20 12:27:06 -05:00
spl_sdp.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
spl_semihosting.c spl: semihosting: Don't close fd before spl_load_simple_fit 2023-11-16 13:49:13 -05:00
spl_spi.c spl: Remove dev from spl_load_info 2023-11-16 13:49:13 -05:00
spl_ubi.c spl: Rename SYS_SPL_ARGS_ADDR to SPL_PAYLOAD_ARGS_ADDR 2023-10-06 14:38:11 -04:00
spl_usb.c blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
spl_xip.c spl: Rename SYS_SPL_ARGS_ADDR to SPL_PAYLOAD_ARGS_ADDR 2023-10-06 14:38:11 -04:00
spl_ymodem.c spl: Remove NULL assignments in spl_load_info 2023-11-16 13:49:13 -05:00