[U-Boot] [PATCH 3/6] SPL: Add XIP booting support

Alexandru Gagniuc alex.g at adaptrum.com
Mon May 22 17:36:37 UTC 2017


On 05/22/2017 09:55 AM, Vikas MANOCHA wrote:
> Hi Alex,
Hi

[snip]

>>
>>> diff --git a/common/spl/spl_xip.c b/common/spl/spl_xip.c
>>> new file mode 100644
>>> index 0000000..50e2f34
>>> --- /dev/null
>>> +++ b/common/spl/spl_xip.c
>>> @@ -0,0 +1,31 @@
>>> +/*
>>> + * Copyright (C) 2017 Vikas Manocha <vikas.manocha at st.com>
>>> + *
>>> + * SPDX-License-Identifier:	GPL-2.0+
>>> + */
>>> +
>>> +#include <common.h>
>>> +#include <spl.h>
>>> +
>>> +static int spl_xip(struct spl_image_info *spl_image,
>>> +		   struct spl_boot_device *bootdev)
>>> +{
>>> +#ifdef CONFIG_SPL_OS_BOOT
>>> +	if (!spl_start_uboot()) {
>>> +		spl_image->arg = (void *)CONFIG_SYS_FDT_BASE;
>>> +		spl_image->name = "Linux";
>>> +		spl_image->os = IH_OS_LINUX;
>>> +		spl_image->load_addr = CONFIG_SYS_LOAD_ADDR;
>>> +		spl_image->entry_point = CONFIG_SYS_LOAD_ADDR;
>>> +#ifdef CONFIG_CPU_V7M
>>
>> This looks like it should be handled by spl_set_header_raw_uboot(). I
>> don't see other SPL loaders do this.
>
> We might not want to boot kernel if header is not present in every situation. With spl_xip config option, we enable if we need it.

I'm talkVing about the '#ifdef CONFIG_CPU_7M' part. A lot of the spl 
loaders are mostly boilerplate, but it should be consistent boilerplate. 
If there is a good reason to have a different boilerplate, then at the 
very least a comment should explain "why" it is done different.

Alex


More information about the U-Boot mailing list