Message ID | 20220721132256.2171-11-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dump: Add arch section and s390x PV dump | expand |
On Thu, Jul 21, 2022 at 5:23 PM Janosch Frank <frankja@linux.ibm.com> wrote: > > Add the uapi data for KVM_CAP_S390_PROTECTED_DUMP which I expect to be > added with 5.20. It's going to be overwritten by the next update-linux-headers.sh. I'd mark this patch as WIP or Draft: in the title until it's actually sync and imported from the kernel. > > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> > --- > linux-headers/linux/kvm.h | 54 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 54 insertions(+) > > diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h > index 0d05d02ee4..213216c27c 100644 > --- a/linux-headers/linux/kvm.h > +++ b/linux-headers/linux/kvm.h > @@ -1150,6 +1150,7 @@ struct kvm_ppc_resize_hpt { > #define KVM_CAP_DISABLE_QUIRKS2 213 > /* #define KVM_CAP_VM_TSC_CONTROL 214 */ > #define KVM_CAP_SYSTEM_EVENT_DATA 215 > +#define KVM_CAP_S390_PROTECTED_DUMP 217 > > #ifdef KVM_CAP_IRQ_ROUTING > > @@ -1651,6 +1652,55 @@ struct kvm_s390_pv_unp { > __u64 tweak; > }; > > +enum pv_cmd_info_id { > + KVM_PV_INFO_VM, > + KVM_PV_INFO_DUMP, > +}; > + > +struct kvm_s390_pv_info_dump { > + __u64 dump_cpu_buffer_len; > + __u64 dump_config_mem_buffer_per_1m; > + __u64 dump_config_finalize_len; > +}; > + > +struct kvm_s390_pv_info_vm { > + __u64 inst_calls_list[4]; > + __u64 max_cpus; > + __u64 max_guests; > + __u64 max_guest_addr; > + __u64 feature_indication; > +}; > + > +struct kvm_s390_pv_info_header { > + __u32 id; > + __u32 len_max; > + __u32 len_written; > + __u32 reserved; > +}; > + > +struct kvm_s390_pv_info { > + struct kvm_s390_pv_info_header header; > + union { > + struct kvm_s390_pv_info_dump dump; > + struct kvm_s390_pv_info_vm vm; > + }; > +}; > + > +enum pv_cmd_dmp_id { > + KVM_PV_DUMP_INIT, > + KVM_PV_DUMP_CONFIG_STATE, > + KVM_PV_DUMP_COMPLETE, > + KVM_PV_DUMP_CPU, > +}; > + > +struct kvm_s390_pv_dmp { > + __u64 subcmd; > + __u64 buff_addr; > + __u64 buff_len; > + __u64 gaddr; > + __u64 reserved[4]; > +}; > + > enum pv_cmd_id { > KVM_PV_ENABLE, > KVM_PV_DISABLE, > @@ -1659,6 +1709,8 @@ enum pv_cmd_id { > KVM_PV_VERIFY, > KVM_PV_PREP_RESET, > KVM_PV_UNSHARE_ALL, > + KVM_PV_INFO, > + KVM_PV_DUMP, > }; > > struct kvm_pv_cmd { > @@ -2066,4 +2118,6 @@ struct kvm_stats_desc { > /* Available with KVM_CAP_XSAVE2 */ > #define KVM_GET_XSAVE2 _IOR(KVMIO, 0xcf, struct kvm_xsave) > > +#define KVM_S390_PV_CPU_COMMAND _IOWR(KVMIO, 0xd0, struct kvm_pv_cmd) > + > #endif /* __LINUX_KVM_H */ > -- > 2.34.1 >
On 7/21/22 17:05, Marc-André Lureau wrote: > On Thu, Jul 21, 2022 at 5:23 PM Janosch Frank <frankja@linux.ibm.com> wrote: >> >> Add the uapi data for KVM_CAP_S390_PROTECTED_DUMP which I expect to be >> added with 5.20. > > It's going to be overwritten by the next update-linux-headers.sh. I'd > mark this patch as WIP or Draft: in the title until it's actually sync > and imported from the kernel. Yes, such patches are normally just ignored by maintainers as they provide their own sync patch that's why it doesn't have a proper subject or a WIP prefix. It's needed to be able to compile it until the proper sync has arrived. > > >> >> Signed-off-by: Janosch Frank <frankja@linux.ibm.com> >> --- >> linux-headers/linux/kvm.h | 54 +++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 54 insertions(+) >> >> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h >> index 0d05d02ee4..213216c27c 100644 >> --- a/linux-headers/linux/kvm.h >> +++ b/linux-headers/linux/kvm.h >> @@ -1150,6 +1150,7 @@ struct kvm_ppc_resize_hpt { >> #define KVM_CAP_DISABLE_QUIRKS2 213 >> /* #define KVM_CAP_VM_TSC_CONTROL 214 */ >> #define KVM_CAP_SYSTEM_EVENT_DATA 215 >> +#define KVM_CAP_S390_PROTECTED_DUMP 217 >> >> #ifdef KVM_CAP_IRQ_ROUTING >> >> @@ -1651,6 +1652,55 @@ struct kvm_s390_pv_unp { >> __u64 tweak; >> }; >> >> +enum pv_cmd_info_id { >> + KVM_PV_INFO_VM, >> + KVM_PV_INFO_DUMP, >> +}; >> + >> +struct kvm_s390_pv_info_dump { >> + __u64 dump_cpu_buffer_len; >> + __u64 dump_config_mem_buffer_per_1m; >> + __u64 dump_config_finalize_len; >> +}; >> + >> +struct kvm_s390_pv_info_vm { >> + __u64 inst_calls_list[4]; >> + __u64 max_cpus; >> + __u64 max_guests; >> + __u64 max_guest_addr; >> + __u64 feature_indication; >> +}; >> + >> +struct kvm_s390_pv_info_header { >> + __u32 id; >> + __u32 len_max; >> + __u32 len_written; >> + __u32 reserved; >> +}; >> + >> +struct kvm_s390_pv_info { >> + struct kvm_s390_pv_info_header header; >> + union { >> + struct kvm_s390_pv_info_dump dump; >> + struct kvm_s390_pv_info_vm vm; >> + }; >> +}; >> + >> +enum pv_cmd_dmp_id { >> + KVM_PV_DUMP_INIT, >> + KVM_PV_DUMP_CONFIG_STATE, >> + KVM_PV_DUMP_COMPLETE, >> + KVM_PV_DUMP_CPU, >> +}; >> + >> +struct kvm_s390_pv_dmp { >> + __u64 subcmd; >> + __u64 buff_addr; >> + __u64 buff_len; >> + __u64 gaddr; >> + __u64 reserved[4]; >> +}; >> + >> enum pv_cmd_id { >> KVM_PV_ENABLE, >> KVM_PV_DISABLE, >> @@ -1659,6 +1709,8 @@ enum pv_cmd_id { >> KVM_PV_VERIFY, >> KVM_PV_PREP_RESET, >> KVM_PV_UNSHARE_ALL, >> + KVM_PV_INFO, >> + KVM_PV_DUMP, >> }; >> >> struct kvm_pv_cmd { >> @@ -2066,4 +2118,6 @@ struct kvm_stats_desc { >> /* Available with KVM_CAP_XSAVE2 */ >> #define KVM_GET_XSAVE2 _IOR(KVMIO, 0xcf, struct kvm_xsave) >> >> +#define KVM_S390_PV_CPU_COMMAND _IOWR(KVMIO, 0xd0, struct kvm_pv_cmd) >> + >> #endif /* __LINUX_KVM_H */ >> -- >> 2.34.1 >> >
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index 0d05d02ee4..213216c27c 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -1150,6 +1150,7 @@ struct kvm_ppc_resize_hpt { #define KVM_CAP_DISABLE_QUIRKS2 213 /* #define KVM_CAP_VM_TSC_CONTROL 214 */ #define KVM_CAP_SYSTEM_EVENT_DATA 215 +#define KVM_CAP_S390_PROTECTED_DUMP 217 #ifdef KVM_CAP_IRQ_ROUTING @@ -1651,6 +1652,55 @@ struct kvm_s390_pv_unp { __u64 tweak; }; +enum pv_cmd_info_id { + KVM_PV_INFO_VM, + KVM_PV_INFO_DUMP, +}; + +struct kvm_s390_pv_info_dump { + __u64 dump_cpu_buffer_len; + __u64 dump_config_mem_buffer_per_1m; + __u64 dump_config_finalize_len; +}; + +struct kvm_s390_pv_info_vm { + __u64 inst_calls_list[4]; + __u64 max_cpus; + __u64 max_guests; + __u64 max_guest_addr; + __u64 feature_indication; +}; + +struct kvm_s390_pv_info_header { + __u32 id; + __u32 len_max; + __u32 len_written; + __u32 reserved; +}; + +struct kvm_s390_pv_info { + struct kvm_s390_pv_info_header header; + union { + struct kvm_s390_pv_info_dump dump; + struct kvm_s390_pv_info_vm vm; + }; +}; + +enum pv_cmd_dmp_id { + KVM_PV_DUMP_INIT, + KVM_PV_DUMP_CONFIG_STATE, + KVM_PV_DUMP_COMPLETE, + KVM_PV_DUMP_CPU, +}; + +struct kvm_s390_pv_dmp { + __u64 subcmd; + __u64 buff_addr; + __u64 buff_len; + __u64 gaddr; + __u64 reserved[4]; +}; + enum pv_cmd_id { KVM_PV_ENABLE, KVM_PV_DISABLE, @@ -1659,6 +1709,8 @@ enum pv_cmd_id { KVM_PV_VERIFY, KVM_PV_PREP_RESET, KVM_PV_UNSHARE_ALL, + KVM_PV_INFO, + KVM_PV_DUMP, }; struct kvm_pv_cmd { @@ -2066,4 +2118,6 @@ struct kvm_stats_desc { /* Available with KVM_CAP_XSAVE2 */ #define KVM_GET_XSAVE2 _IOR(KVMIO, 0xcf, struct kvm_xsave) +#define KVM_S390_PV_CPU_COMMAND _IOWR(KVMIO, 0xd0, struct kvm_pv_cmd) + #endif /* __LINUX_KVM_H */
Add the uapi data for KVM_CAP_S390_PROTECTED_DUMP which I expect to be added with 5.20. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> --- linux-headers/linux/kvm.h | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+)