qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 11/22] tests/tcg/aarch64: Add pauth smoke test


From: Alex Bennée
Subject: Re: [Qemu-devel] [PULL 11/22] tests/tcg/aarch64: Add pauth smoke test
Date: Mon, 11 Feb 2019 16:04:02 +0000
User-agent: mu4e 1.1.0; emacs 26.1

Philippe Mathieu-Daudé <address@hidden> writes:

> On Tue, Feb 5, 2019 at 6:28 PM Peter Maydell <address@hidden> wrote:
>>
>> From: Richard Henderson <address@hidden>
>>
>> Reviewed-by: Alex Bennée <address@hidden>
>> Signed-off-by: Richard Henderson <address@hidden>
>> Message-id: address@hidden
>> Signed-off-by: Peter Maydell <address@hidden>
>> ---
>>  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

The fix for that is in my latest PR.

--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]