Commit b302ca52 authored by Marc Zyngier's avatar Marc Zyngier

Merge branch kvm-arm64/misc-6.1 into kvmarm-master/next

* kvm-arm64/misc-6.1:
  : .
  : Misc KVM/arm64 fixes and improvement for v6.1
  :
  : - Simplify the affinity check when moving a GICv3 collection
  :
  : - Tone down the shouting when kvm-arm.mode=protected is passed
  :   to a guest
  :
  : - Fix various comments
  :
  : - Advertise the new kvmarm@lists.linux.dev and deprecate the
  :   old Columbia list
  : .
  KVM: arm64: Advertise new kvmarm mailing list
  KVM: arm64: Fix comment typo in nvhe/switch.c
  KVM: selftests: Update top-of-file comment in psci_test
  KVM: arm64: Ignore kvm-arm.mode if !is_hyp_mode_available()
  KVM: arm64: vgic: Remove duplicate check in update_affinity_collection()
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parents 250012dd ac107abe
...@@ -11124,7 +11124,8 @@ R: Alexandru Elisei <alexandru.elisei@arm.com> ...@@ -11124,7 +11124,8 @@ R: Alexandru Elisei <alexandru.elisei@arm.com>
R: Suzuki K Poulose <suzuki.poulose@arm.com> R: Suzuki K Poulose <suzuki.poulose@arm.com>
R: Oliver Upton <oliver.upton@linux.dev> R: Oliver Upton <oliver.upton@linux.dev>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L: kvmarm@lists.cs.columbia.edu (moderated for non-subscribers) L: kvmarm@lists.linux.dev
L: kvmarm@lists.cs.columbia.edu (deprecated, moderated for non-subscribers)
S: Maintained S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git
F: arch/arm64/include/asm/kvm* F: arch/arm64/include/asm/kvm*
......
...@@ -2270,6 +2270,16 @@ static int __init early_kvm_mode_cfg(char *arg) ...@@ -2270,6 +2270,16 @@ static int __init early_kvm_mode_cfg(char *arg)
if (!arg) if (!arg)
return -EINVAL; return -EINVAL;
if (strcmp(arg, "none") == 0) {
kvm_mode = KVM_MODE_NONE;
return 0;
}
if (!is_hyp_mode_available()) {
pr_warn_once("KVM is not available. Ignoring kvm-arm.mode\n");
return 0;
}
if (strcmp(arg, "protected") == 0) { if (strcmp(arg, "protected") == 0) {
if (!is_kernel_in_hyp_mode()) if (!is_kernel_in_hyp_mode())
kvm_mode = KVM_MODE_PROTECTED; kvm_mode = KVM_MODE_PROTECTED;
...@@ -2284,11 +2294,6 @@ static int __init early_kvm_mode_cfg(char *arg) ...@@ -2284,11 +2294,6 @@ static int __init early_kvm_mode_cfg(char *arg)
return 0; return 0;
} }
if (strcmp(arg, "none") == 0) {
kvm_mode = KVM_MODE_NONE;
return 0;
}
return -EINVAL; return -EINVAL;
} }
early_param("kvm-arm.mode", early_kvm_mode_cfg); early_param("kvm-arm.mode", early_kvm_mode_cfg);
......
...@@ -143,7 +143,7 @@ static void __hyp_vgic_save_state(struct kvm_vcpu *vcpu) ...@@ -143,7 +143,7 @@ static void __hyp_vgic_save_state(struct kvm_vcpu *vcpu)
} }
} }
/* Restore VGICv3 state on non_VEH systems */ /* Restore VGICv3 state on non-VHE systems */
static void __hyp_vgic_restore_state(struct kvm_vcpu *vcpu) static void __hyp_vgic_restore_state(struct kvm_vcpu *vcpu)
{ {
if (static_branch_unlikely(&kvm_vgic_global_state.gicv3_cpuif)) { if (static_branch_unlikely(&kvm_vgic_global_state.gicv3_cpuif)) {
......
...@@ -406,7 +406,7 @@ static void update_affinity_collection(struct kvm *kvm, struct vgic_its *its, ...@@ -406,7 +406,7 @@ static void update_affinity_collection(struct kvm *kvm, struct vgic_its *its,
struct its_ite *ite; struct its_ite *ite;
for_each_lpi_its(device, ite, its) { for_each_lpi_its(device, ite, its) {
if (!ite->collection || coll != ite->collection) if (ite->collection != coll)
continue; continue;
update_affinity_ite(kvm, ite); update_affinity_ite(kvm, ite);
......
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* psci_cpu_on_test - Test that the observable state of a vCPU targeted by the * psci_test - Tests relating to KVM's PSCI implementation.
* CPU_ON PSCI call matches what the caller requested.
* *
* Copyright (c) 2021 Google LLC. * Copyright (c) 2021 Google LLC.
* *
* This is a regression test for a race between KVM servicing the PSCI call and * This test includes:
* userspace reading the vCPUs registers. * - A regression test for a race between KVM servicing the PSCI CPU_ON call
* and userspace reading the targeted vCPU's registers.
* - A test for KVM's handling of PSCI SYSTEM_SUSPEND and the associated
* KVM_SYSTEM_EVENT_SUSPEND UAPI.
*/ */
#define _GNU_SOURCE #define _GNU_SOURCE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment