Message ID | 20220721132256.2171-12-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dump: Add arch section and s390x PV dump | expand |
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);
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);
Add a protected dump capability for later feature checking. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> --- target/s390x/kvm/kvm.c | 7 +++++++ target/s390x/kvm/kvm_s390x.h | 1 + 2 files changed, 8 insertions(+)