• Mark Brown's avatar
    kselftest/arm64: Add tests for TPIDR2 · 30e3a42b
    Mark Brown authored
    The Scalable Matrix Extension adds a new system register TPIDR2 intended to
    be used by libc for its own thread specific use, add some kselftests which
    exercise the ABI for it.
    
    Since this test should with some adjustment work for TPIDR and any other
    similar registers added in future add tests for it in a separate
    directory rather than placing it with the other floating point tests,
    nothing existing looked suitable so I created a new test directory
    called "abi".
    
    Since this feature is intended to be used by libc the test is built as
    freestanding code using nolibc so we don't end up with the test program
    and libc both trying to manage the register simultaneously and
    distrupting each other. As a result of being written using nolibc rather
    than using hwcaps to identify if SME is available in the system we check
    for the default SME vector length configuration in proc, adding hwcap
    support to nolibc seems like disproportionate effort and didn't feel
    entirely idiomatic for what nolibc is trying to do.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Reviewed-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Link: https://lore.kernel.org/r/20220419112247.711548-31-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    30e3a42b
tpidr2.c 5.47 KB