[PATCH kvmtool v3 0/9] arm64: Pointer Authentication and SVE support

Dave Martin
2019-05-30T15:13:30Z

This series, based on kvmtool master [1], implements basic support for
pointer authentication and SVE for guests.

A git tree is also available [2].

For pointer auth, I include Amit's v10 patch [3], with some additional
refactoring to sit nicely alongside SVE, and some cosmetic / diagnostic
tidyups discussed during review on-list. (I've kept the extra changes
separate for easier review, but they could be folded if desired.)

[Maintainer note: I'd like Amit to comment on my changes on top of his
pointer auth patch, but the first 4 patches just re-sync headers and
could be pulled earlier if you feel like it.]

This series has been tested against Linux v5.2-rc1.

If people have a strong view on the --sve-vls parameter, I'd be
interested to discuss what that should look like. Since this is
primarily a debug/experimentation option, the current implementation is
probably good enough though.

[1]
git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git master
https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git/log/
eaeaf60808d6 ("virtio/blk: Avoid taking pointer to packed struct")

[2] [PATCH v10 3/5] KVM: arm64: Add userspace flag to enable pointer authentication
https://lore.kernel.org/linux-arm-kernel/1555994558-26349-6-git-send-email-amit.kachhap@arm.com/

[3]
git://linux-arm.org/kvmtool-dm.git sve/v3/head
http://linux-arm.org/git?p=kvmtool-dm.git;a=shortlog;h=refs/heads/sve/v3/head

Amit Daniel Kachhap (1):
KVM: arm/arm64: Add a vcpu feature for pointer authentication

Dave Martin (8):
update_headers.sh: Add missing shell quoting
update_headers.sh: Cleanly report failure on error
update_headers.sh: arm64: Copy sve_context.h if available
update_headers: Sync kvm UAPI headers with linux v5.1-rc1
arm/arm64: Factor out ptrauth vcpu feature setup
arm64: Make ptrauth enable/disable diagnostics more user-friendly
arm64: Add SVE support
arm64: Select SVE vector lengths via the command line

arm/aarch32/include/kvm/kvm-cpu-arch.h | 7 ++
arm/aarch64/include/asm/kvm.h | 43 +++++++++
arm/aarch64/include/asm/sve_context.h | 53 +++++++++++
arm/aarch64/include/kvm/kvm-config-arch.h | 16 +++-
arm/aarch64/include/kvm/kvm-cpu-arch.h | 3 +
arm/aarch64/kvm-cpu.c | 148 ++++++++++++++++++++++++++++++
arm/include/arm-common/kvm-config-arch.h | 5 +
arm/kvm-cpu.c | 5 +
include/linux/kvm.h | 15 ++-
powerpc/include/asm/kvm.h | 48 ++++++++++
util/update_headers.sh | 25 +++--
x86/include/asm/kvm.h | 1 +
12 files changed, 360 insertions(+), 9 deletions(-)
create mode 100644 arm/aarch64/include/asm/sve_context.h

--
2.1.4