Commit 9872e6bc authored by Marc Zyngier's avatar Marc Zyngier
Browse files

Merge branch kvm-arm64/psci-1.1 into kvmarm-master/next



* kvm-arm64/psci-1.1:
  : .
  : Limited PSCI-1.1 support from Will Deacon:
  :
  : This small series exposes the PSCI SYSTEM_RESET2 call to guests, which
  : allows the propagation of a "reset_type" and a "cookie" back to the VMM.
  : Although Linux guests only ever pass 0 for the type ("SYSTEM_WARM_RESET"),
  : the vendor-defined range can be used by a bootloader to provide additional
  : information about the reset, such as an error code.
  : .
  KVM: arm64: Really propagate PSCI SYSTEM_RESET2 arguments to userspace

Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parents 7297a8bc 9d3e7b7c
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -367,14 +367,14 @@ static int kvm_psci_1_x_call(struct kvm_vcpu *vcpu, u32 minor)
		if (minor >= 1) {
			arg = smccc_get_arg1(vcpu);

			if (arg > PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET &&
			    arg < PSCI_1_1_RESET_TYPE_VENDOR_START) {
				val = PSCI_RET_INVALID_PARAMS;
			} else {
			if (arg <= PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET ||
			    arg >= PSCI_1_1_RESET_TYPE_VENDOR_START) {
				kvm_psci_system_reset2(vcpu);
				val = PSCI_RET_INTERNAL_FAILURE;
				ret = 0;
				vcpu_set_reg(vcpu, 0, PSCI_RET_INTERNAL_FAILURE);
				return 0;
			}

			val = PSCI_RET_INVALID_PARAMS;
			break;
		}
		fallthrough;