Blob Blame History Raw
From: Farhan Ali <alifm@linux.ibm.com>
Subject: KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2
Patch-mainline: v4.20-rc1
Git-commit: 9ee71f20cb8d90e156c0e00ff9949328f455b06b
References: FATE#326370, LTC#169186, bsc#1113483

Summary:     kernel: AP Crypto Passthrough 
Description: This adds support for AP crypto passthrough for 
             kvm guests.

Upstream-Description:

             KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2

             When the guest schedules a SIE with a FORMAT-0 CRYCB,
             we are able to schedule it in the host with a FORMAT-2
             CRYCB if the host uses FORMAT-2

             Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
             Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
             Message-Id: <20180925231641.4954-24-akrowiak@linux.vnet.ibm.com>
             Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>

Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 arch/s390/kvm/vsie.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/arch/s390/kvm/vsie.c
+++ b/arch/s390/kvm/vsie.c
@@ -236,7 +236,9 @@ static int setup_apcb(struct kvm_vcpu *v
 
 		switch (fmt_h) {
 		case CRYCB_FORMAT2:
-			return -EINVAL;
+			return setup_apcb10(vcpu, &crycb_s->apcb1,
+					    (unsigned long) &crycb->apcb0,
+					    &crycb_h->apcb1);
 		case CRYCB_FORMAT1:
 		case CRYCB_FORMAT0:
 			return setup_apcb00(vcpu,