On 7/21/22 15:22, Janosch Frank wrote:
> Add a protected dump capability for later feature checking.
>
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
> ---
> target/s390x/kvm/kvm.c | 7 +++++++
> target/s390x/kvm/kvm_s390x.h | 1 +
> 2 files changed, 8 insertions(+)
>
> diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
> index 7bd8db0e7b..cbd8c91424 100644
> --- a/target/s390x/kvm/kvm.c
> +++ b/target/s390x/kvm/kvm.c
> @@ -157,6 +157,7 @@ static int cap_ri;
> static int cap_hpage_1m;
> static int cap_vcpu_resets;
> static int cap_protected;
> +static int cap_protected_dump;
>
> static bool mem_op_storage_key_support;
>
> @@ -362,6 +363,7 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
> cap_s390_irq = kvm_check_extension(s, KVM_CAP_S390_INJECT_IRQ);
> cap_vcpu_resets = kvm_check_extension(s, KVM_CAP_S390_VCPU_RESETS);
> cap_protected = kvm_check_extension(s, KVM_CAP_S390_PROTECTED);
> + cap_protected_dump = kvm_check_extension(s, KVM_CAP_S390_PROTECTED_DUMP);
>
> kvm_vm_enable_cap(s, KVM_CAP_S390_USER_SIGP, 0);
> kvm_vm_enable_cap(s, KVM_CAP_S390_VECTOR_REGISTERS, 0);
> @@ -2043,6 +2045,11 @@ int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
> return kvm_vm_ioctl(kvm_state, KVM_IOEVENTFD, &kick);
> }
>
> +int kvm_s390_get_protected_dump(void)
> +{
> + return cap_protected_dump;
> +}
> +
> int kvm_s390_get_ri(void)
> {
> return cap_ri;
> diff --git a/target/s390x/kvm/kvm_s390x.h b/target/s390x/kvm/kvm_s390x.h
> index 05a5e1e6f4..31a69f9ce2 100644
> --- a/target/s390x/kvm/kvm_s390x.h
> +++ b/target/s390x/kvm/kvm_s390x.h
> @@ -26,6 +26,7 @@ int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
> void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
> int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
> int kvm_s390_get_hpage_1m(void);
> +int kvm_s390_get_protected_dump(void);
> int kvm_s390_get_ri(void);
> int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock);
> int kvm_s390_get_clock_ext(uint8_t *tod_high, uint64_t *tod_clock);