On Tue, Feb 5, 2019 at 6:28 PM Peter Maydell <peter.mayd...@linaro.org> wrote: > > From: Richard Henderson <richard.hender...@linaro.org> > > Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > Message-id: 20190201195404.30486-3-richard.hender...@linaro.org > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > tests/tcg/aarch64/Makefile.target | 6 +++++- > tests/tcg/aarch64/pauth-1.c | 23 +++++++++++++++++++++++ > 2 files changed, 28 insertions(+), 1 deletion(-) > create mode 100644 tests/tcg/aarch64/pauth-1.c > > diff --git a/tests/tcg/aarch64/Makefile.target > b/tests/tcg/aarch64/Makefile.target > index 08c45b8470c..2bb914975be 100644 > --- a/tests/tcg/aarch64/Makefile.target > +++ b/tests/tcg/aarch64/Makefile.target > @@ -8,10 +8,14 @@ VPATH += $(AARCH64_SRC) > # we don't build any of the ARM tests > AARCH64_TESTS=$(filter-out $(ARM_TESTS), $(TESTS)) > AARCH64_TESTS+=fcvt > -TESTS:=$(AARCH64_TESTS) > > fcvt: LDFLAGS+=-lm > > run-fcvt: fcvt > $(call run-test,$<,$(QEMU) $<, "$< on $(TARGET_NAME)") > $(call diff-out,$<,$(AARCH64_SRC)/fcvt.ref) > + > +AARCH64_TESTS += pauth-1 > +run-pauth-%: QEMU += -cpu max > + > +TESTS:=$(AARCH64_TESTS) > diff --git a/tests/tcg/aarch64/pauth-1.c b/tests/tcg/aarch64/pauth-1.c > new file mode 100644 > index 00000000000..ae6dc05c2b1 > --- /dev/null > +++ b/tests/tcg/aarch64/pauth-1.c > @@ -0,0 +1,23 @@ > +#include <assert.h> > +#include <sys/prctl.h> > + > +asm(".arch armv8.4-a"); > + > +#ifndef PR_PAC_RESET_KEYS > +#define PR_PAC_RESET_KEYS 54 > +#define PR_PAC_APDAKEY (1 << 2) > +#endif > + > +int main() > +{ > + int x; > + void *p0 = &x, *p1, *p2; > + > + asm volatile("pacdza %0" : "=r"(p1) : "0"(p0)); > + prctl(PR_PAC_RESET_KEYS, PR_PAC_APDAKEY, 0, 0, 0); > + asm volatile("pacdza %0" : "=r"(p2) : "0"(p0)); > + > + assert(p1 != p0); > + assert(p1 != p2); > + return 0; > +} > -- > 2.20.1
Travis-CI is getting an error with this test: tests/docker/docker.py cc --user 2000 --cc aarch64-linux-gnu-gcc -i qemu:debian-arm64-cross -s . -- -Wall -O0 -g -fno-strict-aliasing tests/tcg/aarch64/pauth-1.c -o pauth-1 -static /tmp/ccHrAqV2.s: Assembler messages: /tmp/ccHrAqV2.s:7: Error: unknown architecture `armv8.4-a' /tmp/ccHrAqV2.s:41: Error: selected processor does not support `pacdza x0' /tmp/ccHrAqV2.s:56: Error: selected processor does not support `pacdza x0' tests/tcg/Makefile:79: recipe for target 'pauth-1' failed make[2]: *** [pauth-1] Error 1 make[2]: Leaving directory 'aarch64-linux-user/tests' tests/tcg/Makefile.include:52: recipe for target 'docker-build-guest-tests' failed make[1]: *** [docker-build-guest-tests] Error 2 make[1]: Leaving directory 'aarch64-linux-user' tests/Makefile.include:1030: recipe for target 'build-tcg-tests-aarch64-linux-user' failed make: *** [build-tcg-tests-aarch64-linux-user] Error 2