qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qemu-s390x] [RFC 01/19] KVM: s390: SIE considerations for AP Queue


From: Tony Krowiak
Subject: Re: [qemu-s390x] [RFC 01/19] KVM: s390: SIE considerations for AP Queue virtualization
Date: Thu, 2 Nov 2017 15:53:26 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0

On 11/02/2017 07:54 AM, Christian Borntraeger wrote:
To make the whole series smaller I will apply some of these patches
directly (those of which are "obvious" and touch kvm/s390 only)
Okay


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 <address@hidden>
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 */
  };

  /*





reply via email to

[Prev in Thread] Current Thread [Next in Thread]