[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v1 4/4] xen/arm: Reuse R-Car Gen2 platform code for Stout board



On Tue, Aug 7, 2018 at 8:21 PM, Julien Grall <julien.grall@xxxxxxx> wrote:
> On 07/08/18 18:12, Oleksandr Tyshchenko wrote:
>>
>> Hi, Julien
>
>
> Hi Oleksandr,
Hi Julien

>
>
>>
>> On Tue, Aug 7, 2018 at 6:18 PM, Julien Grall <julien.grall@xxxxxxx> wrote:
>>>
>>> Hi,
>>>
>>> On 06/08/18 19:35, Oleksandr Tyshchenko wrote:
>>>>
>>>>
>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
>>>>
>>>> Renesas "Stout" development board (with different expansion boards)
>>>> is also based on R-Car Gen2 SoC. So extend compat array with
>>>> board's compatible strings.
>>>>
>>>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
>>>> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>>>> CC: Julien Grall <julien.grall@xxxxxxx>
>>>> ---
>>>>    xen/arch/arm/platforms/rcar2.c | 4 ++++
>>>>    1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/xen/arch/arm/platforms/rcar2.c
>>>> b/xen/arch/arm/platforms/rcar2.c
>>>> index df0ac84..ee2ded0 100644
>>>> --- a/xen/arch/arm/platforms/rcar2.c
>>>> +++ b/xen/arch/arm/platforms/rcar2.c
>>>> @@ -49,6 +49,10 @@ static int __init rcar2_smp_init(void)
>>>>    static const char *const rcar2_dt_compat[] __initconst =
>>>>    {
>>>>        "renesas,lager",
>>>> +    "renesas,r8a7790stout",
>>>> +    "renesas,r8a7790stout-view",
>>>> +    "renesas,r8a7790stout-had",
>>>> +    "renesas,r8a7790stout-full",
>>>
>>>
>>>
>>> I am quite reluctant to add compatible that are not present in upstream
>>> Linux. Looking at the DT upstreamed in Linux, the compatible for r8a7790
>>> SoC
>>> seem to be "renesas,r8a7790". Wouldn't it be sufficient to cover all the
>>> boards? But ...
>>
>>
>> This compatible came from official BSP for this board...
>> https://elinux.org/R-Car/Boards/Yocto#Running
>>
>> I have just checked "renesas,r8a7790" and you was right, it covers
>> these modifications. So, I will change.
>> Moreover, we can just have only single compatible, which will cover (I
>> hope) all boards based on R-Car H2 SoC, including Lager board
>> (compatible = "renesas,lager", "renesas,r8a7790")
>>
>>   static const char *const rcar2_dt_compat[] __initconst =
>>   {
>> -    "renesas,lager",
>> +    "renesas,r8a7790",
>>       NULL
>>   };
>>
>> What do you think?
>
>
> That would be the best.
>
>>
>>>
>>> ... don't you have PSCI support on those platforms?
>>
>>
>> AFAIK, no.
>> This code is definitely needed for Stout board as well, since the SoC
>> is the same (R-Car Gen2).
>
>
> When I looked at the device-tree upstreamed for R-Car Gen2 (I think
> r8a7790), PSCI is supported. So I am a bit surprised that the Stout (or even
> lager) does not support it. Are you sure you are not using an old firmware?

This is the topic I am not quite familiar with, so may mistake...

Yes, the BSP I use is quite old, but I managed to run it on top of Xen...
Just to clarify, saying firmware you mean something running in Secure
World, like ARM TF, for example
and providing PSCI services? If yes, the BSP for R-Car Gen2 seems
doesn't contain it. Only U-Boot is available.
But U-Boot was modified to be able to switch A15 cores to HYP mode.
Here [1] you can see how it was done for Lager board,
something similar I did for Stout board.

So, in a nutshell, SMP bring-up under Xen is done in following way:
- U-Boot switches all cores to HYP mode and jumps to Xen on a boot
core, while non-boot cores are waiting in U-Boot.
- Platform SMP init code (rcar2.c) brings each non-boot core to Xen.

>
> If not, can you please point me to the code in Linux (upstream or BSP) doing
> the SMP bring-up for the R-Car?

BSP is based on + additional patches in Yocto layers:
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-backport.git/tree/arch/arm/boot/dts/r8a7790.dtsi?h=bsp/v3.10.31-ltsi/rcar-gen2-1.9.8
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-backport.git/tree/arch/arm/mach-shmobile/platsmp-apmu.c?h=bsp/v3.10.31-ltsi/rcar-gen2-1.9.8

Upstream code:
https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/r8a7790.dtsi
https://github.com/torvalds/linux/blob/master/arch/arm/mach-shmobile/platsmp-apmu.c

Could you point me a link to device-tree where PSCI is supported?

[1] 
https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/Lager

>
> Cheers,
>
> --
> Julien Grall



-- 
Regards,

Oleksandr Tyshchenko

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.