On 24/10/2019 13.40, Janosch Frank wrote: > From: Michael Mueller <mimu@xxxxxxxxxxxxx> > > The following fields are added to the sie control block type 4: > - Machine Check Interruption Code (mcic) > - External Damage Code (edc) > - Failing Storage Address (faddr) > > Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxx> > --- > arch/s390/include/asm/kvm_host.h | 33 +++++++++++++++++++++++--------- > 1 file changed, 24 insertions(+), 9 deletions(-) > > diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h > index 63fc32d38aa9..0ab309b7bf4c 100644 > --- a/arch/s390/include/asm/kvm_host.h > +++ b/arch/s390/include/asm/kvm_host.h > @@ -261,16 +261,31 @@ struct kvm_s390_sie_block { > #define HPID_VSIE 0x5 > __u8 hpid; /* 0x00b8 */ > __u8 reservedb9[7]; /* 0x00b9 */ > - __u32 eiparams; /* 0x00c0 */ > - __u16 extcpuaddr; /* 0x00c4 */ > - __u16 eic; /* 0x00c6 */ > + union { > + struct { > + __u32 eiparams; /* 0x00c0 */ > + __u16 extcpuaddr; /* 0x00c4 */ > + __u16 eic; /* 0x00c6 */ > + }; > + __u64 mcic; /* 0x00c0 */ > + } __packed; > __u32 reservedc8; /* 0x00c8 */ > - __u16 pgmilc; /* 0x00cc */ > - __u16 iprcc; /* 0x00ce */ > - __u32 dxc; /* 0x00d0 */ > - __u16 mcn; /* 0x00d4 */ > - __u8 perc; /* 0x00d6 */ > - __u8 peratmid; /* 0x00d7 */ > + union { > + struct { > + __u16 pgmilc; /* 0x00cc */ > + __u16 iprcc; /* 0x00ce */ > + }; > + __u32 edc; /* 0x00cc */ > + } __packed; > + union { > + struct { > + __u32 dxc; /* 0x00d0 */ > + __u16 mcn; /* 0x00d4 */ > + __u8 perc; /* 0x00d6 */ > + __u8 peratmid; /* 0x00d7 */ > + }; > + __u64 faddr; /* 0x00d0 */ > + } __packed; Maybe drop the __packed keywords since the struct members are naturally aligned anyway? Thomas