[U-Boot] [PATCH] SPL: add support to boot from a partition type

Tom Rini trini at konsulko.com
Sun Jan 29 01:06:31 CET 2017


On Sat, Jan 28, 2017 at 03:20:09PM -0800, Dalon Westergreen wrote:

> From: Dalon Westergreen <dalon.westergreen at intel.com>
> 
> the socfpga bootrom supports mmc booting from either a raw image
> starting at 0x0, or from a partition of type 0xa2.  This patch
> adds support for locating the boot image in the first type 0xa2
> partition found.
> 
> Signed-off-by: Dalon Westergreen <dalon.westergreen at intel.com>
> ---
>  common/spl/Kconfig   | 17 +++++++++++++++++
>  common/spl/spl_mmc.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
>  disk/part_dos.c      |  1 +
>  include/part.h       |  1 +
>  4 files changed, 63 insertions(+), 1 deletion(-)

Today socfpga sets SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION to 1.  Do you
really have enough cases where the special partition isn't going to be
likely known when building U-Boot for a given platform?

The code itself looks fine (I don't see an easy way to get at the
max_entries field of the partition type struct, but assuming that the
ROM only support MBR tables today you could use the DOS_ENTRY_NUMBERS
constant with a comment above it).  But we're making this bit of code
even more complex and adding more #ifdefs.

[snip]
> @@ -331,12 +367,19 @@ int spl_mmc_load_image(struct spl_image_info *spl_image,
>  			CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION);
>  		if (!err)
>  			return err;
> +		
> +#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
> +		err = mmc_load_image_raw_partition_type(spl_image, mmc,
> +			CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE);
> +		if (!err)
> +			return err;
> +#endif

... but couldn't we re-structure things so that both of the "boot from a
partition" options take the same point from spl_mmc_load_image() instead
set a partition variable depending on static/dynamic partition # being
used?  Or would that make things even messier looking?  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170128/0ea9879a/attachment.sig>


More information about the U-Boot mailing list