From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 420AE32FA3C; Mon, 10 Aug 2026 15:54:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786377265; cv=none; b=FXJnO4WnqTozqvV+KRoxSsqH6BopdbeCHxl3iqMhJHaJ4VjpOj0TdwwxQ9X5Gpto2CykictbYLJozn3eSAifCYac26mPs5JY5XczxMLrHaG6Hr7Vgr7XuMZOT1eh9MvdYXHtQTcSlbrZoeTooH/N8vdPtIK7lkR9tYxh2mdOv8k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786377265; c=relaxed/simple; bh=KLISK/Vl8Z3HiphdEbmJ5XNIa0ySZZhQRiGmVRt3Wb0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PPvAOIJbkezeCidecrK0LuTHE7j6WgkSNU0WELtSwJ/DfQ242K3cvuO/qXhV+HqrddAsml65wASZOcRq1JKYR2SWngpEJ3aYPpPtA6g1eoNzs3rNxYfnwwbSkT9hrUC+SUw5oGH+48va2mlWkMre8hCiiwltR8AoyPtkTPnxIf8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=V8Np5caM; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="V8Np5caM" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67AFWQSf163670; Mon, 10 Aug 2026 15:54:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=W4ZFwV 3h+rLYRAOaxIzRwxfHftWe5rEttkOD2jujtK0=; b=V8Np5caMKdbz9AEszehzUU k5Oqbiq82jLsIENV/+ZTuuqFtz3ovXGJJUFule/urK6wqTN2p/tzBokayZtVldie ZDHR0/7npD+x2vrCCTifLNOe+pG+OXaQydDEufwz62bniGZGBftoZbdHyqWTWyJe c3UUkBeB5eLs8cf1qLDDdphOBRkcSkPzi1MCoufiPEZGW1vzSp5uQpn6d8j/acr3 CqbSOwwFjxvo5lViJGeR+NBOT4wiNW6sy2CenQTXOu5vNPB97iEFfO8Qh/icHcea fXT385ptKaR78GicMkTRb07u9JaQ2q9yUQPWUJf4yWrKvZB85iaPTNo/tLF7fWmg == Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4fwvjyrtj4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 10 Aug 2026 15:54:20 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 67AFgXKO027321; Mon, 10 Aug 2026 15:54:19 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4fxh0g58yv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 10 Aug 2026 15:54:19 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 67AFsFIB31785258 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 10 Aug 2026 15:54:16 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DECD020049; Mon, 10 Aug 2026 15:54:15 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1E9C42004B; Mon, 10 Aug 2026 15:54:15 +0000 (GMT) Received: from [192.168.88.52] (unknown [9.111.41.151]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 10 Aug 2026 15:54:15 +0000 (GMT) From: Christoph Schlameuss Date: Mon, 10 Aug 2026 17:53:53 +0200 Subject: [PATCH v2 05/20] KVM: s390: vsie: Move pin/unpin_scb methods Precedence: bulk X-Mailing-List: linux-s390@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260810-vsie-sigpi-v2-5-e8d59a2f2f70@linux.ibm.com> References: <20260810-vsie-sigpi-v2-0-e8d59a2f2f70@linux.ibm.com> In-Reply-To: <20260810-vsie-sigpi-v2-0-e8d59a2f2f70@linux.ibm.com> To: kvm@vger.kernel.org, linux-s390@vger.kernel.org Cc: Alexander Gordeev , Christian Borntraeger , Claudio Imbrenda , David Hildenbrand , Eric Farman , Heiko Carstens , Janosch Frank , Nico Boehr , Paolo Bonzini , Shuah Khan , Sven Schnelle , Vasily Gorbik , Christoph Schlameuss X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2507; i=schlameuss@linux.ibm.com; h=from:subject:message-id; bh=KLISK/Vl8Z3HiphdEbmJ5XNIa0ySZZhQRiGmVRt3Wb0=; b=owGbwMvMwCUmoqVx+bqN+mXG02pJDFmVXxQVfk4pebGbmXPnUovtIc8930/9XP//1vyWi5z8T 513mjWmdZSyMIhxMciKKbJUi1vnVfW1Lp1z0PIazBxWJpAhDFycAjCRubMY/qedjGUt9W7YlX7F NNi8M1cxi/ntCbknk+zFay7J5jwVOcjwv9BPkOPnzWOPpSrS/r16tOkWn+niDhaHQwumHKqyef4 pkAEA X-Developer-Key: i=schlameuss@linux.ibm.com; a=openpgp; fpr=0E34A68642574B2253AF4D31EEED6AB388551EC3 X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDEzNCBTYWx0ZWRfXwdMf7hWiqpiu diOeAijhWhNf426eIT+WrbkflgYIaa85dgtfHB5Fx6jDxp69/0MYGB+dtjFh6A2pPI3OBu2XEet xFKRGssP5Jkv3IyfsVDqEeBtc88jB6JX9mdJ5BJ6SVuaFstIcjE1K81VMjbS9SgmOZy/SZ4t0XR +ADLnEUtTEJiAtbOi/3r62XJT0qjxmt1nj0Qjzk3W/tmghkqeIMZC0e+IQpCEunZeIXTU6aYCGg qQciFxYcuw8UzLfUSkj67PDMB5F0+w1Q6P742RTEl8gx1atvwxq9w9U3FU1Rns5cLrRe2DIcKHN 8BSulUKOQ2pBLUo32v0KToLgrLs+DQflHNgrWkUtfzi/hrEiiiaU4FXWUejg0E0bKKIioQJjPDZ C/Hmy9PSY4bhiozzJoc8MN79cU9KXXLGHpeN+m694nfAjIVIR+P3oxRgkV/zSTfDIjEQeC8VdDM 4RG2nNzohhHqSJMA9EA== X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDEzNCBTYWx0ZWRfX7iDaBvvZ5Xkg X5/HeK5sNfuGISn+lvtVd/6xxRTtIo/0DAdKQbuGJPvXR4N3/ptVLe8g+2OWsavv4B2yvQHt/vU spm+2hzGJjBUsFDI7LQsB1hYmprUIm4= X-Authority-Analysis: v=2.4 cv=RqD16imK c=1 sm=1 tr=0 ts=6a79f42c cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=uAbxVGIbfxUO_5tXvNgY:22 a=VnNF1IyMAAAA:8 a=7EIyOw4XjRUV76RzNM0A:9 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: sTPDBQLULuRXOP_VZQq7SsB4BVcN7qEw X-Proofpoint-ORIG-GUID: sTPDBQLULuRXOP_VZQq7SsB4BVcN7qEw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_03,2026-08-10_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100134 Move {,un}pin_scb() up in preparation for the next patches. No change intended. Signed-off-by: Christoph Schlameuss --- arch/s390/kvm/vsie.c | 66 ++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c index 6aa44362033c..3f49d2e6986d 100644 --- a/arch/s390/kvm/vsie.c +++ b/arch/s390/kvm/vsie.c @@ -659,6 +659,39 @@ static int shadow_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) return rc; } +/* unpin the scb provided by guest 2, marking it as dirty */ +static void unpin_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, + gpa_t gpa) +{ + hpa_t hpa = virt_to_phys(vsie_page->scb_o); + + if (hpa) + unpin_guest_page(vcpu->kvm, gpa, hpa); + vsie_page->scb_o = NULL; +} + +/* + * Pin the scb at gpa provided by guest 2 at vsie_page->scb_o. + * + * Returns: - 0 if the scb was pinned. + * - > 0 if control has to be given to guest 2 + */ +static int pin_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, + gpa_t gpa) +{ + hpa_t hpa; + int rc; + + rc = pin_guest_page(vcpu->kvm, gpa, &hpa); + if (rc) { + rc = kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING); + WARN_ON_ONCE(rc); + return 1; + } + vsie_page->scb_o = phys_to_virt(hpa); + return 0; +} + void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, gpa_t start, gpa_t end) { struct vsie_page *cur, *next; @@ -909,39 +942,6 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) return rc; } -/* unpin the scb provided by guest 2, marking it as dirty */ -static void unpin_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, - gpa_t gpa) -{ - hpa_t hpa = virt_to_phys(vsie_page->scb_o); - - if (hpa) - unpin_guest_page(vcpu->kvm, gpa, hpa); - vsie_page->scb_o = NULL; -} - -/* - * Pin the scb at gpa provided by guest 2 at vsie_page->scb_o. - * - * Returns: - 0 if the scb was pinned. - * - > 0 if control has to be given to guest 2 - */ -static int pin_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, - gpa_t gpa) -{ - hpa_t hpa; - int rc; - - rc = pin_guest_page(vcpu->kvm, gpa, &hpa); - if (rc) { - rc = kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING); - WARN_ON_ONCE(rc); - return 1; - } - vsie_page->scb_o = phys_to_virt(hpa); - return 0; -} - /* * Inject a fault into guest 2. * -- 2.55.0