Commit ba850a8e authored by Tony Krowiak's avatar Tony Krowiak Committed by Christian Borntraeger

KVM: s390: SIE considerations for AP Queue virtualization

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: default avatarTony Krowiak <akrowiak@linux.vnet.ibm.com>
Message-Id: <1507916344-3896-2-git-send-email-akrowiak@linux.vnet.ibm.com>
Acked-by: default avatarCornelia Huck <cohuck@redhat.com>
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 72e1ad42
...@@ -685,11 +685,28 @@ struct kvm_s390_crypto { ...@@ -685,11 +685,28 @@ struct kvm_s390_crypto {
__u8 dea_kw; __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 { struct kvm_s390_crypto_cb {
__u8 reserved00[72]; /* 0x0000 */ struct kvm_s390_apcb0 apcb0; /* 0x0000 */
__u8 dea_wrapping_key_mask[24]; /* 0x0048 */ __u8 reserved20[0x0048 - 0x0020]; /* 0x0020 */
__u8 aes_wrapping_key_mask[32]; /* 0x0060 */ __u8 dea_wrapping_key_mask[24]; /* 0x0048 */
__u8 reserved80[128]; /* 0x0080 */ __u8 aes_wrapping_key_mask[32]; /* 0x0060 */
struct kvm_s390_apcb1 apcb1; /* 0x0080 */
}; };
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment