To make the whole series smaller I will apply some of these patches directly (those of which are "obvious" and touch kvm/s390 only) On 10/13/2017 07:38 PM, Tony Krowiak wrote: > The Crypto Control Block (CRYCB) is referenced by the SIE state > description and controls KVM guest access to the Adjunct > Processor (AP) adapters, usage domains and control domains. > This patch defines the AP control blocks to be used for > controlling guest access to the AP adapters and domains. > > Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> thanks applied. > --- > arch/s390/include/asm/kvm_host.h | 25 +++++++++++++++++++++---- > 1 files changed, 21 insertions(+), 4 deletions(-) > > diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h > index 51375e7..50a6b25 100644 > --- a/arch/s390/include/asm/kvm_host.h > +++ b/arch/s390/include/asm/kvm_host.h > @@ -685,11 +685,28 @@ struct kvm_s390_crypto { > __u8 dea_kw; > }; > > +#define APCB0_MASK_SIZE 1 > +struct kvm_s390_apcb0 { > + __u64 apm[APCB0_MASK_SIZE]; /* 0x0000 */ > + __u64 aqm[APCB0_MASK_SIZE]; /* 0x0008 */ > + __u64 adm[APCB0_MASK_SIZE]; /* 0x0010 */ > + __u64 reserved18; /* 0x0018 */ > +}; > + > +#define APCB1_MASK_SIZE 4 > +struct kvm_s390_apcb1 { > + __u64 apm[APCB1_MASK_SIZE]; /* 0x0000 */ > + __u64 aqm[APCB1_MASK_SIZE]; /* 0x0020 */ > + __u64 adm[APCB1_MASK_SIZE]; /* 0x0040 */ > + __u64 reserved60[4]; /* 0x0060 */ > +}; > + > struct kvm_s390_crypto_cb { > - __u8 reserved00[72]; /* 0x0000 */ > - __u8 dea_wrapping_key_mask[24]; /* 0x0048 */ > - __u8 aes_wrapping_key_mask[32]; /* 0x0060 */ > - __u8 reserved80[128]; /* 0x0080 */ > + struct kvm_s390_apcb0 apcb0; /* 0x0000 */ > + __u8 reserved20[40]; /* 0x0020 */ > + __u8 dea_wrapping_key_mask[24]; /* 0x0048 */ > + __u8 aes_wrapping_key_mask[32]; /* 0x0060 */ > + struct kvm_s390_apcb1 apcb1; /* 0x0080 */ > }; > > /* >