• Mark Brown's avatar
    kselftest/arm64: Add a test program to exercise the syscall ABI · b77e995e
    Mark Brown authored
    Currently we don't have any coverage of the syscall ABI so let's add a very
    dumb test program which sets up register patterns, does a sysscall and then
    checks that the register state after the syscall matches what we expect.
    The program is written in an extremely simplistic fashion with the goal of
    making it easy to verify that it's doing what it thinks it's doing, it is
    not a model of how one should write actual code.
    
    Currently we validate the general purpose, FPSIMD and SVE registers. There
    are other thing things that could be covered like FPCR and flags registers,
    these can be covered incrementally - my main focus at the minute is
    covering the ABI for the SVE registers.
    
    The program repeats the tests for all possible SVE vector lengths in case
    some vector length specific optimisation causes issues, as well as testing
    FPSIMD only. It tries two syscalls, getpid() and sched_yield(), in an
    effort to cover both immediate return to userspace and scheduling another
    task though there are no guarantees which cases will be hit.
    
    A new test directory "abi" is added to hold the test, it doesn't seem to
    fit well into any of the existing directories.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20211210184133.320748-7-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    b77e995e
Makefile 1.62 KB