[U-Boot] [PATCH] vxworks: fixed cpu enable using PSCI on armv8

Vasyl Vavrychuk vasyl.vavrychuk at globallogic.com
Wed Mar 28 11:27:25 UTC 2018


Hi, Bin Meng,

Thanks for your suggestions. Please find my comments below

On Wed, Mar 28, 2018 at 7:36 AM, Bin Meng <bmeng.cn at gmail.com> wrote:
>
> >
> > Tested on VxWorks 7 release SR0520 2017-12-08.
> >
>
> On what board?

Intel Stratix 10 DevKit

> As I mentioned before, why do you want to use 'bootvx' to boot a
> VxWorks 7 kernel? I believe VxWorks 7 ARM kernel is loaded via
> 'bootm'. See doc/README.vxworks.

I have just tried what I found first, but I can add support of ARMv8
PSCI to the bootm for vxworks 7 too.

Anyway, if we add support of ARMv8 PSCI to bootm for vxworks 7, then
do you think that bootvx should not support this feature?

>
> > +#if defined(CONFIG_ARM64) && defined(CONFIG_ARMV8_PSCI)
> > +       armv8_setup_psci();
> > +       smp_kick_all_cpus();
>
> What about ARMv8 32-bit?
Do you mean ARMv8 32-bit U-Boot or ARMv8 32-bit VxWorks under ARMv8
64-bit U-Boot?

> What about ARMv7? Should we call smp_kick_all_cpus() for ARMv7 as well?
As far as I understand from U-Boot code gic_wait_for_interrupt is
called only for ARMv8. I think this is related to the difference how
cpu cores start from reset on armv7 and armv8.

On armv7 usually only core0 starts after power on and other cores are
started by the platform specific means. On armv8 usually all cores
starts after power on.

> Seems to me the logic of #ifdefs here needs to be tuned.
I have made a minimal set of changes need to implement functionality
that are required for our customer, i.e. booting 64-bit vxworks on
armv8.

I am not very willing to generalize it without a need. Maybe just no
one will require it at all.

Kind regards,
Vasyl


More information about the U-Boot mailing list