From nobody Sun May 24 23:29:09 2026 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 3784A3ED3BA; Wed, 20 May 2026 15:17:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779290246; cv=none; b=fHiYMzfgY979GhxEYyVpPX8iGdjb5hjfcle7VCGJDJLIxuN6zukCUm0XcYeuiNLLoQdxA5oikB6Bqm/QP+UwCWFObc4mVKvKOsJQQB97mTW2dLSqzDnsBU53NstH0bWFGDqXfX6ZjF80cGTLqlL5br55GPY90C/rd29g8aRafdE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779290246; c=relaxed/simple; bh=BQCmGvYbepRft3F3wcFkb8z8H/UlTgTlA2s+YUgQsGw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T0/VqnHip/ORggSPJ75QtpDAJyg1rQ3MB3YUg6JrFWxdGv14A3InFX1HLp+EtKb/yxAyC7G6oqRlyJYc0CbE4MroTk4rF5B5HCkDc2R2L8J/xoND1+DsFc9C0rnD3WTQJOlRVmSUYxcxNFcdCxOl3Jwe61eZH65bSk+t7M3WWdE= 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=Gh4+ot87; arc=none smtp.client-ip=148.163.158.5 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="Gh4+ot87" Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64K8MRhc3015276; Wed, 20 May 2026 15:17:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=+9FG/QWYKOBvgshYr CprfMiWDuK9krkyWqRZ1vbmmKc=; b=Gh4+ot87enjj4qjoK/IFC6diI9YaRSQTN Ti1m1C7QBZ4z1CNMfjpYcfHXd7fuo/wMH/zPjFAE4cttwo00sYcJC8rFj2raW1uG C3b4J25QDo2XYuObcXP4FvtGfiI7E9Cx2pofess0W6oej16EqbOcdfIFDwk//zRB u8NHAlDVhX/dRl8Gde1qSvmT2RHjZUFyFozWCcM6KOlNry/Rf/z/IkLd+0/43jg+ usSmFi/NFmSwHzYdGxH48bA4viU6FAHsA0CD9m1vHFMmZY6EUAKtT7By17pnBuy/ 1MfpvPKjoi5vw9ksQIrrJ/3kJroPzIUgwAp43rR9Kz5BIbEnnnBgA== Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4e6haw9r6m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:18 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 64KF95pC027198; Wed, 20 May 2026 15:17:17 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4e75ky7mt4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:17 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 64KFHBOi26018138 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 May 2026 15:17:11 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9EC7520040; Wed, 20 May 2026 15:17:11 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6A1D12004D; Wed, 20 May 2026 15:17:11 +0000 (GMT) Received: from p-imbrenda.aag-de.ibm.com (unknown [9.52.223.175]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 20 May 2026 15:17:11 +0000 (GMT) From: Claudio Imbrenda To: linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org, borntraeger@de.ibm.com, frankja@linux.ibm.com, david@kernel.org, seiden@linux.ibm.com, nrb@linux.ibm.com, schlameuss@linux.ibm.com, gra@linux.ibm.com, pbonzini@redhat.com, seanjc@google.com, yan.y.zhao@intel.com, isaku.yamahata@intel.com Subject: [PATCH v1 1/4] KVM: s390: Implement KVM_PRE_FAULT_MEMORY Date: Wed, 20 May 2026 17:17:07 +0200 Message-ID: <20260520151710.231788-2-imbrenda@linux.ibm.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520151710.231788-1-imbrenda@linux.ibm.com> References: <20260520151710.231788-1-imbrenda@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDE0NyBTYWx0ZWRfXxqw4N+BSWqdJ uxGpFdcDGYRKsQxOsdSYBbw/HKT3JZ8vkYR9EQU7LJoU2FS0UIkVyZxX9eGYyTQFlg721xeiLAN ftSduQxUo6dXkxHTLkTsGxR5xeFryyeNvJqXwJjGRAWO4boFiKQ8NckjPRoucZCCRO3jFLxJQPy F+aQvSIc7gGU40rwhShywY42LQgrnVQtnVlPkqfFUgmU0/F5QoCbxozUZU4C3oZo1KKGiwmHajz Io3Z/Bp27bhhgxOynyIZnN7XvUgGSdzO7kKtwqK/VXmOi2GWA+oRaxi7MYSgppzCAEMowkIYSKM 2UfpHU3G1912rQkIKvhCgRCrSXiYL3cvC4WKKceSmEjnDq1Npmvn2yAlIWhYWyLuO89kqm9AT4e VnpMJ9CG2iZlLo52BRYkNirBdS+ji2P9hXzxoWHwkRBGFtruGc/HhAMxLeKe6fX8gT2bOLStGZ+ 8Rl/8Vg5P9Nzknv8Q0g== X-Authority-Analysis: v=2.4 cv=Np/htcdJ c=1 sm=1 tr=0 ts=6a0dd07e cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=xyOPYXbJwbhnVPa3_EUA:9 X-Proofpoint-ORIG-GUID: oc7y2PLgWopLHQvrrJKdabQJLD7JIMsQ X-Proofpoint-GUID: AioF1MJ-EJ_BCgB7WqIPcKrdCWT6kYwG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-20_02,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 clxscore=1011 priorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200147 Content-Type: text/plain; charset="utf-8" Implement and enable the KVM_PRE_FAULT_MEMORY ioctl for s390. Faulted-in pages will be marked as accessed, unlike x86, otherwise they will trigger a minor fault when accessed. Avoiding such faults is one of the points of KVM_PRE_FAULT_MEMORY. Signed-off-by: Claudio Imbrenda --- arch/s390/kvm/Kconfig | 1 + arch/s390/kvm/kvm-s390.c | 41 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/arch/s390/kvm/Kconfig b/arch/s390/kvm/Kconfig index 5b835bc6a194..8d3ee17a1bcb 100644 --- a/arch/s390/kvm/Kconfig +++ b/arch/s390/kvm/Kconfig @@ -30,6 +30,7 @@ config KVM select KVM_VFIO select VIRT_XFER_TO_GUEST_WORK select KVM_MMU_LOCKLESS_AGING + select KVM_GENERIC_PRE_FAULT_MEMORY help Support hosting paravirtualized guest machines using the SIE virtualization capability on the mainframe. This should work diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index e09960c2e6ed..dd220f3d6e94 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c @@ -630,6 +630,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long = ext) case KVM_CAP_S390_USER_OPEREXEC: case KVM_CAP_S390_KEYOP: case KVM_CAP_S390_VSIE_ESAMODE: + case KVM_CAP_PRE_FAULT_MEMORY: r =3D 1; break; case KVM_CAP_SET_GUEST_DEBUG2: @@ -5736,6 +5737,46 @@ void kvm_arch_commit_memory_region(struct kvm *kvm, return; } =20 +/** + * kvm_arch_vcpu_pre_fault_memory() -- pre-fault and link gmap dat tables + * @vcpu: the vcpu that shall appear to have generated the fault-in. + * @range: the range that needs to be faulted in. + * + * The given range is faulted in and the corresponding gmap page tables are + * created, as if the given vCPU had performed a read operation. If the ra= nge + * ends outside of a memslot, only the part inside the memslot is faulted = in. + * If the range starts outside any memslots, an error is returned. An erro= r is + * also returned for UCONTROL VMs, which should instead use the + * KVM_S390_VCPU_FAULT ioctl. + * + * Return: + * * %-ENOENT if the range lies outside of a memslot. + * * %-EINVAL in case of invalid state (for example if the VM is UCONTROL) + * * %-EIO if other errors happen while faulting-in the page (considered a + * bug, will trigger a warning in the caller). + * * other error codes < 0 in case of other errors. + * * otherwise a number > 0 of bytes that have been faulted in successfull= y. + */ +long kvm_arch_vcpu_pre_fault_memory(struct kvm_vcpu *vcpu, struct kvm_pre_= fault_memory *range) +{ + unsigned long i; + int rc; + + if (kvm_is_ucontrol(vcpu->kvm)) + return -EINVAL; + + for (i =3D 0; i < range->size; i +=3D PAGE_SIZE) { + rc =3D kvm_s390_faultin_gfn_simple(vcpu, NULL, gpa_to_gfn(range->gpa + i= ), false); + if (rc =3D=3D PGM_ADDRESSING) + return i ? i : -ENOENT; + if (rc =3D=3D -EINTR) + return i ? i : -EINTR; + if (rc) + return -EIO; + } + return i; +} + /** * kvm_test_age_gfn() - test young * @kvm: the kvm instance --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 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 D86BA3E9F76; Wed, 20 May 2026 15:17:22 +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=1779290244; cv=none; b=V6tt7QuLVVQTzu5pgg8oIzK8l+0um1vi8Eo/CnRBUsCwPSYraYyznDgqcL0Vha22UmWipAJZcA6ajFNHVUbJzC9uVRVJKoti9YeBRcPTCyNAy8jDZqkwfNBL4qp639p0ICEZhj9rHGIMzFQFubyMsplcEFBu/0Lf3wp+Onk6Gxk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779290244; c=relaxed/simple; bh=FjQeccB0HfpFZYyuynKTH5RgFHk9XbIVNvs05kM9s+E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=V9Fxk3Ejfze6A8LkqUDUImQ+AcJVIYnwQyOA/FQ7aqGlukNzU6MVKilfxpZxcWnRCKIv3jr2Dq1AMlNs8DFtsHqW44TIZxt228+AhaeZOIa2HCEfwcZBrxWIU1Lr3Y8yNZMMMsnnZ9IYYfP2VeYkD5aCC4PodKZGRuabcTjDvf0= 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=bdJ0WBPC; 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="bdJ0WBPC" Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64KCj1ow3783643; Wed, 20 May 2026 15:17:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=nbd3iHoUzlIuxdqJ4 GyJKHMfXggrDxgF67BeU0h1BoM=; b=bdJ0WBPCjhlt76WIt95O2+7CoNkPdvbc8 nk2FGd459PMjccteh4AV92VTNBh13RXYn860NKkyVb/2UkWEDtHEkaeX0H9wxkVA EJ5YYsKf+Tjp4bxb24BB4BbXmnoP+4lfQIOuoSwkJzRoyO18ao9eoTk20Ft+HZJP CjHlmKL7aDncdnasLZk7IjTC+TO+L/ra2tMWOcB7TtqY7dp7s3aQ2EyzgtAe5p+7 03lPsd2Hl2Q/+wGzCUnhDeMcIi690npnJM6RRThrtUY0stlVM/pfrrbyVKwzFkmW MZs4xo+2/Urarm2ve2WgLa/PpBUNtmDWOCX5eFnjih+dq376yBTSg== Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4e6h9y2sf2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:18 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 64KF9Adt013203; Wed, 20 May 2026 15:17:17 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4e74dhqu3y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:17 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 64KFHBhO26018140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 May 2026 15:17:12 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D6AA120040; Wed, 20 May 2026 15:17:11 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A4B2020049; Wed, 20 May 2026 15:17:11 +0000 (GMT) Received: from p-imbrenda.aag-de.ibm.com (unknown [9.52.223.175]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 20 May 2026 15:17:11 +0000 (GMT) From: Claudio Imbrenda To: linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org, borntraeger@de.ibm.com, frankja@linux.ibm.com, david@kernel.org, seiden@linux.ibm.com, nrb@linux.ibm.com, schlameuss@linux.ibm.com, gra@linux.ibm.com, pbonzini@redhat.com, seanjc@google.com, yan.y.zhao@intel.com, isaku.yamahata@intel.com Subject: [PATCH v1 2/4] KVM: s390: Update KVM_PRE_FAULT_MEMORY API documentation Date: Wed, 20 May 2026 17:17:08 +0200 Message-ID: <20260520151710.231788-3-imbrenda@linux.ibm.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520151710.231788-1-imbrenda@linux.ibm.com> References: <20260520151710.231788-1-imbrenda@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDE0NyBTYWx0ZWRfXywxslD09yGIf LU4aTuVzJvsMlDSudMpaEjEmCMUeY6Oy0jEO/hEk4wE/mtT4y8VGul4PB2RtY/4p2i0MSkvdHfI p1cvEOj2+QGtCCodgygLVAAjXgfjkJAGgMwpuUiQLPH8pb0tB03wa9902ILh2Lgu18fGXrzDdJQ lsnldri0xlE+OzCFNOorWwcERGS2rL7o89/BCXFjkV7UGPoZe5zlNx2SrQhv7NFzhJTXiCH4/Ks TtFuntP/bRSdFZltuynV/agMxiPfQoC9pwL7Vwq5/M2rUrMqd6miWC+K4+4sO29H09szd/6Hae8 4sifTZhd8F8YR6/okvXYsuUCZItUZFu5XAc7SWXC/tIiCc6qwM25oi0ylSnIoUou6q9XSKAeDO0 hiP4yktpphSBGoGQYD1OBAexlpLjwo8cnutxz/SClEjI8FZcXd09QBDWjghZh06T5NKLFN79NM2 2TViZO//V32U51CPe+g== X-Authority-Analysis: v=2.4 cv=BNuDalQG c=1 sm=1 tr=0 ts=6a0dd07f cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=iQ6ETzBq9ecOQQE5vZCe:22 a=VnNF1IyMAAAA:8 a=p5bRbc-Dsex6zWGIe5sA:9 X-Proofpoint-ORIG-GUID: DA3dNsTD2dX86b-T60hitX4wmNDBJSHJ X-Proofpoint-GUID: xMFJ5QgvoKlInryWPibt-LUFeSYCuo1f X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-20_02,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200147 Content-Type: text/plain; charset="utf-8" Update the API documentation for KVM_PRE_FAULT_MEMORY to account for its s390 implementation. Signed-off-by: Claudio Imbrenda --- Documentation/virt/kvm/api.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst index 52bbbb553ce1..e7998feaa940 100644 --- a/Documentation/virt/kvm/api.rst +++ b/Documentation/virt/kvm/api.rst @@ -6471,7 +6471,8 @@ Errors: =20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D EINVAL The specified `gpa` and `size` were invalid (e.g. not - page aligned, causes an overflow, or size is zero). + page aligned, causes an overflow, or size is zero), or the VM + is UCONTROL (s390). ENOENT The specified `gpa` is outside defined memslots. EINTR An unmasked signal is pending and no page was processed. EFAULT The parameter address was invalid. @@ -6494,7 +6495,7 @@ Errors: KVM_PRE_FAULT_MEMORY populates KVM's stage-2 page tables used to map memory for the current vCPU state. KVM maps memory as if the vCPU generated a stage-2 read page fault, e.g. faults in memory as needed, but doesn't break -CoW. However, KVM does not mark any newly created stage-2 PTE as Accessed. +CoW. On x86, KVM does not mark any newly created stage-2 PTE as Accessed. =20 In the case of confidential VM types where there is an initial set up of private guest memory before the guest is 'finalized'/measured, this ioctl --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 F07E13EFD05; Wed, 20 May 2026 15:17:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779290245; cv=none; b=DeMRhWTbvA9pieUYVlQOoqIBz3IMQGSE4M5xuR1kLvBqsU6qFs/NtgZVRMIW5GL+Y7wrcu0U3bFfv5GjH7/voGXimz4cJZJegFuTn5eeOymD1f0kdB5YteHkSx3XVPcwVxWtcpLWeE7SwDXZJ4Frx2aB/cbBZAMBB976EOXpqj0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779290245; c=relaxed/simple; bh=B670asqeJMuES8W7NKo5or9JrUiqjIlSmg6O2bXv8Tg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LIDiu3iZ84HJd5t8knMjsV5PYieSAklluf9DtEOyWuiVunE5Un8lQ02iCFsBjbUGAbmEWCof1PUWPrVAxvBR1cPcSCg2SdyHuAukNZ7oo9UE0mph4z/7dNipdRIbSJlx3kQaAHwycKMeT7t/soCY/JdoCHgINbDmSi4nPcIJzzQ= 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=K76GzQIX; arc=none smtp.client-ip=148.163.158.5 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="K76GzQIX" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64KA6IwU2070048; Wed, 20 May 2026 15:17:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=IhtKsaVctiX+1AW6f UVgkWil2lKxnVi0fN26eUQycX4=; b=K76GzQIXETIN91ZuV20SlvFmHWvEBkDvP PVCxFXYUJ5TOZpDMc7TNa6ShCFPuXz1Sangu6+kM6a3UNLD7/TL7GkQ2l3z4D6DC Ou65PE3jlm5PkBDzOqZXyLRxcxP/tjbelpbQQI6XE5xGW6PKemxM95xXdb0eQalE ymr2RUy66fUEkbjaB2I5g7WOxwFglm0sIczUA2VsIlLUEKfbX2tbHXxiPrLjODyK N2qwCsOzuEdr1LZGjrY1i8QG0lRAsksdK4y2WAIFHSH1CKC9lFl2UXGadfTXz67O Cy1zpnh3kYCnuLw1SkVerudjdmdbFnyR/4i2l0DbFO5SgV9WmrymA== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4e6h88hqdw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:18 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 64KF9AuR009459; Wed, 20 May 2026 15:17:18 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4e739w00yb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:18 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 64KFHCBv47579640 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 May 2026 15:17:12 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1B39220040; Wed, 20 May 2026 15:17:12 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DC9DB2004B; Wed, 20 May 2026 15:17:11 +0000 (GMT) Received: from p-imbrenda.aag-de.ibm.com (unknown [9.52.223.175]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 20 May 2026 15:17:11 +0000 (GMT) From: Claudio Imbrenda To: linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org, borntraeger@de.ibm.com, frankja@linux.ibm.com, david@kernel.org, seiden@linux.ibm.com, nrb@linux.ibm.com, schlameuss@linux.ibm.com, gra@linux.ibm.com, pbonzini@redhat.com, seanjc@google.com, yan.y.zhao@intel.com, isaku.yamahata@intel.com Subject: [PATCH v1 3/4] KVM: selftests: Fix pre_fault_memory_test to run on s390 Date: Wed, 20 May 2026 17:17:09 +0200 Message-ID: <20260520151710.231788-4-imbrenda@linux.ibm.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520151710.231788-1-imbrenda@linux.ibm.com> References: <20260520151710.231788-1-imbrenda@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: WR7Ap7zf4eJEhr8v46hMIduIJqOkwuMI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDE0NyBTYWx0ZWRfX16chXr5/p737 XV4zMRjgwRIkO8/x1n6Hvg+rLv/vkr1o2iYvK2St0mS80jWjUOZ1gzjjZrOAzy2Zfi9O9XjzWOB eqm3LgNjDE8v+sFZsrUXQtFANXZu16h0yWRDe83zzDt8YhH7mQ6vvXFwjEdY/evE07Lg6WoPkjI XjhEUZScdfd66776ie9oQK6nSZV5jUWQtdkrrML1Rq0yCDZCmSRSdZmO+ZZcNxm/VAX5k/tT93p SkRs768rhqu8PYiC418IFKVSW2FHgy6kTvJyLoppInzIaMJ7ahV0GRrsRU6wcgbO074x73rWCc9 u0nBSthUGP2J0RhenxgMCYByOUDjgqUP7qG6VPoVLx2UzX5JlK16EIJFXUpRNf5jwUNyXNgSYMX gs1uUDN1Rlwq7qBIJhB7QTnZ69WImLzlwud6B0kIo4kLcrkyy2z33CmZxoULeeCjjoqoD0ghiYO 2hNLGdfai6uIxqN/uYg== X-Proofpoint-GUID: E4XdTsyIuJ0Fh7PmLg7lPkWAyWY5em6n X-Authority-Analysis: v=2.4 cv=apyCzyZV c=1 sm=1 tr=0 ts=6a0dd07f cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=VnNF1IyMAAAA:8 a=LqbLTa_TKMQyRjCc8hQA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-20_02,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 bulkscore=0 suspectscore=0 adultscore=0 spamscore=0 phishscore=0 clxscore=1011 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200147 Content-Type: text/plain; charset="utf-8" Add a missing #include which is needed and otherwise not included on s390. Fence the assertion vcpu->run->exit_reason =3D=3D KVM_EXIT_IO so that it is only checked on x86. On s390 the UCALL will return with a different code. Signed-off-by: Claudio Imbrenda --- tools/testing/selftests/kvm/pre_fault_memory_test.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/kvm/pre_fault_memory_test.c b/tools/te= sting/selftests/kvm/pre_fault_memory_test.c index fcb57fd034e6..42794892e902 100644 --- a/tools/testing/selftests/kvm/pre_fault_memory_test.c +++ b/tools/testing/selftests/kvm/pre_fault_memory_test.c @@ -11,6 +11,7 @@ #include #include #include +#include =20 /* Arbitrarily chosen values */ #define TEST_SIZE (SZ_2M + PAGE_SIZE) @@ -167,7 +168,6 @@ static void __test_pre_fault_memory(unsigned long vm_ty= pe, bool private) .type =3D vm_type, }; struct kvm_vcpu *vcpu; - struct kvm_run *run; struct kvm_vm *vm; struct ucall uc; =20 @@ -193,10 +193,11 @@ static void __test_pre_fault_memory(unsigned long vm_= type, bool private) vcpu_args_set(vcpu, 1, gva); vcpu_run(vcpu); =20 - run =3D vcpu->run; - TEST_ASSERT(run->exit_reason =3D=3D KVM_EXIT_IO, +#ifdef __x86_64__ + TEST_ASSERT(vcpu->run->exit_reason =3D=3D KVM_EXIT_IO, "Wanted KVM_EXIT_IO, got exit reason: %u (%s)", run->exit_reason, exit_reason_str(run->exit_reason)); +#endif =20 switch (get_ucall(vcpu, &uc)) { case UCALL_ABORT: --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 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 8879E3EEACB; Wed, 20 May 2026 15:17:23 +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=1779290245; cv=none; b=ItcavuW5uaEsxtQiIszlcSomYQlZA3DWZaIMk38oQSO14+7luNMAXJ9vPMD8416+ShIYn2quwIQlYSrgdpCCmVN5jNUdg4gBB9z65t9IwVQONDUCVwc0f3mydazj06ovYuxqJW/W+9pV/iX04AOIBjYtAYuexBuOVaKSXQ9oYI4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779290245; c=relaxed/simple; bh=cU0xorK2ua1kep2b1OWcJuac0RINbn0aDFuJbUaNTYY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ws6j/nWL2oJN/97m6mYY05KcUc43VMkxmL26fO0Hnt4J55SkWCKTDWmxD6Ue6Am8gBh8tSmXYYjFMi63XckOvQ346IZqil6fIiBr8SQkB2mPTJ+qDKWQ5HYzAdgY8VFSHt85I6Cy5/KMFOE/rfuj7EEzOZxh4rRgM4pkJ5bVao4= 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=P8aZpJBr; 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="P8aZpJBr" Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64KDLJPh032105; Wed, 20 May 2026 15:17:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=AJYMLGH/fWC7uqxjk aiAtJCxKimPjCHxKmmQv86PRQw=; b=P8aZpJBrAWd3Q0pUvv6j7QMpbwl1I4tL1 WHH+Zc35BjTUAcl2ua4BFK44fCqWVk0OJauAj2u+UGhT8enkh2ejihu99FfzBkc6 xD5Dd7qSSQlL+zhexCPME/WXUEItuDdl9uIyCEZY1IBVWNXq3I94N446DGxkaSqk 29EHI/H/9CnvCdjWSHZT6IHNmqBm9Z0tCTOW7AsiIlsjMCRyVFqdxlTwO1C+bDsg OF3bZ6P46xCtabK7hwKchfToDPJ2FPRkRHePyY45o+jIBvWI+bCAnVX6+MKm+sIb chdLYL6USqsCaPbG/d5jxHU3bUWtpK3U6TEfIs2O6jBV3fXcBV98A== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4e6h9y2sf3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:19 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 64KF951d000922; Wed, 20 May 2026 15:17:18 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4e73wk7wr2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 May 2026 15:17:18 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 64KFHCtu47579642 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 May 2026 15:17:12 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5E4FD20040; Wed, 20 May 2026 15:17:12 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2259B20049; Wed, 20 May 2026 15:17:12 +0000 (GMT) Received: from p-imbrenda.aag-de.ibm.com (unknown [9.52.223.175]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 20 May 2026 15:17:12 +0000 (GMT) From: Claudio Imbrenda To: linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org, borntraeger@de.ibm.com, frankja@linux.ibm.com, david@kernel.org, seiden@linux.ibm.com, nrb@linux.ibm.com, schlameuss@linux.ibm.com, gra@linux.ibm.com, pbonzini@redhat.com, seanjc@google.com, yan.y.zhao@intel.com, isaku.yamahata@intel.com Subject: [PATCH v1 4/4] KVM: selftests: Enable pre_fault_memory_test for s390 Date: Wed, 20 May 2026 17:17:10 +0200 Message-ID: <20260520151710.231788-5-imbrenda@linux.ibm.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520151710.231788-1-imbrenda@linux.ibm.com> References: <20260520151710.231788-1-imbrenda@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDE0NyBTYWx0ZWRfXwuMcBLNdC1ra UDaSzoziQzVVrY9dSb4BrMfKV/r9zYygiN36gHe3SHK/mMDYQJomjjQTbrPfPWlUAtmbxgxce+B h4aOC5sdX+frBw0DbJS9fnzLcVW5PqsuFG1AjILj4WjCHzMFF22KtnCJIt21KbpHxFr06l0n0zG 4jnXtNNwFYrjzpSE3jCcEHBi0nhdR/5+LKt+TFUZI8O9HeboP43H97R6Q+HJ77yinKGjeWha4tN ThmXN7r8EgMxlChKhHC04hXp73e1ftD3BBpi37Q4MMH2LP4BJuybUybbP/XWPD7zCyDn5l9lDu2 +zy4LLFCk70l9z+I5ucmfh7qDZN3HvC9+F5pQ7jVqur9TrtvW382bMlPd3UPJH3ds4fFrIDKd9k j/J6Qz4TMZJhrf4C5r44U2E6u6vlhTOEdZNTNVY4uO3qkKredeOOcKN9jia8ZDtGpBVej+jLNef P41M67vvcspTrXDPjtg== X-Authority-Analysis: v=2.4 cv=BNuDalQG c=1 sm=1 tr=0 ts=6a0dd07f cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=iQ6ETzBq9ecOQQE5vZCe:22 a=VnNF1IyMAAAA:8 a=f1nrkDJSyVtqXGSnAM4A:9 X-Proofpoint-ORIG-GUID: 0KiCPF5BDNMVb7K_ELzAcETeQHF3wJmp X-Proofpoint-GUID: jWd_XV936zk5KGJJNb-Yi6DiF_C1dhp5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-20_02,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200147 Content-Type: text/plain; charset="utf-8" Enable the pre_fault_memory_test to run on s390. Signed-off-by: Claudio Imbrenda --- tools/testing/selftests/kvm/Makefile.kvm | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selft= ests/kvm/Makefile.kvm index 9118a5a51b89..fff939db89cd 100644 --- a/tools/testing/selftests/kvm/Makefile.kvm +++ b/tools/testing/selftests/kvm/Makefile.kvm @@ -210,6 +210,7 @@ TEST_GEN_PROGS_s390 +=3D s390/keyop TEST_GEN_PROGS_s390 +=3D rseq_test TEST_GEN_PROGS_s390 +=3D s390/irq_routing TEST_GEN_PROGS_s390 +=3D mmu_stress_test +TEST_GEN_PROGS_s390 +=3D pre_fault_memory_test =20 TEST_GEN_PROGS_riscv =3D $(TEST_GEN_PROGS_COMMON) TEST_GEN_PROGS_riscv +=3D riscv/sbi_pmu_test --=20 2.54.0