This is a refresh of the user-only patch set from March. I do not attempt to implement any part of a kernel abi wrt mmap and/or mprotect. Instead, it uses a x-tagged-pages property to assume that all anonymous pages have tags.
The tests added are disabled by default, but do pass if you have binutils 2.32 installed. r~ Based-on: <20191011134744.2477-1-richard.hender...@linaro.org> ("target/arm: Implement ARMv8.5-MemTag, system mode") Based-on: <20190803210803.5701-1-richard.hender...@linaro.org> ("target/arm: Implement ARMv8.5-BTI for linux-user") Complete tree: https://github.com/rth7680/qemu/tree/tgt-arm-mte-user Richard Henderson (3): tcg: Introduce target-specific page data for user-only target/arm: Add allocation tag storage for user mode tests/tcg/aarch64: Add mte smoke tests include/exec/cpu-all.h | 10 ++++++-- target/arm/cpu.h | 4 ++++ accel/tcg/translate-all.c | 28 ++++++++++++++++++++++ linux-user/mmap.c | 8 ++++++- linux-user/syscall.c | 4 ++-- target/arm/cpu64.c | 20 ++++++++++++++++ target/arm/mte_helper.c | 35 +++++++++++++++++++++++++-- tests/tcg/aarch64/mte-1.c | 27 +++++++++++++++++++++ tests/tcg/aarch64/mte-2.c | 39 +++++++++++++++++++++++++++++++ tests/tcg/aarch64/Makefile.target | 5 ++++ 10 files changed, 173 insertions(+), 7 deletions(-) create mode 100644 tests/tcg/aarch64/mte-1.c create mode 100644 tests/tcg/aarch64/mte-2.c -- 2.17.1