[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 13/17] linux header sync
From: |
Marc-André Lureau |
Subject: |
Re: [PATCH v4 13/17] linux header sync |
Date: |
Tue, 26 Jul 2022 15:03:00 +0400 |
On Tue, Jul 26, 2022 at 1:24 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.
>
> Also add the missing NT_S390_RI_CB and the new NT_S390_PV_CPU_DATA elf
> note types.
>
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
This patch could be committed by mistake, I keep my recommendation to
add a WIP: prefix in the title until it is officially in the kernel.
And it would be useful to link to the kernel patch submission.
> ---
> include/elf.h | 2 ++
> linux-headers/linux/kvm.h | 54 +++++++++++++++++++++++++++++++++++++++
> 2 files changed, 56 insertions(+)
>
> diff --git a/include/elf.h b/include/elf.h
> index 3a4bcb646a..94fdcfd8dc 100644
> --- a/include/elf.h
> +++ b/include/elf.h
> @@ -1649,6 +1649,8 @@ typedef struct elf64_shdr {
> #define NT_TASKSTRUCT 4
> #define NT_AUXV 6
> #define NT_PRXFPREG 0x46e62b7f /* copied from
> gdb5.1/include/elf/common.h */
> +#define NT_S390_PV_CPU_DATA 0x30e /* s390 protvirt cpu dump data */
> +#define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation */
> #define NT_S390_GS_CB 0x30b /* s390 guarded storage registers */
> #define NT_S390_VXRS_HIGH 0x30a /* s390 vector registers 16-31 */
> #define NT_S390_VXRS_LOW 0x309 /* s390 vector registers 0-15 (lower
> half) */
> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
> index f089349149..46133ef36c 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 {
> @@ -2067,4 +2119,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
>
- Re: [PATCH v4 11/17] dump/dump: Add section string table support, (continued)
- [PATCH v4 15/17] s390x: Introduce PV query interface, Janosch Frank, 2022/07/26
- [PATCH v4 16/17] s390x: Add KVM PV dump interface, Janosch Frank, 2022/07/26
- [PATCH v4 14/17] s390x: Add protected dump cap, Janosch Frank, 2022/07/26
- [PATCH v4 13/17] linux header sync, Janosch Frank, 2022/07/26
- Re: [PATCH v4 13/17] linux header sync,
Marc-André Lureau <=
- [PATCH v4 17/17] s390x: pv: Add dump support, Janosch Frank, 2022/07/26