[U-Boot] [PATCH] vxworks: fixed cpu enable using PSCI on armv8
Bin Meng
bmeng.cn at gmail.com
Sun Apr 1 13:51:14 UTC 2018
Hi Vasyl,
On Wed, Mar 28, 2018 at 7:27 PM, Vasyl Vavrychuk
<vasyl.vavrychuk at globallogic.com> wrote:
> 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
>
Thanks for the info.
>> 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.
>
Hold on..
> Anyway, if we add support of ARMv8 PSCI to bootm for vxworks 7, then
> do you think that bootvx should not support this feature?
>
Why I mentioned the 'bootm' command, is that AFAIK the only official
way of booting a VxWorks 7 ARM kernel is to use 'bootm'. Are you
saying that 'bootm' command does not work on your Intel Stratix 10
DevKit board? If that's the case, we have something to fix.
Having said that, having 'bootvx' to support booting a 64-bit VxWorks
7 ARM kernel is a nice to have.
>>
>> > +#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?
>
I meant to say ARMv8 32-bit U-Boot. I am not sure if 32-bit U-Boot can
load a 64-bit VxWorks kernel..
>> 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.
Understood. Thanks for the clarification. I was trying to understand
the reason of modifying this as I believe 'bootm' should work out of
the box.
Regards,
Bin
More information about the U-Boot
mailing list