linux/tools/testing/selftests/arm64
Vincenzo Frascino 29f0808816 kselftest/arm64: check GCR_EL1 after context switch
This test is specific to MTE and verifies that the GCR_EL1 register is
context switched correctly.

It spawns 1024 processes and each process spawns 5 threads.  Each thread
writes a random setting of GCR_EL1 through the prctl() system call and
reads it back verifying that it is the same.  If the values are not the
same it reports a failure.

Note: The test has been extended to verify that even SYNC and ASYNC mode
setting is preserved correctly over context switching.

Link: https://lkml.kernel.org/r/b51a165426e906e7ec8a68d806ef3f8cd92581a6.1606161801.git.andreyknvl@google.com
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Branislav Rankov <Branislav.Rankov@arm.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Evgenii Stepanov <eugenis@google.com>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Marco Elver <elver@google.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-12-22 12:55:08 -08:00
..
fp selftests: arm64: Add build and documentation for FP tests 2020-09-18 14:19:20 +01:00
mte kselftest/arm64: check GCR_EL1 after context switch 2020-12-22 12:55:08 -08:00
pauth kselftests/arm64: add PAuth tests for single threaded consistency and differently initialized keys 2020-09-18 14:07:20 +01:00
signal kselftest: arm64: Remove redundant clean target 2020-06-24 14:25:59 +01:00
tags .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile Merge branch 'for-next/late-arrivals' into for-next/core 2020-10-07 14:36:24 +01:00
README kselftest: arm64: extend toplevel skeleton Makefile 2019-11-08 11:10:30 +00:00

KSelfTest ARM64
===============

- These tests are arm64 specific and so not built or run but just skipped
  completely when env-variable ARCH is found to be different than 'arm64'
  and `uname -m` reports other than 'aarch64'.

- Holding true the above, ARM64 KSFT tests can be run within the KSelfTest
  framework using standard Linux top-level-makefile targets:

      $ make TARGETS=arm64 kselftest-clean
      $ make TARGETS=arm64 kselftest

      or

      $ make -C tools/testing/selftests TARGETS=arm64 \
		INSTALL_PATH=<your-installation-path> install

      or, alternatively, only specific arm64/ subtargets can be picked:

      $ make -C tools/testing/selftests TARGETS=arm64 ARM64_SUBTARGETS="tags signal" \
		INSTALL_PATH=<your-installation-path> install

   Further details on building and running KFST can be found in:
     Documentation/dev-tools/kselftest.rst