From: Amit Daniel Kachhap <amit.kachhap@arm.com> To: linux-arm-kernel@lists.infradead.org Cc: Christoffer Dall <christoffer.dall@arm.com>, Marc Zyngier <marc.zyngier@arm.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Andrew Jones <drjones@redhat.com>, Dave Martin <Dave.Martin@arm.com>, Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>, kvmarm@lists.cs.columbia.edu, Kristina Martsenko <kristina.martsenko@arm.com>, linux-kernel@vger.kernel.org, Amit Daniel Kachhap <amit.kachhap@arm.com>, Mark Rutland <mark.rutland@arm.com>, James Morse <james.morse@arm.com>, Julien Thierry <julien.thierry@arm.com> Subject: [PATCH v7 9/10] KVM: arm64: docs: document KVM support of pointer authentication Date: Tue, 19 Mar 2019 14:00:42 +0530 [thread overview] Message-ID: <1552984243-7689-10-git-send-email-amit.kachhap@arm.com> (raw) In-Reply-To: <1552984243-7689-1-git-send-email-amit.kachhap@arm.com> This adds sections for KVM API extension for pointer authentication. A brief description about usage of pointer authentication for KVM guests is added in the arm64 documentations. Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Christoffer Dall <christoffer.dall@arm.com> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: kvmarm@lists.cs.columbia.edu --- Documentation/arm64/pointer-authentication.txt | 15 +++++++++++---- Documentation/virtual/kvm/api.txt | 6 ++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Documentation/arm64/pointer-authentication.txt b/Documentation/arm64/pointer-authentication.txt index 5baca42..4b769e6 100644 --- a/Documentation/arm64/pointer-authentication.txt +++ b/Documentation/arm64/pointer-authentication.txt @@ -87,7 +87,14 @@ used to get and set the keys for a thread. Virtualization -------------- -Pointer authentication is not currently supported in KVM guests. KVM -will mask the feature bits from ID_AA64ISAR1_EL1, and attempted use of -the feature will result in an UNDEFINED exception being injected into -the guest. +Pointer authentication is enabled in KVM guest when each virtual cpu is +initialised by passing flags KVM_ARM_VCPU_PTRAUTH_[ADDRESS/GENERIC] and +requesting this feature to be enabled. Without this flag, pointer +authentication is not enabled in KVM guests and attempted use of the +feature will result in an UNDEFINED exception being injected into the +guest. + +Additionally, when these vcpu feature flags are not set then KVM will +filter out the Pointer Authentication system key registers from +KVM_GET/SET_REG_* ioctls and mask those features from cpufeature ID +register. diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index 7de9eee..b5c66bc 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt @@ -2659,6 +2659,12 @@ Possible features: Depends on KVM_CAP_ARM_PSCI_0_2. - KVM_ARM_VCPU_PMU_V3: Emulate PMUv3 for the CPU. Depends on KVM_CAP_ARM_PMU_V3. + - KVM_ARM_VCPU_PTRAUTH_ADDRESS: + - KVM_ARM_VCPU_PTRAUTH_GENERIC: + Enables Pointer authentication for the CPU. + Depends on KVM_CAP_ARM_PTRAUTH and only on arm64 architecture. If + set, then the KVM guest allows the execution of pointer authentication + instructions. Otherwise, KVM treats these instructions as undefined. 4.83 KVM_ARM_PREFERRED_TARGET -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Amit Daniel Kachhap <amit.kachhap@arm.com> To: linux-arm-kernel@lists.infradead.org Cc: Mark Rutland <mark.rutland@arm.com>, Andrew Jones <drjones@redhat.com>, Julien Thierry <julien.thierry@arm.com>, Marc Zyngier <marc.zyngier@arm.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Christoffer Dall <christoffer.dall@arm.com>, Kristina Martsenko <kristina.martsenko@arm.com>, kvmarm@lists.cs.columbia.edu, James Morse <james.morse@arm.com>, Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>, Amit Daniel Kachhap <amit.kachhap@arm.com>, Dave Martin <Dave.Martin@arm.com>, linux-kernel@vger.kernel.org Subject: [PATCH v7 9/10] KVM: arm64: docs: document KVM support of pointer authentication Date: Tue, 19 Mar 2019 14:00:42 +0530 [thread overview] Message-ID: <1552984243-7689-10-git-send-email-amit.kachhap@arm.com> (raw) In-Reply-To: <1552984243-7689-1-git-send-email-amit.kachhap@arm.com> This adds sections for KVM API extension for pointer authentication. A brief description about usage of pointer authentication for KVM guests is added in the arm64 documentations. Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Christoffer Dall <christoffer.dall@arm.com> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: kvmarm@lists.cs.columbia.edu --- Documentation/arm64/pointer-authentication.txt | 15 +++++++++++---- Documentation/virtual/kvm/api.txt | 6 ++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Documentation/arm64/pointer-authentication.txt b/Documentation/arm64/pointer-authentication.txt index 5baca42..4b769e6 100644 --- a/Documentation/arm64/pointer-authentication.txt +++ b/Documentation/arm64/pointer-authentication.txt @@ -87,7 +87,14 @@ used to get and set the keys for a thread. Virtualization -------------- -Pointer authentication is not currently supported in KVM guests. KVM -will mask the feature bits from ID_AA64ISAR1_EL1, and attempted use of -the feature will result in an UNDEFINED exception being injected into -the guest. +Pointer authentication is enabled in KVM guest when each virtual cpu is +initialised by passing flags KVM_ARM_VCPU_PTRAUTH_[ADDRESS/GENERIC] and +requesting this feature to be enabled. Without this flag, pointer +authentication is not enabled in KVM guests and attempted use of the +feature will result in an UNDEFINED exception being injected into the +guest. + +Additionally, when these vcpu feature flags are not set then KVM will +filter out the Pointer Authentication system key registers from +KVM_GET/SET_REG_* ioctls and mask those features from cpufeature ID +register. diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index 7de9eee..b5c66bc 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt @@ -2659,6 +2659,12 @@ Possible features: Depends on KVM_CAP_ARM_PSCI_0_2. - KVM_ARM_VCPU_PMU_V3: Emulate PMUv3 for the CPU. Depends on KVM_CAP_ARM_PMU_V3. + - KVM_ARM_VCPU_PTRAUTH_ADDRESS: + - KVM_ARM_VCPU_PTRAUTH_GENERIC: + Enables Pointer authentication for the CPU. + Depends on KVM_CAP_ARM_PTRAUTH and only on arm64 architecture. If + set, then the KVM guest allows the execution of pointer authentication + instructions. Otherwise, KVM treats these instructions as undefined. 4.83 KVM_ARM_PREFERRED_TARGET -- 2.7.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-03-19 8:31 UTC|newest] Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-19 8:30 [PATCH v7 0/10] Add ARMv8.3 pointer authentication for kvm guest Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 1/10] KVM: arm64: Propagate vcpu into read_id_reg() Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 2/10] KVM: arm64: Support runtime sysreg visibility filtering Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 3/10] KVM: arm64: Move hyp_symbol_addr to fix dependency Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-20 8:49 ` Julien Thierry 2019-03-20 8:49 ` Julien Thierry 2019-03-21 5:29 ` Amit Daniel Kachhap 2019-03-21 5:29 ` Amit Daniel Kachhap 2019-03-21 5:29 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 4/10] KVM: arm/arm64: preserve host HCR_EL2 value Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 5/10] KVM: arm/arm64: preserve host MDCR_EL2 value Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-25 20:04 ` Kristina Martsenko 2019-03-25 20:04 ` Kristina Martsenko 2019-03-26 3:55 ` Amit Daniel Kachhap 2019-03-26 3:55 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 6/10] KVM: arm64: Add vcpu feature flags to control ptrauth accessibility Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 7/10] KVM: arm/arm64: context-switch ptrauth registers Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-20 12:13 ` Julien Thierry 2019-03-20 12:13 ` Julien Thierry 2019-03-21 6:08 ` Amit Daniel Kachhap 2019-03-21 6:08 ` Amit Daniel Kachhap 2019-03-21 8:29 ` Julien Thierry 2019-03-21 8:29 ` Julien Thierry 2019-03-25 20:04 ` Kristina Martsenko 2019-03-25 20:04 ` Kristina Martsenko 2019-03-26 4:03 ` Amit Daniel Kachhap 2019-03-26 4:03 ` Amit Daniel Kachhap 2019-03-26 18:01 ` Kristina Martsenko 2019-03-26 18:01 ` Kristina Martsenko 2019-03-27 3:21 ` Amit Daniel Kachhap 2019-03-27 3:21 ` Amit Daniel Kachhap 2019-03-27 3:21 ` Amit Daniel Kachhap 2019-03-27 18:16 ` James Morse 2019-03-27 18:16 ` James Morse 2019-03-27 18:16 ` James Morse 2019-03-28 11:29 ` Amit Daniel Kachhap 2019-03-28 11:29 ` Amit Daniel Kachhap 2019-03-28 18:51 ` James Morse 2019-03-28 18:51 ` James Morse 2019-03-29 5:54 ` Amit Daniel Kachhap 2019-03-29 5:54 ` Amit Daniel Kachhap 2019-03-29 5:54 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [PATCH v7 8/10] KVM: arm64: Add capability to advertise ptrauth for guest Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap 2019-03-25 20:05 ` Kristina Martsenko 2019-03-25 20:05 ` Kristina Martsenko 2019-03-26 4:12 ` Amit Daniel Kachhap 2019-03-26 4:12 ` Amit Daniel Kachhap 2019-03-26 4:12 ` Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap [this message] 2019-03-19 8:30 ` [PATCH v7 9/10] KVM: arm64: docs: document KVM support of pointer authentication Amit Daniel Kachhap 2019-03-20 13:37 ` Julien Thierry 2019-03-20 13:37 ` Julien Thierry 2019-03-20 15:04 ` Kristina Martsenko 2019-03-20 15:04 ` Kristina Martsenko 2019-03-20 18:06 ` Julien Thierry 2019-03-20 18:06 ` Julien Thierry 2019-03-20 20:56 ` Kristina Martsenko 2019-03-20 20:56 ` Kristina Martsenko 2019-03-21 6:41 ` Amit Daniel Kachhap 2019-03-21 6:41 ` Amit Daniel Kachhap 2019-03-25 20:05 ` Kristina Martsenko 2019-03-25 20:05 ` Kristina Martsenko 2019-03-27 10:44 ` Dave Martin 2019-03-27 10:44 ` Dave Martin 2019-03-27 11:49 ` Amit Daniel Kachhap 2019-03-27 11:49 ` Amit Daniel Kachhap 2019-03-27 13:50 ` Dave Martin 2019-03-27 13:50 ` Dave Martin 2019-03-28 10:13 ` Amit Daniel Kachhap 2019-03-28 10:13 ` Amit Daniel Kachhap 2019-03-19 8:30 ` [kvmtool PATCH v7 10/10] KVM: arm/arm64: Add a vcpu feature for " Amit Daniel Kachhap 2019-03-19 8:30 ` Amit Daniel Kachhap
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1552984243-7689-10-git-send-email-amit.kachhap@arm.com \ --to=amit.kachhap@arm.com \ --cc=Dave.Martin@arm.com \ --cc=catalin.marinas@arm.com \ --cc=christoffer.dall@arm.com \ --cc=drjones@redhat.com \ --cc=james.morse@arm.com \ --cc=julien.thierry@arm.com \ --cc=kristina.martsenko@arm.com \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=mark.rutland@arm.com \ --cc=ramana.radhakrishnan@arm.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.