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: Marc Zyngier <maz@kernel.org>
This commit is contained in:
commit
b302ca52ba
@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 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,
|
|||||||
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);
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
// 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
|
||||||
|
Loading…
Reference in New Issue
Block a user