Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: s390: Add KVM_CAP_S390_PROTECTED_DUMP

The capability indicates dump support for protected VMs.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20220517163629.3443-9-frankja@linux.ibm.com
Message-Id: <20220517163629.3443-9-frankja@linux.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>

authored by

Janosch Frank and committed by
Christian Borntraeger
e9bf3acb 8aba0958

+21
+20
arch/s390/kvm/kvm-s390.c
··· 606 606 case KVM_CAP_S390_PROTECTED: 607 607 r = is_prot_virt_host(); 608 608 break; 609 + case KVM_CAP_S390_PROTECTED_DUMP: { 610 + u64 pv_cmds_dump[] = { 611 + BIT_UVC_CMD_DUMP_INIT, 612 + BIT_UVC_CMD_DUMP_CONFIG_STOR_STATE, 613 + BIT_UVC_CMD_DUMP_CPU, 614 + BIT_UVC_CMD_DUMP_COMPLETE, 615 + }; 616 + int i; 617 + 618 + r = is_prot_virt_host(); 619 + 620 + for (i = 0; i < ARRAY_SIZE(pv_cmds_dump); i++) { 621 + if (!test_bit_inv(pv_cmds_dump[i], 622 + (unsigned long *)&uv_info.inst_calls_list)) { 623 + r = 0; 624 + break; 625 + } 626 + } 627 + break; 628 + } 609 629 default: 610 630 r = 0; 611 631 }
+1
include/uapi/linux/kvm.h
··· 1157 1157 #define KVM_CAP_VM_TSC_CONTROL 214 1158 1158 #define KVM_CAP_SYSTEM_EVENT_DATA 215 1159 1159 #define KVM_CAP_ARM_SYSTEM_SUSPEND 216 1160 + #define KVM_CAP_S390_PROTECTED_DUMP 217 1160 1161 1161 1162 #ifdef KVM_CAP_IRQ_ROUTING 1162 1163