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

KVM: s390: Extend diag 204 fields

The new store hypervisor information instruction, which we are going
to introduce, needs previously unused fields in diag 204 structures.

Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>

authored by

Janosch Frank and committed by
Christian Borntraeger
a2d57b35 a011eeb2

+15 -4
+15 -4
arch/s390/include/asm/diag.h
··· 97 97 DIAG204_INFO_EXT = 0x00010000 98 98 }; 99 99 100 + enum diag204_cpu_flags { 101 + DIAG204_CPU_ONLINE = 0x20, 102 + DIAG204_CPU_CAPPED = 0x40, 103 + }; 104 + 100 105 struct diag204_info_blk_hdr { 101 106 __u8 npar; 102 107 __u8 flags; ··· 141 136 __u64 online_cs; 142 137 __u64 online_es; 143 138 __u8 upid; 144 - char reserved1[3]; 139 + __u8 reserved:3; 140 + __u8 mtid:5; 141 + char reserved1[2]; 145 142 __u32 group_mlu; 146 143 char group_name[8]; 147 - char reserved2[32]; 144 + char hardware_group_name[8]; 145 + char reserved2[24]; 148 146 } __packed; 149 147 150 148 struct diag204_cpu_info { ··· 176 168 __u64 wait_time; 177 169 __u32 pma_weight; 178 170 __u32 polar_weight; 179 - char reserved3[40]; 171 + __u32 cpu_type_cap; 172 + __u32 group_cpu_type_cap; 173 + char reserved3[32]; 180 174 } __packed; 181 175 182 176 struct diag204_phys_hdr { ··· 209 199 __u16 cpu_addr; 210 200 char reserved1[2]; 211 201 __u8 ctidx; 212 - char reserved2[3]; 202 + char reserved2[1]; 203 + __u16 weight; 213 204 __u64 mgm_time; 214 205 char reserved3[80]; 215 206 } __packed;