mbox series

[v3,00/21] target-arm: Implement ARMv8.5-MemTag, user mode

Message ID 20210115224645.1196742-1-richard.henderson@linaro.org
Headers show
Series target-arm: Implement ARMv8.5-MemTag, user mode | expand

Message

Richard Henderson Jan. 15, 2021, 10:46 p.m. UTC
The kernel abi was finally merged into 5.10.

Changes for v3:
  * Split out type changes to separate patches.
  * Add doc comments; tweak alloc so that the !PAGE_VALID case is clear.
  * Do not overlap PAGE_TARGET_2 with PAGE_RESERVED.
  * Use syndrome.h, arm_deliver_fault.


r~


v1: https://patchew.org/QEMU/20191015163254.12041-1-richard.henderson@linaro.org/
v2: https://patchew.org/QEMU/20200605041733.415188-1-richard.henderson@linaro.org/

Richard Henderson (21):
  tcg: Introduce target-specific page data for user-only
  linux-user: Introduce PAGE_ANON
  exec: Use uintptr_t for guest_base
  exec: Use uintptr_t in cpu_ldst.h
  exec: Improve types for guest_addr_valid
  linux-user: Check for overflow in access_ok
  linux-user: Tidy VERIFY_READ/VERIFY_WRITE
  bsd-user: Tidy VERIFY_READ/VERIFY_WRITE
  linux-user: Do not use guest_addr_valid for h2g_valid
  linux-user: Fix guest_addr_valid vs reserved_va
  exec: Add support for TARGET_TAGGED_ADDRESSES
  linux-user/aarch64: Implement PR_TAGGED_ADDR_ENABLE
  linux-user/aarch64: Implement PR_MTE_TCF and PR_MTE_TAG
  linux-user/aarch64: Implement PROT_MTE
  target/arm: Split out syndrome.h from internals.h
  linux-user/aarch64: Pass syndrome to EXC_*_ABORT
  linux-user/aarch64: Signal SEGV_MTESERR for sync tag check fault
  linux-user/aarch64: Signal SEGV_MTEAERR for async tag check error
  target/arm: Add allocation tag storage for user mode
  target/arm: Enable MTE for user-only
  tests/tcg/aarch64: Add mte smoke tests

 bsd-user/qemu.h                     |   9 +-
 include/exec/cpu-all.h              |  47 ++++-
 include/exec/cpu_ldst.h             |  42 +++--
 linux-user/aarch64/target_signal.h  |   3 +
 linux-user/aarch64/target_syscall.h |  13 ++
 linux-user/qemu.h                   |  19 +-
 linux-user/syscall_defs.h           |   1 +
 target/arm/cpu-param.h              |   3 +
 target/arm/cpu.h                    |  24 +++
 target/arm/internals.h              | 245 +------------------------
 target/arm/syndrome.h               | 273 ++++++++++++++++++++++++++++
 tests/tcg/aarch64/mte.h             |  53 ++++++
 accel/tcg/translate-all.c           |  28 +++
 bsd-user/main.c                     |   2 +-
 linux-user/aarch64/cpu_loop.c       |  61 +++++--
 linux-user/main.c                   |   2 +-
 linux-user/mmap.c                   |  29 ++-
 linux-user/syscall.c                |  73 +++++++-
 target/arm/cpu.c                    |  19 ++
 target/arm/mte_helper.c             |  39 +++-
 target/arm/tlb_helper.c             |  15 +-
 tests/tcg/aarch64/mte-1.c           |  25 +++
 tests/tcg/aarch64/mte-2.c           |  42 +++++
 tests/tcg/aarch64/mte-3.c           |  47 +++++
 tests/tcg/aarch64/mte-4.c           |  42 +++++
 tests/tcg/aarch64/Makefile.target   |   6 +
 tests/tcg/configure.sh              |   4 +
 27 files changed, 856 insertions(+), 310 deletions(-)
 create mode 100644 target/arm/syndrome.h
 create mode 100644 tests/tcg/aarch64/mte.h
 create mode 100644 tests/tcg/aarch64/mte-1.c
 create mode 100644 tests/tcg/aarch64/mte-2.c
 create mode 100644 tests/tcg/aarch64/mte-3.c
 create mode 100644 tests/tcg/aarch64/mte-4.c

Comments

no-reply@patchew.org Jan. 15, 2021, 11:15 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20210115224645.1196742-1-richard.henderson@linaro.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210115224645.1196742-1-richard.henderson@linaro.org
Subject: [PATCH v3 00/21] target-arm: Implement ARMv8.5-MemTag, user mode

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20201104092900.21214-1-green.wan@sifive.com -> patchew/20201104092900.21214-1-green.wan@sifive.com
 - [tag update]      patchew/20210110185109.29841-1-space.monkey.delivers@gmail.com -> patchew/20210110185109.29841-1-space.monkey.delivers@gmail.com
 * [new tag]         patchew/20210115224645.1196742-1-richard.henderson@linaro.org -> patchew/20210115224645.1196742-1-richard.henderson@linaro.org
Switched to a new branch 'test'
b51c62b tests/tcg/aarch64: Add mte smoke tests
2bb6651 target/arm: Enable MTE for user-only
581006b target/arm: Add allocation tag storage for user mode
3995c13 linux-user/aarch64: Signal SEGV_MTEAERR for async tag check error
3b2735a linux-user/aarch64: Signal SEGV_MTESERR for sync tag check fault
87773dc linux-user/aarch64: Pass syndrome to EXC_*_ABORT
c77b9e7 target/arm: Split out syndrome.h from internals.h
03409db linux-user/aarch64: Implement PROT_MTE
a349186 linux-user/aarch64: Implement PR_MTE_TCF and PR_MTE_TAG
1bf3014 linux-user/aarch64: Implement PR_TAGGED_ADDR_ENABLE
dda6aba exec: Add support for TARGET_TAGGED_ADDRESSES
37ecbdb linux-user: Fix guest_addr_valid vs reserved_va
b45e037 linux-user: Do not use guest_addr_valid for h2g_valid
cabbb07 bsd-user: Tidy VERIFY_READ/VERIFY_WRITE
9528890 linux-user: Tidy VERIFY_READ/VERIFY_WRITE
074f1b6 linux-user: Check for overflow in access_ok
a57aaa3 exec: Improve types for guest_addr_valid
acb28c7 exec: Use uintptr_t in cpu_ldst.h
6b630ff exec: Use uintptr_t for guest_base
6b7daa3 linux-user: Introduce PAGE_ANON
b7dc05d tcg: Introduce target-specific page data for user-only

=== OUTPUT BEGIN ===
1/21 Checking commit b7dc05ddcc5b (tcg: Introduce target-specific page data for user-only)
2/21 Checking commit 6b7daa34298c (linux-user: Introduce PAGE_ANON)
3/21 Checking commit 6b630ffe4c66 (exec: Use uintptr_t for guest_base)
4/21 Checking commit acb28c7cb60b (exec: Use uintptr_t in cpu_ldst.h)
5/21 Checking commit a57aaa3359f2 (exec: Improve types for guest_addr_valid)
6/21 Checking commit 074f1b6a03d3 (linux-user: Check for overflow in access_ok)
7/21 Checking commit 952889066ba0 (linux-user: Tidy VERIFY_READ/VERIFY_WRITE)
8/21 Checking commit cabbb07508f6 (bsd-user: Tidy VERIFY_READ/VERIFY_WRITE)
9/21 Checking commit b45e037c08d2 (linux-user: Do not use guest_addr_valid for h2g_valid)
10/21 Checking commit 37ecbdbf6a08 (linux-user: Fix guest_addr_valid vs reserved_va)
11/21 Checking commit dda6aba68cc2 (exec: Add support for TARGET_TAGGED_ADDRESSES)
12/21 Checking commit 1bf30143d18d (linux-user/aarch64: Implement PR_TAGGED_ADDR_ENABLE)
13/21 Checking commit a349186d27f0 (linux-user/aarch64: Implement PR_MTE_TCF and PR_MTE_TAG)
14/21 Checking commit 03409db2e4ec (linux-user/aarch64: Implement PROT_MTE)
15/21 Checking commit c77b9e72eb32 (target/arm: Split out syndrome.h from internals.h)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#277: 
new file mode 100644

total: 0 errors, 1 warnings, 530 lines checked

Patch 15/21 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
16/21 Checking commit 87773dca7e38 (linux-user/aarch64: Pass syndrome to EXC_*_ABORT)
17/21 Checking commit 3b2735ac2c32 (linux-user/aarch64: Signal SEGV_MTESERR for sync tag check fault)
18/21 Checking commit 3995c13283cb (linux-user/aarch64: Signal SEGV_MTEAERR for async tag check error)
19/21 Checking commit 581006bf041a (target/arm: Add allocation tag storage for user mode)
20/21 Checking commit 2bb6651fbcf7 (target/arm: Enable MTE for user-only)
21/21 Checking commit b51c62bbd980 (tests/tcg/aarch64: Add mte smoke tests)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#28: 
new file mode 100644

ERROR: trailing statements should be on next line
#157: FILE: tests/tcg/aarch64/mte-3.c:46:
+    while (1);

ERROR: braces {} are necessary for all arms of this statement
#157: FILE: tests/tcg/aarch64/mte-3.c:46:
+    while (1);
[...]

ERROR: use qemu_real_host_page_size instead of getpagesize()
#192: FILE: tests/tcg/aarch64/mte-4.c:28:
+    size_t size = getpagesize() * 4;

total: 3 errors, 1 warnings, 231 lines checked

Patch 21/21 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210115224645.1196742-1-richard.henderson@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com