[U-Boot] [PATCH] Vexpress64: Fix the compiling error when CONFIG_ARMV8_MULTIENTRY defined

FengHua
2015-03-11T13:08:07Z

> -----Original Messages-----
> From: "Linus Walleij" <linus.walleij@linaro.org>
> Sent Time: 2015-03-10 18:08:03 (Tuesday)
> To: "David Feng" <fenghua@phytium.com.cn>
> Cc: "U-Boot Mailing List" <u-boot@lists.denx.de>, "Tom Rini" <trini@ti.com>, "Albert ARIBAUD" <albert.u.boot@aribaud.net>
> Subject: Re: [PATCH] Vexpress64: Fix the compiling error when CONFIG_ARMV8_MULTIENTRY defined
>
> On Tue, Mar 10, 2015 at 3:08 AM, <fenghua@phytium.com.cn> wrote:
>
> > From: David Feng <fenghua@phytium.com.cn>
> >
> > CPU_RELEASE_ADDR should be defined when CONFIG_ARMV8_MULTIENTRY is used.
> >
> > Signed-off-by: David Feng <fenghua@phytium.com.cn>
>
> As asked earlier: how can I test this with FVP or the base model?
>
I usually use Foundation Model.

> I'm very interested in doing this as I guess it involves starting U-Boot
> at EL3 on bare metal and I really want to try this.
>
> > +/* SMP Spin Table Definitions */
> > +#ifdef CONFIG_BASE_FVP
> > +#define CPU_RELEASE_ADDR (CONFIG_SYS_SDRAM_BASE + 0x03f00000)
> > +#else
> > +#define CPU_RELEASE_ADDR (CONFIG_SYS_SDRAM_BASE + 0x7fff0)
> > +#endif
>
> Where are these address defines coming from?
It's just hard coded and should be the same value with that in DTS.

>
> Do these spin tables exist in a standard ARM FVP or base model?
>
> I get the impression that a secondary operating system is being booted
> on the secondary CPU at one of these addresses, but why is it running
> at these addresses specifically, and is that something coming with these
> simulators, or is it some image that is loaded on the side, that the
> community does not have access to?
>
PSCI is not implemented in uboot-armv8. If booting u-boot on bare-metal
only spin table can be used. All we do is describing booting method(spin table) and cpu release
address in DTS. Linux kernel get cpu release address from DTS also.

Yours,
David.