| Message ID | 20260923171116.31276-13-philmd@oss.qualcomm.com |
|---|---|
| State | New |
| Headers | show
Return-Path: <qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=Av6laJlt; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=JsPekU0D; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists1p.gnu.org; envelope-from=qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4hqkDG5YxHz1xqn for <incoming@patchwork.ozlabs.org>; Thu, 24 Sep 2026 03:17:18 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-ppc-bounces@nongnu.org>) id 1x9QWm-0005Hu-Re; Wed, 23 Sep 2026 13:13:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <philmd@oss.qualcomm.com>) id 1x9QWl-0005Ag-1u for qemu-ppc@nongnu.org; Wed, 23 Sep 2026 13:13:03 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <philmd@oss.qualcomm.com>) id 1x9QWi-0001DC-4B for qemu-ppc@nongnu.org; Wed, 23 Sep 2026 13:13:02 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68NGU37R3106209 for <qemu-ppc@nongnu.org>; Wed, 23 Sep 2026 17:12:49 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= IeLVm5/+AbWfhQYlNgRIjGIoDIVppu1o783xUoR+s+A=; b=Av6laJltTdL/EMLE iTVMtsWtI/PWMZnlA9r2vRbBaHC8TR+yoKjcPz/xnGOEsHt94p+EtoF0QAyo1bhh 2NqZstN0xsTGEVACBsNvsseVAO17NuOlJi6G62Rbn/qg9ILOCD14sqY+UiFy0WWO cBrYZkFNGxOhyKr2WP8T1dTyX3Nne/mYPl2TQmrhp3DyR0VdPB8iAGHsZ2rtvyIg 2Do3x/qPwMs9G7+DVxYwMawury/u68Kt4sM7roZiSh1mojfKl0kfnqZCAKDV1cAl uxbgAtnAkTTgqQPxvp4hyhfKegHlTjUdFqpkJoUPkfD3WRoQXxbwYjsuH+qway6E UmEzAA== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gvfmwh10x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for <qemu-ppc@nongnu.org>; Wed, 23 Sep 2026 17:12:49 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-78350646d7eso65539137.1 for <qemu-ppc@nongnu.org>; Wed, 23 Sep 2026 10:12:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790183568; x=1790788368; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=IeLVm5/+AbWfhQYlNgRIjGIoDIVppu1o783xUoR+s+A=; b=JsPekU0DZhXuLZfM3+wUgqr4YWRXcj2TsbU2wVHdmsYKqoqbjV+tyxg4+p2YXqBhYK Jqoji0ZxXNQ36jEKxM4MIZrS6+CibmRP6adXykvjrFiJ3Dh9pPAW0374EeidkT6B9pQf aJjj9+Pli9OL6q1AyV3qaPLYOezZfpIh+2nUpCSfAdGxdt8BofMYBO6Ogp7nJhBnTwyp oWEqg/hP9NhtgqqBVdOBAJOWaa1PzQ8K1IMHwohRJjEtK07W9ej+pzFwo0COHhDedVh0 ci3r6SB0xNtitk0q6qjrhe67cvbZRshhr8VkZC9xhZ5uijemgnZZftk9XH1v/CB4x739 +AOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790183568; x=1790788368; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=IeLVm5/+AbWfhQYlNgRIjGIoDIVppu1o783xUoR+s+A=; b=Pw1TBMkaLUA8r1A49YeACzUFHpTcfjH6QmRoYQih9id/BSMs56c51IwiUzXn4Qd/ZH L2TO5EOkBRylLTeC8T29XD+vxaaK/9ZSvXToH89uoOZGIaL44uEglY/o7B+XT4BtTBlU RYz9XC9pvubSZ1PkKpEqg734dMjix5rnHDbyw+0oY+R37jnFKzoorIrod9QTbTKDQMlV rUd6w0PIxLCfSqv+bZpksexjM90N6nLyjOSxDsZlSF55iW/fQ0fqYBgYlDy6tSxZz2H1 ibWdoClk0EAIlxXU/QT2puPEvY99x8BUXf88alv5Dk/2i5ORVGsX56nOcEHCKWRLJeBG CWtg== X-Forwarded-Encrypted: i=1; AKwUvBxsuphI5ts9dasyyBIDVg0s3D1B8/akkllfgW2XVmVAo9Kep/PevqxjORXwjUJ07mcFvumH3GcXcg==@nongnu.org X-Gm-Message-State: AFuF++lupt0VI+iAxSjTUQtNrxabWbyuqbSlSrGpR69nLxNTwIdEoypk t+b5iGsJTaIolvyp9hXZf2At6nCvBZQkO4idWXpRNBVUI+lo/hQlsZLrNAzraOnxPjSu8JVk1Vb 5Wx9eoBzZUUjRfr8ONYhp842BJ3HdaT8clZqPMD8dX6P3UwS/Vf5aY6k= X-Gm-Gg: AYBFou1chI2FbqOh3tdkAVuqPEFKp/GfXadKwUsuRGiDOro8sZTr9/vIG7X6xjvlHZQ 1kKODxCOrlhTDuTUJms3VWqlpQfGSk8cv1PgKo/NkVe0mIJH9VHsl3xw6POogC4MSJU3ZPHMV3d 4/qynyQbdfek5ibJghYAiw6BWDGMq0bhVmWt1el2sUJFhssQVSvV9m7a476xEeQCha1mEvTKTQH 49h17kqZ6s53MgzC0GlZ9fDwF1cJ8pzLNB7yORAjMTpiLVRcNywL5Vo4gYtZBYfwvrbPDIrcQjM +7f+de6m9iyWdE204NAOtoYmnsDEakxf/x6dZfbY+ZlQRUTUowESGUjZ9jEMxd8uMBUiRJxc7rj bIfjqvQ6FfnoG4NW1d6+3cGRYb3UoVExkNmlM4wzn X-Received: by 2002:a67:ef8e:0:b0:7aa:d0a9:c5aa with SMTP id ada2fe7eead31-7aad0a9c60dmr4313402137.18.1790183568405; Wed, 23 Sep 2026 10:12:48 -0700 (PDT) X-Received: by 2002:a67:ef8e:0:b0:7aa:d0a9:c5aa with SMTP id ada2fe7eead31-7aad0a9c60dmr4313381137.18.1790183567911; Wed, 23 Sep 2026 10:12:47 -0700 (PDT) Received: from localhost.localdomain (pmd666.hd.free.fr. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fe5bae53dsm875175e9.4.2026.09.23.10.12.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 23 Sep 2026 10:12:47 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com> To: qemu-devel@nongnu.org Cc: qemu-s390x@nongnu.org, qemu-ppc@nongnu.org, qemu-arm@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, qemu-riscv@nongnu.org, Richard Henderson <richard.henderson@linaro.org>, Peter Maydell <peter.maydell@linaro.org>, =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= <philmd@oss.qualcomm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu@processmission.com> Subject: [PATCH v3 12/21] target/riscv: Access MIP atomically Date: Wed, 23 Sep 2026 19:11:06 +0200 Message-ID: <20260923171116.31276-13-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260923171116.31276-1-philmd@oss.qualcomm.com> References: <20260923171116.31276-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIzMDA2OCBTYWx0ZWRfXyaY9ZNejgiEy CppXpujfpMggwTXyo6dOA/3Ot6lFSRFY5Et8U/Jwtw4zh4SbeacRqQuMgrkfjsdVgy3L+H/KjaN bwsvljYv2PahOvpQhOtmXFf43bn/ecPTNKDuStPY20QQlEGInkF9b1llDoS+F942RmgvZ4rgf8W HtEcYlqj1zuPpnXwXwoMHNTtmDCjjDXyq/j0pI6re8j95pdVncEpd7lStBDPCKJZvu/mfC5NOt5 sdubrcZuVuZUUg5jozPwh82GUlQKyRsP9umFfgDiBAL+faPj5+vferO6VmxSPf+FzSKHByL7+/c EClZN6HvSKF5/IseRFOt8Gyqjbou09wQf4BW4Pb7GZ05ntuLnnwrGjb7Zu+LgjCkPae/+R9BnXA t1TC7TjMeDVpKOrxYaJLJi6nzERtTaY1Jurd0T/x2YeXM3yhdgJdUVxMABFdCqHr4anB1RY3OJL 7OH76CKOo8mO4ZwSmoQ== X-Authority-Analysis: v=2.4 cv=WK/qzXsR c=1 sm=1 tr=0 ts=6ab40891 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=-7qWTPA4ftCRTD5zRq0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIzMDA2OCBTYWx0ZWRfXz1uUImXtDmBM 59DSY0aUmSHy2uQPc8ljqOWbvkOBogVhg/kn/XSZ6bvSwnv5Uo7qup/gFvJUal6TsvGFBbaRZ+/ bSzqvabABndzOr0Yvrlrsf5/AteZeNY= X-Proofpoint-ORIG-GUID: sXsMdSVAbQ-ck53RJ91pVgFMxgdYD79o X-Proofpoint-GUID: sXsMdSVAbQ-ck53RJ91pVgFMxgdYD79o 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-09-23_06,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 adultscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609230068 Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-ppc@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: <qemu-ppc.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-ppc>, <mailto:qemu-ppc-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-ppc> List-Post: <mailto:qemu-ppc@nongnu.org> List-Help: <mailto:qemu-ppc-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-ppc>, <mailto:qemu-ppc-request@nongnu.org?subject=subscribe> Errors-To: qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org |
| Series |
accel/tcg: Make halt-to-exec transition explicit and remove cpu_exec_halt
|
expand
|
On 9/23/26 10:11, Philippe Mathieu-Daudé wrote: > Use qatomic_read() in riscv_cpu_get_mip() and qatomic_set() > when updating env->mip. This makes MIP accesses safe for > riscv_cpu_has_work(), which may run without the BQL. > > Reported-by: Paolo Bonzini<pbonzini@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé<philmd@oss.qualcomm.com> > --- > target/riscv/tcg/cpu_helper.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/target/riscv/tcg/cpu_helper.c b/target/riscv/tcg/cpu_helper.c index e524798d312..2081875a206 100644 --- a/target/riscv/tcg/cpu_helper.c +++ b/target/riscv/tcg/cpu_helper.c @@ -528,7 +528,7 @@ void riscv_cpu_swap_hypervisor_regs(CPURISCVState *env) uint64_t riscv_cpu_get_mip(const CPURISCVState *env) { - return env->mip; + return qatomic_read(&env->mip); } void riscv_cpu_set_rnmi(RISCVCPU *cpu, uint32_t irq, bool level) @@ -592,7 +592,7 @@ uint64_t riscv_cpu_update_mip(CPURISCVState *env, uint64_t mask, uint64_t value) BQL_LOCK_GUARD(); - env->mip = (old & ~mask) | (value & mask); + qatomic_set(&env->mip, (old & ~mask) | (value & mask)); riscv_cpu_interrupt(env);
Use qatomic_read() in riscv_cpu_get_mip() and qatomic_set() when updating env->mip. This makes MIP accesses safe for riscv_cpu_has_work(), which may run without the BQL. Reported-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> --- target/riscv/tcg/cpu_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)