Skip to content

Commit

Permalink
target/s390x/kvm: Turn KVM_CAP_SYNC_REGS into a hard requirement
Browse files Browse the repository at this point in the history
Since we already require at least kernel 3.15 in the s390x KVM code,
we can assume that the KVM_CAP_SYNC_REGS capability is always there.
Thus turn this into a hard requirement now.

Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Message-ID: <20231011080538.796999-2-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
  • Loading branch information
huth committed Oct 18, 2023
1 parent 8431309 commit 715edde
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions target/s390x/kvm/kvm.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,21 +338,29 @@ int kvm_arch_get_default_type(MachineState *ms)

int kvm_arch_init(MachineState *ms, KVMState *s)
{
int required_caps[] = {
KVM_CAP_DEVICE_CTRL,
KVM_CAP_SYNC_REGS,
};

for (int i = 0; i < ARRAY_SIZE(required_caps); i++) {
if (!kvm_check_extension(s, required_caps[i])) {
error_report("KVM is missing capability #%d - "
"please use kernel 3.15 or newer", required_caps[i]);
return -1;
}
}

object_class_foreach(ccw_machine_class_foreach, TYPE_S390_CCW_MACHINE,
false, NULL);

if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) {
error_report("KVM is missing capability KVM_CAP_DEVICE_CTRL - "
"please use kernel 3.15 or newer");
return -1;
}
if (!kvm_check_extension(s, KVM_CAP_S390_COW)) {
error_report("KVM is missing capability KVM_CAP_S390_COW - "
"unsupported environment");
return -1;
}

cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS);
cap_sync_regs = true;
cap_async_pf = kvm_check_extension(s, KVM_CAP_ASYNC_PF);
cap_mem_op = kvm_check_extension(s, KVM_CAP_S390_MEM_OP);
cap_mem_op_extension = kvm_check_extension(s, KVM_CAP_S390_MEM_OP_EXTENSION);
Expand Down

0 comments on commit 715edde

Please sign in to comment.