Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp632211imm; Wed, 22 Aug 2018 09:53:54 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYcqvsbsV/wMZyX1nSA1R+IaPBtojcXgJMeUDQAF1RS5lYKrDF98R0gy9BwfheF1kXiBWKF X-Received: by 2002:a17:902:8bcc:: with SMTP id r12-v6mr2531808plo.113.1534956834081; Wed, 22 Aug 2018 09:53:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534956834; cv=none; d=google.com; s=arc-20160816; b=JQBuUTkNWp8QXDnx7xJVUFYtQOjaaigExkuUevMV/AVv8HRHBadOHngDRIhmRt9GNs avYF94Dksmx1svxj/puw5dKP/6IQtqctEsnR2z4ZlotBs77ML7KHkoVZE0p1qO+tptVL HCwuZXQfSac5gmWYAHTVH6Qt7CqLdOcQo5DdQbaW3C1i4ZQlDnI/vBzvh+h3elr+aPjQ GrXhIOmIUoJ8gCIMVr96vTw84vaBKXgizia6NvKZsgaJybYwzAfkFkd9+8xgcawrZM5X 5JNNViRiw2Ijio4JhoQhYt1SQMj2TKdmHstcoUJw0lsxrmEQh2GDp75S3l4D67IdsMWF BXBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:references:in-reply-to:date :subject:cc:to:from:arc-authentication-results; bh=L308e4c5NCxLSYS4ISO3s2+trqRaVPVG0XWESXZhdiA=; b=BhDAv6iZEgYruJO9oS2AyeJ+nImJJHbB7UhjfaHIm9fOxAw87iVwX3B5lR81ereaEY fEaFiNK1cfx8eysTaMkMD7XBkUK/BunIWr7/RxYiS/10AEEjajDCypqrh32vRkCyfqmr gQyUjAjTDC9DGTXebXN3WVaODiNxfBbkROlwOx8wI7xESR8aQ6ZklaVWavXWbcTN82JF FMv6m3mOwIBb4SxR7JTeupA91BTplGbkB5BOu4uM4Wc/V4gN1lbweq0gjHJOGVKkXbEi CC35LICH4nfdC6S93s3js7KHMNlqmFEgCOUVwcZ5MA2OmecTBNcabXwvOHRWrI0VQ9K4 UFOQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b13-v6si2146460pgr.106.2018.08.22.09.53.38; Wed, 22 Aug 2018 09:53:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727413AbeHVURr (ORCPT + 99 others); Wed, 22 Aug 2018 16:17:47 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:60294 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727363AbeHVURr (ORCPT ); Wed, 22 Aug 2018 16:17:47 -0400 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w7MGmgdt098277 for ; Wed, 22 Aug 2018 12:52:08 -0400 Received: from e06smtp02.uk.ibm.com (e06smtp02.uk.ibm.com [195.75.94.98]) by mx0a-001b2d01.pphosted.com with ESMTP id 2m19wcd5th-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 22 Aug 2018 12:52:08 -0400 Received: from localhost by e06smtp02.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 22 Aug 2018 17:52:05 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp02.uk.ibm.com (192.168.101.132) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 22 Aug 2018 17:52:03 +0100 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w7MGq26638600732 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 22 Aug 2018 16:52:02 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 26F00AE057; Wed, 22 Aug 2018 19:51:40 +0100 (BST) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C84AFAE051; Wed, 22 Aug 2018 19:51:39 +0100 (BST) Received: from morel-ThinkPad-W530.boeblingen.de.ibm.com (unknown [9.152.224.111]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 22 Aug 2018 19:51:39 +0100 (BST) From: Pierre Morel To: david@redhat.com Cc: linux-kernel@vger.kernel.org, cohuck@redhat.com, linux-s390@vger.kernel.org, kvm@vger.kernel.org, frankja@linux.ibm.com, akrowiak@linux.ibm.com, borntraeger@de.ibm.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com Subject: [PATCH v2 3/5] KVM: s390: vsie: Allow support for a host without AP Date: Wed, 22 Aug 2018 18:51:55 +0200 X-Mailer: git-send-email 2.7.4 In-Reply-To: <1534956717-14087-1-git-send-email-pmorel@linux.ibm.com> References: <1534956717-14087-1-git-send-email-pmorel@linux.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18082216-0008-0000-0000-000002654333 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18082216-0009-0000-0000-000021CD86B2 Message-Id: <1534956717-14087-4-git-send-email-pmorel@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-08-22_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1808220169 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently the CRYCB format used in the host for the shadowed CRYCB is FORMAT2 while no check is done if AP instructions are supported in the host. We better use the format the host calculated for the guest 1 as the host already tested it against its facility set. Signed-off-by: Pierre Morel --- arch/s390/kvm/vsie.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c index 56a9d47..0b12916 100644 --- a/arch/s390/kvm/vsie.c +++ b/arch/s390/kvm/vsie.c @@ -154,6 +154,7 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) const u32 crycb_addr = crycbd_o & 0x7ffffff8U; unsigned long *b1, *b2; u8 ecb3_flags; + unsigned long g1_fmt; scb_s->crycbd = 0; if (!(crycbd_o == CRYCB_FORMAT1)) @@ -180,8 +181,8 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) return set_validity_icpt(scb_s, 0x0035U); scb_s->ecb3 |= ecb3_flags; - scb_s->crycbd = ((__u32)(__u64) &vsie_page->crycb) | CRYCB_FORMAT1 | - CRYCB_FORMAT2; + g1_fmt = vcpu->arch.sie_block->crycbd & 0x03; + scb_s->crycbd = ((__u32)(__u64) &vsie_page->crycb) | g1_fmt; /* xor both blocks in one run */ b1 = (unsigned long *) vsie_page->crycb.dea_wrapping_key_mask; -- 2.7.4