|
@@ -1407,7 +1407,14 @@ static int kvmppc_get_one_reg_hv(struct kvm_vcpu *vcpu, u64 id,
|
|
|
*val = get_reg_val(id, vcpu->arch.pspb);
|
|
*val = get_reg_val(id, vcpu->arch.pspb);
|
|
|
break;
|
|
break;
|
|
|
case KVM_REG_PPC_DPDES:
|
|
case KVM_REG_PPC_DPDES:
|
|
|
- *val = get_reg_val(id, vcpu->arch.vcore->dpdes);
|
|
|
|
|
|
|
+ /*
|
|
|
|
|
+ * On POWER9, where we are emulating msgsndp etc.,
|
|
|
|
|
+ * we return 1 bit for each vcpu, which can come from
|
|
|
|
|
+ * either vcore->dpdes or doorbell_request.
|
|
|
|
|
+ * On POWER8, doorbell_request is 0.
|
|
|
|
|
+ */
|
|
|
|
|
+ *val = get_reg_val(id, vcpu->arch.vcore->dpdes |
|
|
|
|
|
+ vcpu->arch.doorbell_request);
|
|
|
break;
|
|
break;
|
|
|
case KVM_REG_PPC_VTB:
|
|
case KVM_REG_PPC_VTB:
|
|
|
*val = get_reg_val(id, vcpu->arch.vcore->vtb);
|
|
*val = get_reg_val(id, vcpu->arch.vcore->vtb);
|