[PATCH v2 2/2] selftests/powerpc: Add scv versions of the basic TM syscall tests
Michael Ellerman
mpe at ellerman.id.au
Thu Sep 2 13:44:29 AEST 2021
Nicholas Piggin <npiggin at gmail.com> writes:
> Excerpts from Christophe Leroy's message of September 2, 2021 3:15 am:
>> Le 01/09/2021 à 18:54, Nicholas Piggin a écrit :
>>> The basic TM vs syscall test code hard codes an sc instruction for the
>>> system call, which fails to cover scv even when the userspace libc has
>>> support for it.
>>>
>>> Duplicate the tests with hard coded scv variants so both are tested
>>> when possible.
>>>
>>> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
>>> ---
>>> .../selftests/powerpc/tm/tm-syscall-asm.S | 46 +++++++++++++++++++
>>> .../testing/selftests/powerpc/tm/tm-syscall.c | 36 ++++++++++++---
>>> 2 files changed, 75 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/tools/testing/selftests/powerpc/tm/tm-syscall-asm.S b/tools/testing/selftests/powerpc/tm/tm-syscall-asm.S
>>> index bd1ca25febe4..849316831e6a 100644
>>> --- a/tools/testing/selftests/powerpc/tm/tm-syscall-asm.S
>>> +++ b/tools/testing/selftests/powerpc/tm/tm-syscall-asm.S
>>> @@ -2,6 +2,10 @@
>>> #include <ppc-asm.h>
>>> #include <asm/unistd.h>
>>>
>>> +/* ppc-asm.h does not define r0 or r1 */
>>> +#define r0 0
>>> +#define r1 1
>>> +
>>
>> See https://github.com/gcc-mirror/gcc/blob/master/gcc/config/rs6000/ppc-asm.h
>>
>> It doesn't not define r1 but it defines r0.
>
> Oops, I'll fix that.
>
>> And it defines 'sp' as register 1.
>
> Does userspace code typically use that? Kernel code AFAIKS does not.
Some does, but it's not used consistently IME.
I'd prefer you just use %r1.
cheers
More information about the Linuxppc-dev
mailing list