[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