Re: [kvm-unit-tests PATCH v4 6/9] s390x: smp: Loop if secondary cpu returns into cpu setup again

Janosch Frank
2020-01-23T13:47:42Z

On 1/23/20 2:32 PM, David Hildenbrand wrote:
> On 21.01.20 14:42, Janosch Frank wrote:
>> Up to now a secondary cpu could have returned from the function it was
>> executing and ending up somewhere in cstart64.S. This was mostly
>> circumvented by an endless loop in the function that it executed.
>>
>> Let's add a loop to the end of the cpu setup, so we don't have to rely
>> on added loops in the tests.
>>
>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>> ---
>> s390x/cstart64.S | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/s390x/cstart64.S b/s390x/cstart64.S
>> index 9af6bb3..5fd8d2f 100644
>> --- a/s390x/cstart64.S
>> +++ b/s390x/cstart64.S
>> @@ -162,6 +162,8 @@ smp_cpu_setup_state:
>> /* We should only go once through cpu setup and not for every restart */
>> stg %r14, GEN_LC_RESTART_NEW_PSW + 8
>> br %r14
>> + /* If the function returns, just loop here */
>> +0: j 0
>>
>> pgm_int:
>> SAVE_REGS
>>
>
> This patch collides with a patch I have still queued
>
> Author: Janosch Frank <frankja@linux.ibm.com>
> Date: Wed Dec 11 06:59:22 2019 -0500
>
> s390x: smp: Use full PSW to bringup new cpu
>
> Up to now we ignored the psw mask and only used the psw address when
> bringing up a new cpu. For DAT we need to also load the mask, so let's
> do that.
>
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: David Hildenbrand <david@redhat.com>
> Message-Id: <20191211115923.9191-2-frankja@linux.ibm.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
>
>
> In that patch we use a lpswe to jump to the target code, not a br. So the
> return address will no longer be stored in %14 and this code here would stop working
> AFAIKS.
>
> Shall I drop that patch for now?

Please drop "s390x: smp: Use full PSW to bringup new cpu"
I will send out a fixed version of that patch soonish. It will load a
label for lpswe into r14 before doing the lpswe.