mbox series

[00/11] target/arm: Implement ARMv8.5-BTI

Message ID 20190110121736.23448-1-richard.henderson@linaro.org
Headers show
Series target/arm: Implement ARMv8.5-BTI | expand

Message

Richard Henderson Jan. 10, 2019, 12:17 p.m. UTC
The branch target identification extension does not yet have
kernel or gcc support.  It should be in shape for developing
those though.

In system mode I do honor the GP bit from the page tables.
In user-only mode, there is a way to pretend that the GP bit
is always set.  Further linux-user changes will have to track
the ABI that gets developed.

In the meantime, provide a statically linable make check-tcg 
test for the functionality.


r~


Richard Henderson (11):
  target/arm: Introduce isar_feature_aa64_bti
  target/arm: Add PSTATE.BTYPE
  target/arm: Add BT and BTYPE to tb->flags
  target/arm: Record the GP bit for a page in MemTxAttrs
  target/arm: Default handling of BTYPE during translation
  target/arm: Reset btype for direct branches and syscalls
  target/arm: Set btype for indirect branches
  target/arm: Add guarded_pages cpu property for user-only
  target/arm: Enable BTI for -cpu max
  linux-user/aarch64: Reset btype for signal handlers
  tests/tcg/aarch64: Add bti smoke test

 include/exec/memattrs.h           |   2 +
 target/arm/cpu.h                  |  22 +++-
 target/arm/internals.h            |   6 +
 target/arm/translate.h            |   9 ++
 linux-user/aarch64/signal.c       |   4 +
 target/arm/cpu64.c                |  22 ++++
 target/arm/helper.c               |  28 +++--
 target/arm/translate-a64.c        | 196 +++++++++++++++++++++++++++++-
 tests/tcg/aarch64/bti-1.c         |  61 ++++++++++
 tests/tcg/aarch64/bti-crt.inc.c   |  51 ++++++++
 tests/tcg/aarch64/Makefile.target |   7 +-
 11 files changed, 397 insertions(+), 11 deletions(-)
 create mode 100644 tests/tcg/aarch64/bti-1.c
 create mode 100644 tests/tcg/aarch64/bti-crt.inc.c

-- 
2.17.2

Comments

no-reply@patchew.org Jan. 31, 2019, 6:05 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20190110121736.23448-1-richard.henderson@linaro.org/



Hi,

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

Subject: [Qemu-devel] [PATCH 00/11] target/arm: Implement ARMv8.5-BTI
Type: series
Message-id: 20190110121736.23448-1-richard.henderson@linaro.org

=== TEST SCRIPT BEGIN ===
#!/bin/bash
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
Switched to a new branch 'test'
1cf2c078ac tests/tcg/aarch64: Add bti smoke test
a8cdfe1501 linux-user/aarch64: Reset btype for signal handlers
d7cde26e3d target/arm: Enable BTI for -cpu max
65e9578c1f target/arm: Add guarded_pages cpu property for user-only
bc4f7bd478 target/arm: Set btype for indirect branches
b3d7b1ef60 target/arm: Reset btype for direct branches and syscalls
bdb9456b8d target/arm: Default handling of BTYPE during translation
c63617b671 target/arm: Record the GP bit for a page in MemTxAttrs
fa576a18df target/arm: Add BT and BTYPE to tb->flags
e3cc93b690 target/arm: Add PSTATE.BTYPE
3b588c288e target/arm: Introduce isar_feature_aa64_bti

=== OUTPUT BEGIN ===
1/11 Checking commit 3b588c288e42 (target/arm: Introduce isar_feature_aa64_bti)
2/11 Checking commit e3cc93b69058 (target/arm: Add PSTATE.BTYPE)
3/11 Checking commit fa576a18df1f (target/arm: Add BT and BTYPE to tb->flags)
4/11 Checking commit c63617b67159 (target/arm: Record the GP bit for a page in MemTxAttrs)
5/11 Checking commit bdb9456b8db1 (target/arm: Default handling of BTYPE during translation)
WARNING: Block comments use a leading /* on a separate line
#70: FILE: target/arm/translate-a64.c:13730:
+/**

ERROR: return is not a function, parentheses are not required
#97: FILE: target/arm/translate-a64.c:13757:
+    return (tlb_hit(entry->addr_code, addr) &&

WARNING: Block comments use a leading /* on a separate line
#102: FILE: target/arm/translate-a64.c:13762:
+/**

total: 1 errors, 2 warnings, 196 lines checked

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

6/11 Checking commit b3d7b1ef602a (target/arm: Reset btype for direct branches and syscalls)
7/11 Checking commit bc4f7bd47819 (target/arm: Set btype for indirect branches)
8/11 Checking commit 65e9578c1fd3 (target/arm: Add guarded_pages cpu property for user-only)
9/11 Checking commit d7cde26e3dd2 (target/arm: Enable BTI for -cpu max)
10/11 Checking commit a8cdfe15015f (linux-user/aarch64: Reset btype for signal handlers)
11/11 Checking commit 1cf2c078ac31 (tests/tcg/aarch64: Add bti smoke test)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
new file mode 100644

ERROR: externs should be avoided in .c files
#116: FILE: tests/tcg/aarch64/bti-crt.inc.c:13:
+int main(void);

total: 1 errors, 1 warnings, 128 lines checked

Patch 11/11 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/20190110121736.23448-1-richard.henderson@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com