From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 9635337C110 for ; Thu, 2 Apr 2026 18:27:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775154460; cv=none; b=AoSoJoIN1D9cXqFXD8ZVyCSAHyX7eEpSHjxZ1SWcWHxaa9MmnuU+LKDwoy/+E+mnxud9bHoPDsxLp+S0UnHMGVO925Fj6+yvWJ/dQwCtbVzwzYYv4oFuyMH6Xd3E8x60EincrvDOx5KmHS3FD6GNg4ooXOaewI5aOvr9k9sfH9E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775154460; c=relaxed/simple; bh=Kc5nPAesQEnFTyCErFuAe3jrPRrIL3MBJ2kSSzTGSFg=; h=Mime-Version:Content-Type:Date:Message-Id:From:Subject:Cc:To: References:In-Reply-To; b=U8LnwQClsNhrBN8lCPqGT2QSi4UorF0COZDOYZ9br5dy6wKZdl8uLrZDANd6kG81xI/PcEdF9owGtngAHUikN2C19IfZl3ZlgzPP9m6Jv+ehstqBLf0+89DoMOObnU1soSwniPLERfQPNepGodjVxJbvXcbMCL9jNPrT+sS6NS4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lIx2Etkh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=e6TD9/fd; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lIx2Etkh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="e6TD9/fd" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632G4XMI1380731 for ; Thu, 2 Apr 2026 18:27:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= TU8QdhgxiCPZ6ep8IVIJN8LEHXfbUR2Kb96nB47jKKM=; b=lIx2EtkhreUt/UB8 TcY4yytliO4NobIg6t5Web89r/EuGQJD0W+TOYbx/0zqiBGnYZhjcTYORLrFUcD0 CQ22tk0nHZDuW6ArbPcr2JjmsgUZsP/FKJ1ch1dJN3nvxgiSYtSQP4qs3S23u5Li y5rxkGDmTD/JDnPxxbp1aPOxqHKGBZA/nzxnvEyDK9Uxzz94QYwWtvt1auGNQP9H gSSWo3Ph083pXVrIr7q8EkdHbX/vks9hqlkBzadws5X26MR+qekYnRchKF4/XgWN 1yDMjOvziZ4/RyLbnZLN/57PySHYG+W7hbHSPHq0Uvy/7inQ6fTsrYCp0Z1Wxh8G +LGErA== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d9myhabpn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 18:27:38 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50917996cfaso36354841cf.0 for ; Thu, 02 Apr 2026 11:27:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775154458; x=1775759258; darn=vger.kernel.org; h=in-reply-to:references:to:cc:subject:from:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TU8QdhgxiCPZ6ep8IVIJN8LEHXfbUR2Kb96nB47jKKM=; b=e6TD9/fdFIUpLPNsJnwgdWjoyja67yJcPeo7uLhxCwvIwZkw8np/GuBnMaQV5z9Vcr hG68lxIKlPTgP1SEDfGaY13twOujYjLWhh2KmWDD0KGrBA34a5rurhipEp+rRkEZ7mPv h4I4oa0XZmZZ5qqBFg32mUJLaergTqrTKQJvt32m1256ji7O/cWg081IKg4F2lHEcEZZ lW/WvalFIF7Br4weRUa+T7get3fZG20CwzONFtcouQXwXVALgP9+t9qs3oHFDbnNoqUz 1yUFT0HgknISUd+Ot8YCozzE9ZqGpirNOWG3h7Yfxyxdh7qHNraL24/L9QaWuZWWwHLT ZQDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775154458; x=1775759258; h=in-reply-to:references:to:cc:subject:from:message-id:date :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TU8QdhgxiCPZ6ep8IVIJN8LEHXfbUR2Kb96nB47jKKM=; b=s8/YK98FZQtX+Iz+fGQFzCjYStfMP66+edM0PhJC0sdXsZH1W68orLkpv/Vpsiita+ k167kVXxG5xQbos85kO8AXWk1SBrCNKSi0nzAMVVdMCT1i5eJ0aXojxVKTGjdn+Hy1Xb yslEWs/Tff0uMTblYTEymSIEsxtSp4OaE39J/HV6mPhoJ/6QtAmeBhXfvQTvIXUsAC9r Y41r5dQFumA1nFMdIo/8kgDSCq3JCMODHCG9bZsYtli4tn3rr9Q0T6VkjsbgnpdtrETt Z17m+Y0rJQ6k6OxcghDMebaeBM+nr64RpnJumQKSZJ0/SLVjEoGErwnxP4GspZKieBQU 3i2w== X-Forwarded-Encrypted: i=1; AJvYcCU0jhvrx28ShmL1nrZ6OIpuw9PF7qpXZ9/sp55H3EXplSU7w8efDVUONu1jqiB6IljXW+BvlxOWwSudjrs=@vger.kernel.org X-Gm-Message-State: AOJu0Yxg2ocbJFGn9kJ55eCncvR9fKmSVucrHB2GFuX3kMe7XYZxZ6Ol FCg4pbBqgLnhI8608Bq0YBFVYXAakqOyoOBnJIQX2ha/fiYFeyvMP7Ro3tuXP0Siy36ycfsaIXB owhF2uTl5Kw1YgOZXIjjVtxHA6XqBrokI/xRn3QLuUWcllTNTrmqvUOp8H2ln1JJEQ7o= X-Gm-Gg: ATEYQzwsnsXlxkdTJyh4g0inXlBJqfIsMU4Omyvk2hs0JLMiyu8c+toI/GFXJY4pBdk Va0XaSmnlCCAqkm6qnG0QdvX7U1uOHyEk6aWSKDHBmg4Oglr5IeA/nsK6SZjZLbTUOo7H/JU+cN TTHtLOHhKWZYlTazfHBzAiQXEvuEj9/jP4G+hwkPv8O6mHhm1R3WO+ph5qMisEKBkFXpqvTYC0V 8cluZ1FiFIXjVCo4KU/FVkLsmwrVE7B6NEo1lG4+IwAnMHK/aNVFScPrWWpfZMqMAmrvpXxziMZ t5B5ymIse3SdoNTLZ0lbWbFTny9Mw4f6DeKsHFwlGXNnNQI0j+oXv7VxgwN/o/zL3xKWDkHtZKw 19fLzI/s1QNGlBXd4ronOiD6rPkRVsv7fMW5H18FFnpyR42J52p/iPTvqId/0 X-Received: by 2002:a05:622a:790c:b0:509:15d8:2c0a with SMTP id d75a77b69052e-50d62a8e346mr5227581cf.32.1775154457627; Thu, 02 Apr 2026 11:27:37 -0700 (PDT) X-Received: by 2002:a05:622a:790c:b0:509:15d8:2c0a with SMTP id d75a77b69052e-50d62a8e346mr5227311cf.32.1775154457216; Thu, 02 Apr 2026 11:27:37 -0700 (PDT) Received: from localhost (ip-86-49-249-15.bb.vodafone.cz. [86.49.249.15]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3cff128bsm116569366b.53.2026.04.02.11.27.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 11:27:36 -0700 (PDT) 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 Content-Type: text/plain; charset=UTF-8 Date: Thu, 02 Apr 2026 20:27:33 +0200 Message-Id: From: =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= Subject: Re: [PATCH v7 4/4] RISC-V: KVM: add KVM_CAP_RISCV_SET_HGATP_MODE Cc: , , , , , , To: , , , , , , , , , References: <20260402132303.6252-1-fangyu.yu@linux.alibaba.com> <20260402132303.6252-5-fangyu.yu@linux.alibaba.com> In-Reply-To: <20260402132303.6252-5-fangyu.yu@linux.alibaba.com> X-Proofpoint-GUID: s10IrSPYLnspbEQwFWeov5scyaDANVbf X-Proofpoint-ORIG-GUID: s10IrSPYLnspbEQwFWeov5scyaDANVbf X-Authority-Analysis: v=2.4 cv=JII2csKb c=1 sm=1 tr=0 ts=69ceb51a cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=fuErIE+P63Icv3tqjtEZBw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=SRrdq9N9AAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=YvLePRtRmKwuc7oy_z8A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDE2NSBTYWx0ZWRfX49vg7hPokORB 2VOTK0xiUQGfGulyu3/A08/g+HoL3Xx7HFhRd+fB6JNorZnoLwMrobQ4qnmZyvPDZGg/qF0zsSq rx+jU0xzYaWagghgVmwWhXVes5bALbkkCyKLF1FwIR0PjZ9YQzKzfqWNQYi5Pq4aelieI+quxI8 SmIi3K33N9WBi1c6fsBvxJz+RoppKJS11laZTbTng/EoXOEVQ6ZpiS0EUhnbR7PH7EoHm7qBdBW u2HvtfYUZSYmx8mPJ5s9r7A2oAJJwVDIj9pLq0sTN9Ea8idbnyqvKoHAkM0+Q8gGHDO1TAtyesX 9Ovt90jWkm4wqGFZcCIwzpnbxcod9+zZhM7npSQzrxkwnYDSXciI+ecDFcIgD6mR97iOjsZfhMN J1GY+GcIjmgczuDecO1p4tQKDB1Mt/GQPI+CT9zYJaA/oes/dWUKejGxw4veinAB6ZUAkHeMfWE wIcHevdrV2sZ+Xvb0hA== 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-04-02_03,2026-04-02_05,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 clxscore=1015 bulkscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020165 2026-04-02T21:23:03+08:00, : > From: Fangyu Yu > > Add a VM capability that allows userspace to select the G-stage page tabl= e > format by setting HGATP.MODE on a per-VM basis. > > Userspace enables the capability via KVM_ENABLE_CAP, passing the requeste= d > HGATP.MODE in args[0]. The request is rejected with -EINVAL if the mode i= s > not supported by the host, and with -EBUSY if the VM has already been > committed (e.g. vCPUs have been created or any memslot is populated). > > KVM_CHECK_EXTENSION(KVM_CAP_RISCV_SET_HGATP_MODE) returns a bitmask of th= e > HGATP.MODE formats supported by the host. > > Signed-off-by: Fangyu Yu > Reviewed-by: Andrew Jones > Reviewed-by: Guo Ren > --- > diff --git a/arch/riscv/kvm/vm.c b/arch/riscv/kvm/vm.c > @@ -211,12 +214,23 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, l= ong ext) > =20 > int kvm_vm_ioctl_enable_cap(struct kvm *kvm, struct kvm_enable_cap *cap) > { > + case KVM_CAP_RISCV_SET_HGATP_MODE: > + if (!kvm_riscv_hgatp_mode_is_valid(cap->args[0])) > + return -EINVAL; > + > + if (kvm->created_vcpus || !kvm_are_all_memslots_empty(kvm)) > + return -EBUSY; Since multiple VM ioctls can execute concurrently, I would protect created_vcpus by kvm->lock and kvm_are_all_memslots_empty by kvm->slots_lock. Thanks.