From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492148; cv=none; d=zohomail.com; s=zohoarc; b=MODgEOIZXajeqm6SkO9PgZGqMm3RuyKpl3XsACszVSx2p4b3i1kqDaps5wp0JASki4TN4c2v96XrcE5TDIVxTglN74aEEAs1WQ8csTBs8JD5WZgMr++CICKw4igW7myNmP1oNDZcVhqkmqxB42wuDdnU3kUJD2+wEe4npRSAe+8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492148; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=g7Q0Llf4E9CzpRVLNV5GuH9fzl8t48pDCWd/wP/k0IY=; b=VeyN3AuRcx4/rNZlrtRd48WwDHsyaUuHw+65gz8aDgaaE4HIVGwV1CvNHSHDoIcoPpJu/nUm4UtwtJt0x0cXhPg9u+mI42dPTPDTMPLuwXjyovkp1IVDRZeYIqlrxtXY1Y1Wqt4RzcCDeu/D8IBZP1tuucXtWUsFVzgRtp6accE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492148416506.55130946616873; Tue, 15 Sep 2026 10:09:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdG-0005ON-2L; Tue, 15 Sep 2026 13:07:46 -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 ) id 1x6WdB-0005NC-MA for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:42 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdA-0003TH-0K for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:41 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-48583cc7ab1so1619730f8f.2 for ; Tue, 15 Sep 2026 10:07:39 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492058; x=1790096858; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=g7Q0Llf4E9CzpRVLNV5GuH9fzl8t48pDCWd/wP/k0IY=; b=Mwrggn89e4UKMch3TfNQ2omKJ98EPnjgl9pQbNhk13ilUnkMj676/AsTUh5DCNwkY7 M9Lk1/fMSdApCggjsesHk6oIFmtWy/BwO0AI6e6JhFuUFQnzmgpeFSmjkTd3HYWC3hjX HSvuQvAezq/nJ6ON26iu6x3mZG4Wh5Sal93AiwC+shtRS7Es9MDOUNOuTeN5mWpIC9WQ QRPPnwirHNy200i0wY0Kz7BQDC7aURLGq2dLkpbvDjr5kwaJgH0jDxCtAjvcKnZsqLPj JyGRPD999lKnqvS/CrCb30x8Hw01HsINyL4pte7ZF59uHl4FdDBjnnPSWJ4CzI21Xcyx r2Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492058; x=1790096858; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=g7Q0Llf4E9CzpRVLNV5GuH9fzl8t48pDCWd/wP/k0IY=; b=LrGMEWttgw/IuJ6gowkvd1WC1Opp1XhJvVJi/Rvg/fiOfFx7asLf9KDK5riAOEPM+m GCBay5vhNfU/u5mZT+hN4/TrCKlwmxIZx2S4fV4Z6V6Pff7r1e+GYVVm2IQhchq61b5+ 0yMw7mTIcI3cMNWJ6I8mQAbgJVm+FPfls07Tjx9PJ8XLKFt0gygvbkGF/P546BbRDOs9 9YGLgq6QT3MamP8WLVrqJz//oAPqCQeNlG5yZp7Ni61O/aOmltuJtA7bxEtiq8WMWqeY m1rUNVMroTSQr+NYpvN9IwxpJNHsmE332DhvumnUqlctlnI/Sx9Fot9A+qBt1dGYZxhC RwAg== X-Gm-Message-State: AFuF++mUPsCevVjOU8sUc1SBtqtY9sLVLPmc3NE4Uno7gmY0IAjCJDLG CLz7Y8Gt5JgCEw3vlHRp6CweVSeANNrkWW7IvDH9JJOsR/hSqpNrGNGirf7+j3/5gOe6s5h13j9 42hQpExQ= X-Gm-Gg: AYBFou0yRfcg2XuauzORoWAGt402FBCy6WtUa0n1q8w4b5/bx6PM+qJx1BFGJzEcsoK /kKSo3d5Mut0mRU/fdxZFNlTALDHPeaMBonv5E0y4c7iOoBJOtrhlhjDgKmw0qk9KWmrw5H452K F4r3Zixjy5yib0Sy8OLn6LhuYDH+EDxlDfWu345SOAmST3JMKWHS3sVRJurfe+kWArjknle0nv/ 1rgIvA2Ie54H0a5Xj1/6rnAJ5S5aHlWtvRD2u7XhLPI8yth/qJUmDtFflKMYa5Q7e8UrT/cIK66 xHr8IbhyRyQD48kIwCWEcBO76IJvoMHfSIOGtQsDTl1EdlTBussCVQp5LyAlv/1ejsyqtLk0sxB z8Rskg4kH/5X3wdajaP6Ba25iRMQr+QJN5iIe+V4mWaWuMPg69SVWDbBbwBrxQ50Z6dR15lDPVx T1tWAF0IOWdY1i/ie3qEiLLneLiR6ffPju6Fifb9ibWOvRlW1ldug+zYtoIOJPet8gHLZq+aGLr /OrTxQF7ZkInqZTVgwKjkqBsjHoGc9SdAsFog2GA+aI4V2+47nwoYPjAG1foUXbWLRQbC5rI60u +GbmFf8aHK8T8tc= X-Received: by 2002:a05:6000:4555:b0:487:463:92d3 with SMTP id ffacd0b85a97d-48704639407mr5530033f8f.20.1789492058255; Tue, 15 Sep 2026 10:07:38 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/20] target/arm/whpx: Don't try to sync ARM_CP_CONST registers Date: Tue, 15 Sep 2026 18:07:16 +0100 Message-ID: <20260915170735.425445-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492150583158500 Content-Type: text/plain; charset="utf-8" From: Doug Cook ARM_CP_CONST registers ignore writes, so readback assertion fails. Not asserting now because all entries in the whpx_sreg_match table are invalid. Needs to be fixed now so that we can fix the table entries. Signed-off-by: Doug Cook Reviewed-by: Mohamed Mediouni Signed-off-by: Peter Maydell --- target/arm/whpx/whpx-all.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/arm/whpx/whpx-all.c b/target/arm/whpx/whpx-all.c index 00a5de8cdc1..9a5a575b5e9 100644 --- a/target/arm/whpx/whpx-all.c +++ b/target/arm/whpx/whpx-all.c @@ -223,6 +223,8 @@ static struct whpx_sreg_match whpx_sreg_match[] =3D { { WHvArm64RegisterMpidrEl1, ENCODE_AA64_CP_REG(0, 0, 3, 0, 5) }, { WHvArm64RegisterIdPfr0El1, ENCODE_AA64_CP_REG(0, 4, 3, 0, 0) }, #endif +#ifdef SYNC_CONST_ID_REGS + /* ID registers are ARM_CP_CONST (writes ignored). */ { WHvArm64RegisterIdAa64Pfr1El1, ENCODE_AA64_CP_REG(0, 4, 3, 0, 1), tr= ue }, { WHvArm64RegisterIdAa64Dfr0El1, ENCODE_AA64_CP_REG(0, 5, 3, 0, 0), tr= ue }, { WHvArm64RegisterIdAa64Dfr1El1, ENCODE_AA64_CP_REG(0, 5, 3, 0, 1), tr= ue }, @@ -235,6 +237,7 @@ static struct whpx_sreg_match whpx_sreg_match[] =3D { { WHvArm64RegisterIdAa64Mmfr1El1, ENCODE_AA64_CP_REG(0, 7, 3, 0, 1), t= rue }, { WHvArm64RegisterIdAa64Mmfr2El1, ENCODE_AA64_CP_REG(0, 7, 3, 0, 2), t= rue }, { WHvArm64RegisterIdAa64Mmfr3El1, ENCODE_AA64_CP_REG(0, 7, 3, 0, 3), t= rue }, +#endif =20 { WHvArm64RegisterMdscrEl1, ENCODE_AA64_CP_REG(0, 2, 2, 0, 2) }, { WHvArm64RegisterSctlrEl1, ENCODE_AA64_CP_REG(1, 0, 3, 0, 0) }, @@ -790,7 +793,7 @@ int whpx_init_vcpu(CPUState *cpu) =20 ri =3D get_arm_cp_reginfo(arm_cpu->cp_regs, key); if (ri) { - assert(!(ri->type & ARM_CP_NO_RAW)); + assert(!(ri->type & (ARM_CP_NO_RAW | ARM_CP_CONST))); whpx_sreg_match[i].cp_idx =3D sregs_cnt; arm_cpu->cpreg_indexes[sregs_cnt++] =3D cpreg_to_kvm_id(key); } else { --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492284; cv=none; d=zohomail.com; s=zohoarc; b=QBQ+543AK0dFjVTh7+iJRRnu2wB42rZ7KZSf7UMphqyh+ky6TdpoV6k7bEqxl0PhjL/tv70h+tNPWaxYuO4TWFUpzssvbEo6HEywPpVOlImlsoH2RnjidqUa8WuUEt0yPFId08g5okzugoKd8Muu4rHdAAF/+zZ8nz0It0kfgcI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492284; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=E044AAl5EJB3+S1h4ssG7CoWYXWkxOfE84p38VpBkXc=; b=Zc7FZf18It8o5x/NuQ3Rtyr5D5ZmcBEWEVtcqQBAEcUQlIX37hpJYKF3v4Gt8VqhetvhbWq5N6nwl3bpBjux5xAdg7zULF5I4GNp1TaQuT451B8NGkIuoz0SNwdV8yhZzHK7ogvPbULnTx0XM3VcsD9S/RvKWJcTA7fNSVeb9go= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492284459916.8757028586695; Tue, 15 Sep 2026 10:11:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdK-0005Pe-6k; Tue, 15 Sep 2026 13:07:50 -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 ) id 1x6WdF-0005OP-If for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:45 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdC-0003Tk-15 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:45 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-482f63546c5so432788f8f.2 for ; Tue, 15 Sep 2026 10:07:41 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492060; x=1790096860; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=E044AAl5EJB3+S1h4ssG7CoWYXWkxOfE84p38VpBkXc=; b=rZhvWrZQXD+I6GCjobB6XmihoERhQiPeDj1zDE9fmeDumzdOB8GkR3awB/ylF/COvB Y0qQ6V7J+3cXAE6Or5l3Tj2v+jack9EtYtHgISW+O1VPW5GuBv4GeJfF1IEzgqkP3WH6 3Hmb8KxasbSzBjkT4IpgAzDIm+tf6HXiPHCCRDVuiPvmBHDGwsLwAuVLBVMKExlMUNvk VuiGatFsY2zJct8GviPFqpbqdQFiB5iYxvM82S9ieydfle2ErqS979gPTLtsmawJnGV2 LRjYqPraN9OlVhYrftRH0ASUTaxY4uXwbm0hRkg1ZrZfvcNmOJG1F519yfJoFTqyt10k EKBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492060; x=1790096860; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=E044AAl5EJB3+S1h4ssG7CoWYXWkxOfE84p38VpBkXc=; b=BMBtBXDWi8NhOpslNL0+wUoYnvvJ2LStP9xQP3IMrVZBWV3DIhOeIYAQdTM2sOHiTY bJ1uu8S4RHQKWjtOEIMLitryxPg6QppR+7YKyuZRc6Mlnlt/mlt+4eDlhBtlcF3xEhqn ApiWDKSkH5KJnNdifosoHPX24x4eWznS2i3hJB2zdo3V84AD/fVsFelYK017mE/psj1L GOwTBqh1VUKejkesT2qTD3kldUOOcLoIVUBbYtJIO0Wf6gQdnDtOnnXp7oM6saR8wZ6V 6rLOzOpZKfEUY5sy+JhD+G+FZLnV2H6I+TcnfHoXw+YrDV4QkZYUUE2tSY/5cohK27dr nVzA== X-Gm-Message-State: AFuF++ln7G2W6oBXcH27TBP1NVMgRrlUJHTkbUL7dvWt4qCJgnGr+4y5 nTvtWmi04gjh7xrXbxFdAKC8BfTQZ7/+yiXPVyryYqSvmHDKBMpGNOp2ikcyut7spiKesC1oC+B Z5ao0J0k= X-Gm-Gg: AYBFou05O4KTyHVM5Euh0BYegzT/yDbBkpkHrHsEbifDNxvTni+R3LKOdLvpGsqql9o kpHRqDXFiXXIZlEJyNFtQwEfkuMVsia0/Psn+6yIS3duNougxstZQYNGKz8lQXd+o8CEm2HhyiI 8ip0BgneGQnSGvE/h5rS0hgJotOGSkoz/4PZMpD5pfbqrhftaBzPuNK1Il/iDzgaDTfni60mtHy jCdBa7pkEwZ/vp/TeCjGKOoVIfR3jU0b8Biok+YitjceslJPVedUJ+mLhKNomSUt/4F6Dx9yqgU uUT0aFzdpQxBkGlgQDweC4PQQOsuR03ufzKJwwGdlniFnf2mTBXhJwL9y+gdJzQGrnuBabGXxJd Fs+V7wvC58Bljoe8zsWQQQw4r2OSLCsFFPqfWWelUOwSUwia+UxL4FE6qSA3PB/F0lpkpj29m2P P84nAgR5jnDEOnzfXKJvBjrJQLJjNFjE9J4LqHNTkagTB528oqnRjj5NMrF1A9mWaUqDq9P9Wjz fj8qXz3HVr2rRjGZGHyUVLLNZaBrfoobpu/uhalBF2jLctkl+PF3kmUCS1DD+BQ5UiKiWv1Q057 MP24 X-Received: by 2002:a5d:59c1:0:b0:487:7fd:734 with SMTP id ffacd0b85a97d-4870a992fefmr2161898f8f.18.1789492059844; Tue, 15 Sep 2026 10:07:39 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/20] target/arm/whpx: incorrect ENCODE_AA64_CP_REG parameter order Date: Tue, 15 Sep 2026 18:07:17 +0100 Message-ID: <20260915170735.425445-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492285337158501 Content-Type: text/plain; charset="utf-8" From: Doug Cook ENCODE_AA64_CP_REG expects parameters (op0, op1, crn, crm, op2) but whpx was using parameter order (crn, crm, op0, op1, op2). As a result, every call to get_arm_cp_reginfo() returned NULL, cp_idx was -1, and both whpx_get_registers() and whpx_set_registers() were no-ops. In addition, several encodings were paired with the wrong WHV register tag. These are inert while the encodings do not resolve, but would sync the wrong register once they do: - the series 1 debug register encodings used series 0 tags, - the SP_EL0 encoding was tagged WHvArm64RegisterSpEl1, which would clobber SP_EL0 with SP_EL1 on get and never write SP_EL0 on set, - the ID_AA64PFR0_EL1 encoding was tagged WHvArm64RegisterIdPfr0El1. Fix parameter order (using a regular expression). Fix tags. Signed-off-by: Doug Cook Reviewed-by: Mohamed Mediouni Signed-off-by: Peter Maydell --- target/arm/whpx/whpx-all.c | 218 ++++++++++++++++++------------------- 1 file changed, 109 insertions(+), 109 deletions(-) diff --git a/target/arm/whpx/whpx-all.c b/target/arm/whpx/whpx-all.c index 9a5a575b5e9..a05df7d2cb3 100644 --- a/target/arm/whpx/whpx-all.c +++ b/target/arm/whpx/whpx-all.c @@ -135,145 +135,145 @@ struct whpx_sreg_match { }; =20 static struct whpx_sreg_match whpx_sreg_match[] =3D { - { WHvArm64RegisterDbgbvr0El1, ENCODE_AA64_CP_REG(0, 0, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr0El1, ENCODE_AA64_CP_REG(0, 0, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr0El1, ENCODE_AA64_CP_REG(0, 0, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr0El1, ENCODE_AA64_CP_REG(0, 0, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr0El1, ENCODE_AA64_CP_REG(2, 0, 0, 0, 4) }, + { WHvArm64RegisterDbgbcr0El1, ENCODE_AA64_CP_REG(2, 0, 0, 0, 5) }, + { WHvArm64RegisterDbgwvr0El1, ENCODE_AA64_CP_REG(2, 0, 0, 0, 6) }, + { WHvArm64RegisterDbgwcr0El1, ENCODE_AA64_CP_REG(2, 0, 0, 0, 7) }, =20 - { WHvArm64RegisterDbgbvr0El1, ENCODE_AA64_CP_REG(0, 1, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr0El1, ENCODE_AA64_CP_REG(0, 1, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr0El1, ENCODE_AA64_CP_REG(0, 1, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr0El1, ENCODE_AA64_CP_REG(0, 1, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr1El1, ENCODE_AA64_CP_REG(2, 0, 0, 1, 4) }, + { WHvArm64RegisterDbgbcr1El1, ENCODE_AA64_CP_REG(2, 0, 0, 1, 5) }, + { WHvArm64RegisterDbgwvr1El1, ENCODE_AA64_CP_REG(2, 0, 0, 1, 6) }, + { WHvArm64RegisterDbgwcr1El1, ENCODE_AA64_CP_REG(2, 0, 0, 1, 7) }, =20 - { WHvArm64RegisterDbgbvr2El1, ENCODE_AA64_CP_REG(0, 2, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr2El1, ENCODE_AA64_CP_REG(0, 2, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr2El1, ENCODE_AA64_CP_REG(0, 2, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr2El1, ENCODE_AA64_CP_REG(0, 2, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr2El1, ENCODE_AA64_CP_REG(2, 0, 0, 2, 4) }, + { WHvArm64RegisterDbgbcr2El1, ENCODE_AA64_CP_REG(2, 0, 0, 2, 5) }, + { WHvArm64RegisterDbgwvr2El1, ENCODE_AA64_CP_REG(2, 0, 0, 2, 6) }, + { WHvArm64RegisterDbgwcr2El1, ENCODE_AA64_CP_REG(2, 0, 0, 2, 7) }, =20 - { WHvArm64RegisterDbgbvr3El1, ENCODE_AA64_CP_REG(0, 3, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr3El1, ENCODE_AA64_CP_REG(0, 3, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr3El1, ENCODE_AA64_CP_REG(0, 3, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr3El1, ENCODE_AA64_CP_REG(0, 3, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr3El1, ENCODE_AA64_CP_REG(2, 0, 0, 3, 4) }, + { WHvArm64RegisterDbgbcr3El1, ENCODE_AA64_CP_REG(2, 0, 0, 3, 5) }, + { WHvArm64RegisterDbgwvr3El1, ENCODE_AA64_CP_REG(2, 0, 0, 3, 6) }, + { WHvArm64RegisterDbgwcr3El1, ENCODE_AA64_CP_REG(2, 0, 0, 3, 7) }, =20 - { WHvArm64RegisterDbgbvr4El1, ENCODE_AA64_CP_REG(0, 4, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr4El1, ENCODE_AA64_CP_REG(0, 4, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr4El1, ENCODE_AA64_CP_REG(0, 4, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr4El1, ENCODE_AA64_CP_REG(0, 4, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr4El1, ENCODE_AA64_CP_REG(2, 0, 0, 4, 4) }, + { WHvArm64RegisterDbgbcr4El1, ENCODE_AA64_CP_REG(2, 0, 0, 4, 5) }, + { WHvArm64RegisterDbgwvr4El1, ENCODE_AA64_CP_REG(2, 0, 0, 4, 6) }, + { WHvArm64RegisterDbgwcr4El1, ENCODE_AA64_CP_REG(2, 0, 0, 4, 7) }, =20 - { WHvArm64RegisterDbgbvr5El1, ENCODE_AA64_CP_REG(0, 5, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr5El1, ENCODE_AA64_CP_REG(0, 5, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr5El1, ENCODE_AA64_CP_REG(0, 5, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr5El1, ENCODE_AA64_CP_REG(0, 5, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr5El1, ENCODE_AA64_CP_REG(2, 0, 0, 5, 4) }, + { WHvArm64RegisterDbgbcr5El1, ENCODE_AA64_CP_REG(2, 0, 0, 5, 5) }, + { WHvArm64RegisterDbgwvr5El1, ENCODE_AA64_CP_REG(2, 0, 0, 5, 6) }, + { WHvArm64RegisterDbgwcr5El1, ENCODE_AA64_CP_REG(2, 0, 0, 5, 7) }, =20 - { WHvArm64RegisterDbgbvr6El1, ENCODE_AA64_CP_REG(0, 6, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr6El1, ENCODE_AA64_CP_REG(0, 6, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr6El1, ENCODE_AA64_CP_REG(0, 6, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr6El1, ENCODE_AA64_CP_REG(0, 6, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr6El1, ENCODE_AA64_CP_REG(2, 0, 0, 6, 4) }, + { WHvArm64RegisterDbgbcr6El1, ENCODE_AA64_CP_REG(2, 0, 0, 6, 5) }, + { WHvArm64RegisterDbgwvr6El1, ENCODE_AA64_CP_REG(2, 0, 0, 6, 6) }, + { WHvArm64RegisterDbgwcr6El1, ENCODE_AA64_CP_REG(2, 0, 0, 6, 7) }, =20 - { WHvArm64RegisterDbgbvr7El1, ENCODE_AA64_CP_REG(0, 7, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr7El1, ENCODE_AA64_CP_REG(0, 7, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr7El1, ENCODE_AA64_CP_REG(0, 7, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr7El1, ENCODE_AA64_CP_REG(0, 7, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr7El1, ENCODE_AA64_CP_REG(2, 0, 0, 7, 4) }, + { WHvArm64RegisterDbgbcr7El1, ENCODE_AA64_CP_REG(2, 0, 0, 7, 5) }, + { WHvArm64RegisterDbgwvr7El1, ENCODE_AA64_CP_REG(2, 0, 0, 7, 6) }, + { WHvArm64RegisterDbgwcr7El1, ENCODE_AA64_CP_REG(2, 0, 0, 7, 7) }, =20 - { WHvArm64RegisterDbgbvr8El1, ENCODE_AA64_CP_REG(0, 8, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr8El1, ENCODE_AA64_CP_REG(0, 8, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr8El1, ENCODE_AA64_CP_REG(0, 8, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr8El1, ENCODE_AA64_CP_REG(0, 8, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr8El1, ENCODE_AA64_CP_REG(2, 0, 0, 8, 4) }, + { WHvArm64RegisterDbgbcr8El1, ENCODE_AA64_CP_REG(2, 0, 0, 8, 5) }, + { WHvArm64RegisterDbgwvr8El1, ENCODE_AA64_CP_REG(2, 0, 0, 8, 6) }, + { WHvArm64RegisterDbgwcr8El1, ENCODE_AA64_CP_REG(2, 0, 0, 8, 7) }, =20 - { WHvArm64RegisterDbgbvr9El1, ENCODE_AA64_CP_REG(0, 9, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr9El1, ENCODE_AA64_CP_REG(0, 9, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr9El1, ENCODE_AA64_CP_REG(0, 9, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr9El1, ENCODE_AA64_CP_REG(0, 9, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr9El1, ENCODE_AA64_CP_REG(2, 0, 0, 9, 4) }, + { WHvArm64RegisterDbgbcr9El1, ENCODE_AA64_CP_REG(2, 0, 0, 9, 5) }, + { WHvArm64RegisterDbgwvr9El1, ENCODE_AA64_CP_REG(2, 0, 0, 9, 6) }, + { WHvArm64RegisterDbgwcr9El1, ENCODE_AA64_CP_REG(2, 0, 0, 9, 7) }, =20 - { WHvArm64RegisterDbgbvr10El1, ENCODE_AA64_CP_REG(0, 10, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr10El1, ENCODE_AA64_CP_REG(0, 10, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr10El1, ENCODE_AA64_CP_REG(0, 10, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr10El1, ENCODE_AA64_CP_REG(0, 10, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr10El1, ENCODE_AA64_CP_REG(2, 0, 0, 10, 4) }, + { WHvArm64RegisterDbgbcr10El1, ENCODE_AA64_CP_REG(2, 0, 0, 10, 5) }, + { WHvArm64RegisterDbgwvr10El1, ENCODE_AA64_CP_REG(2, 0, 0, 10, 6) }, + { WHvArm64RegisterDbgwcr10El1, ENCODE_AA64_CP_REG(2, 0, 0, 10, 7) }, =20 - { WHvArm64RegisterDbgbvr11El1, ENCODE_AA64_CP_REG(0, 11, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr11El1, ENCODE_AA64_CP_REG(0, 11, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr11El1, ENCODE_AA64_CP_REG(0, 11, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr11El1, ENCODE_AA64_CP_REG(0, 11, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr11El1, ENCODE_AA64_CP_REG(2, 0, 0, 11, 4) }, + { WHvArm64RegisterDbgbcr11El1, ENCODE_AA64_CP_REG(2, 0, 0, 11, 5) }, + { WHvArm64RegisterDbgwvr11El1, ENCODE_AA64_CP_REG(2, 0, 0, 11, 6) }, + { WHvArm64RegisterDbgwcr11El1, ENCODE_AA64_CP_REG(2, 0, 0, 11, 7) }, =20 - { WHvArm64RegisterDbgbvr12El1, ENCODE_AA64_CP_REG(0, 12, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr12El1, ENCODE_AA64_CP_REG(0, 12, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr12El1, ENCODE_AA64_CP_REG(0, 12, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr12El1, ENCODE_AA64_CP_REG(0, 12, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr12El1, ENCODE_AA64_CP_REG(2, 0, 0, 12, 4) }, + { WHvArm64RegisterDbgbcr12El1, ENCODE_AA64_CP_REG(2, 0, 0, 12, 5) }, + { WHvArm64RegisterDbgwvr12El1, ENCODE_AA64_CP_REG(2, 0, 0, 12, 6) }, + { WHvArm64RegisterDbgwcr12El1, ENCODE_AA64_CP_REG(2, 0, 0, 12, 7) }, =20 - { WHvArm64RegisterDbgbvr13El1, ENCODE_AA64_CP_REG(0, 13, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr13El1, ENCODE_AA64_CP_REG(0, 13, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr13El1, ENCODE_AA64_CP_REG(0, 13, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr13El1, ENCODE_AA64_CP_REG(0, 13, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr13El1, ENCODE_AA64_CP_REG(2, 0, 0, 13, 4) }, + { WHvArm64RegisterDbgbcr13El1, ENCODE_AA64_CP_REG(2, 0, 0, 13, 5) }, + { WHvArm64RegisterDbgwvr13El1, ENCODE_AA64_CP_REG(2, 0, 0, 13, 6) }, + { WHvArm64RegisterDbgwcr13El1, ENCODE_AA64_CP_REG(2, 0, 0, 13, 7) }, =20 - { WHvArm64RegisterDbgbvr14El1, ENCODE_AA64_CP_REG(0, 14, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr14El1, ENCODE_AA64_CP_REG(0, 14, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr14El1, ENCODE_AA64_CP_REG(0, 14, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr14El1, ENCODE_AA64_CP_REG(0, 14, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr14El1, ENCODE_AA64_CP_REG(2, 0, 0, 14, 4) }, + { WHvArm64RegisterDbgbcr14El1, ENCODE_AA64_CP_REG(2, 0, 0, 14, 5) }, + { WHvArm64RegisterDbgwvr14El1, ENCODE_AA64_CP_REG(2, 0, 0, 14, 6) }, + { WHvArm64RegisterDbgwcr14El1, ENCODE_AA64_CP_REG(2, 0, 0, 14, 7) }, =20 - { WHvArm64RegisterDbgbvr15El1, ENCODE_AA64_CP_REG(0, 15, 2, 0, 4) }, - { WHvArm64RegisterDbgbcr15El1, ENCODE_AA64_CP_REG(0, 15, 2, 0, 5) }, - { WHvArm64RegisterDbgwvr15El1, ENCODE_AA64_CP_REG(0, 15, 2, 0, 6) }, - { WHvArm64RegisterDbgwcr15El1, ENCODE_AA64_CP_REG(0, 15, 2, 0, 7) }, + { WHvArm64RegisterDbgbvr15El1, ENCODE_AA64_CP_REG(2, 0, 0, 15, 4) }, + { WHvArm64RegisterDbgbcr15El1, ENCODE_AA64_CP_REG(2, 0, 0, 15, 5) }, + { WHvArm64RegisterDbgwvr15El1, ENCODE_AA64_CP_REG(2, 0, 0, 15, 6) }, + { WHvArm64RegisterDbgwcr15El1, ENCODE_AA64_CP_REG(2, 0, 0, 15, 7) }, #ifdef SYNC_NO_RAW_REGS /* * The registers below are manually synced on init because they are * marked as NO_RAW. We still list them to make number space sync easi= er. */ - { WHvArm64RegisterMidrEl1, ENCODE_AA64_CP_REG(0, 0, 3, 0, 0) }, - { WHvArm64RegisterMpidrEl1, ENCODE_AA64_CP_REG(0, 0, 3, 0, 5) }, - { WHvArm64RegisterIdPfr0El1, ENCODE_AA64_CP_REG(0, 4, 3, 0, 0) }, + { WHvArm64RegisterMidrEl1, ENCODE_AA64_CP_REG(3, 0, 0, 0, 0) }, + { WHvArm64RegisterMpidrEl1, ENCODE_AA64_CP_REG(3, 0, 0, 0, 5) }, + { WHvArm64RegisterIdAa64Pfr0El1, ENCODE_AA64_CP_REG(3, 0, 0, 4, 0) }, #endif #ifdef SYNC_CONST_ID_REGS /* ID registers are ARM_CP_CONST (writes ignored). */ - { WHvArm64RegisterIdAa64Pfr1El1, ENCODE_AA64_CP_REG(0, 4, 3, 0, 1), tr= ue }, - { WHvArm64RegisterIdAa64Dfr0El1, ENCODE_AA64_CP_REG(0, 5, 3, 0, 0), tr= ue }, - { WHvArm64RegisterIdAa64Dfr1El1, ENCODE_AA64_CP_REG(0, 5, 3, 0, 1), tr= ue }, - { WHvArm64RegisterIdAa64Isar0El1, ENCODE_AA64_CP_REG(0, 6, 3, 0, 0), t= rue }, - { WHvArm64RegisterIdAa64Isar1El1, ENCODE_AA64_CP_REG(0, 6, 3, 0, 1), t= rue }, + { WHvArm64RegisterIdAa64Pfr1El1, ENCODE_AA64_CP_REG(3, 0, 0, 4, 1), tr= ue }, + { WHvArm64RegisterIdAa64Dfr0El1, ENCODE_AA64_CP_REG(3, 0, 0, 5, 0), tr= ue }, + { WHvArm64RegisterIdAa64Dfr1El1, ENCODE_AA64_CP_REG(3, 0, 0, 5, 1), tr= ue }, + { WHvArm64RegisterIdAa64Isar0El1, ENCODE_AA64_CP_REG(3, 0, 0, 6, 0), t= rue }, + { WHvArm64RegisterIdAa64Isar1El1, ENCODE_AA64_CP_REG(3, 0, 0, 6, 1), t= rue }, #ifdef SYNC_NO_MMFR0 /* We keep the hardware MMFR0 around. HW limits are there anyway */ - { WHvArm64RegisterIdAa64Mmfr0El1, ENCODE_AA64_CP_REG(0, 7, 3, 0, 0) }, + { WHvArm64RegisterIdAa64Mmfr0El1, ENCODE_AA64_CP_REG(3, 0, 0, 7, 0) }, #endif - { WHvArm64RegisterIdAa64Mmfr1El1, ENCODE_AA64_CP_REG(0, 7, 3, 0, 1), t= rue }, - { WHvArm64RegisterIdAa64Mmfr2El1, ENCODE_AA64_CP_REG(0, 7, 3, 0, 2), t= rue }, - { WHvArm64RegisterIdAa64Mmfr3El1, ENCODE_AA64_CP_REG(0, 7, 3, 0, 3), t= rue }, + { WHvArm64RegisterIdAa64Mmfr1El1, ENCODE_AA64_CP_REG(3, 0, 0, 7, 1), t= rue }, + { WHvArm64RegisterIdAa64Mmfr2El1, ENCODE_AA64_CP_REG(3, 0, 0, 7, 2), t= rue }, + { WHvArm64RegisterIdAa64Mmfr3El1, ENCODE_AA64_CP_REG(3, 0, 0, 7, 3), t= rue }, #endif =20 - { WHvArm64RegisterMdscrEl1, ENCODE_AA64_CP_REG(0, 2, 2, 0, 2) }, - { WHvArm64RegisterSctlrEl1, ENCODE_AA64_CP_REG(1, 0, 3, 0, 0) }, - { WHvArm64RegisterCpacrEl1, ENCODE_AA64_CP_REG(1, 0, 3, 0, 2) }, - { WHvArm64RegisterTtbr0El1, ENCODE_AA64_CP_REG(2, 0, 3, 0, 0) }, - { WHvArm64RegisterTtbr1El1, ENCODE_AA64_CP_REG(2, 0, 3, 0, 1) }, - { WHvArm64RegisterTcrEl1, ENCODE_AA64_CP_REG(2, 0, 3, 0, 2) }, + { WHvArm64RegisterMdscrEl1, ENCODE_AA64_CP_REG(2, 0, 0, 2, 2) }, + { WHvArm64RegisterSctlrEl1, ENCODE_AA64_CP_REG(3, 0, 1, 0, 0) }, + { WHvArm64RegisterCpacrEl1, ENCODE_AA64_CP_REG(3, 0, 1, 0, 2) }, + { WHvArm64RegisterTtbr0El1, ENCODE_AA64_CP_REG(3, 0, 2, 0, 0) }, + { WHvArm64RegisterTtbr1El1, ENCODE_AA64_CP_REG(3, 0, 2, 0, 1) }, + { WHvArm64RegisterTcrEl1, ENCODE_AA64_CP_REG(3, 0, 2, 0, 2) }, =20 - { WHvArm64RegisterApiAKeyLoEl1, ENCODE_AA64_CP_REG(2, 1, 3, 0, 0) }, - { WHvArm64RegisterApiAKeyHiEl1, ENCODE_AA64_CP_REG(2, 1, 3, 0, 1) }, - { WHvArm64RegisterApiBKeyLoEl1, ENCODE_AA64_CP_REG(2, 1, 3, 0, 2) }, - { WHvArm64RegisterApiBKeyHiEl1, ENCODE_AA64_CP_REG(2, 1, 3, 0, 3) }, - { WHvArm64RegisterApdAKeyLoEl1, ENCODE_AA64_CP_REG(2, 2, 3, 0, 0) }, - { WHvArm64RegisterApdAKeyHiEl1, ENCODE_AA64_CP_REG(2, 2, 3, 0, 1) }, - { WHvArm64RegisterApdBKeyLoEl1, ENCODE_AA64_CP_REG(2, 2, 3, 0, 2) }, - { WHvArm64RegisterApdBKeyHiEl1, ENCODE_AA64_CP_REG(2, 2, 3, 0, 3) }, - { WHvArm64RegisterApgAKeyLoEl1, ENCODE_AA64_CP_REG(2, 3, 3, 0, 0) }, - { WHvArm64RegisterApgAKeyHiEl1, ENCODE_AA64_CP_REG(2, 3, 3, 0, 1) }, + { WHvArm64RegisterApiAKeyLoEl1, ENCODE_AA64_CP_REG(3, 0, 2, 1, 0) }, + { WHvArm64RegisterApiAKeyHiEl1, ENCODE_AA64_CP_REG(3, 0, 2, 1, 1) }, + { WHvArm64RegisterApiBKeyLoEl1, ENCODE_AA64_CP_REG(3, 0, 2, 1, 2) }, + { WHvArm64RegisterApiBKeyHiEl1, ENCODE_AA64_CP_REG(3, 0, 2, 1, 3) }, + { WHvArm64RegisterApdAKeyLoEl1, ENCODE_AA64_CP_REG(3, 0, 2, 2, 0) }, + { WHvArm64RegisterApdAKeyHiEl1, ENCODE_AA64_CP_REG(3, 0, 2, 2, 1) }, + { WHvArm64RegisterApdBKeyLoEl1, ENCODE_AA64_CP_REG(3, 0, 2, 2, 2) }, + { WHvArm64RegisterApdBKeyHiEl1, ENCODE_AA64_CP_REG(3, 0, 2, 2, 3) }, + { WHvArm64RegisterApgAKeyLoEl1, ENCODE_AA64_CP_REG(3, 0, 2, 3, 0) }, + { WHvArm64RegisterApgAKeyHiEl1, ENCODE_AA64_CP_REG(3, 0, 2, 3, 1) }, =20 - { WHvArm64RegisterSpsrEl1, ENCODE_AA64_CP_REG(4, 0, 3, 0, 0) }, - { WHvArm64RegisterElrEl1, ENCODE_AA64_CP_REG(4, 0, 3, 0, 1) }, - { WHvArm64RegisterSpEl1, ENCODE_AA64_CP_REG(4, 1, 3, 0, 0) }, - { WHvArm64RegisterEsrEl1, ENCODE_AA64_CP_REG(5, 2, 3, 0, 0) }, - { WHvArm64RegisterFarEl1, ENCODE_AA64_CP_REG(6, 0, 3, 0, 0) }, - { WHvArm64RegisterParEl1, ENCODE_AA64_CP_REG(7, 4, 3, 0, 0) }, - { WHvArm64RegisterMairEl1, ENCODE_AA64_CP_REG(10, 2, 3, 0, 0) }, - { WHvArm64RegisterVbarEl1, ENCODE_AA64_CP_REG(12, 0, 3, 0, 0) }, - { WHvArm64RegisterContextidrEl1, ENCODE_AA64_CP_REG(13, 0, 3, 0, 1) }, - { WHvArm64RegisterTpidrEl1, ENCODE_AA64_CP_REG(13, 0, 3, 0, 4) }, - { WHvArm64RegisterCntkctlEl1, ENCODE_AA64_CP_REG(14, 1, 3, 0, 0) }, - { WHvArm64RegisterCsselrEl1, ENCODE_AA64_CP_REG(0, 0, 3, 2, 0) }, - { WHvArm64RegisterTpidrEl0, ENCODE_AA64_CP_REG(13, 0, 3, 3, 2) }, - { WHvArm64RegisterTpidrroEl0, ENCODE_AA64_CP_REG(13, 0, 3, 3, 3) }, - { WHvArm64RegisterCntvCtlEl0, ENCODE_AA64_CP_REG(14, 3, 3, 3, 1) }, - { WHvArm64RegisterCntvCvalEl0, ENCODE_AA64_CP_REG(14, 3, 3, 3, 2) }, - { WHvArm64RegisterSpEl1, ENCODE_AA64_CP_REG(4, 1, 3, 4, 0) }, + { WHvArm64RegisterSpsrEl1, ENCODE_AA64_CP_REG(3, 0, 4, 0, 0) }, + { WHvArm64RegisterElrEl1, ENCODE_AA64_CP_REG(3, 0, 4, 0, 1) }, + { WHvArm64RegisterSpEl0, ENCODE_AA64_CP_REG(3, 0, 4, 1, 0) }, + { WHvArm64RegisterEsrEl1, ENCODE_AA64_CP_REG(3, 0, 5, 2, 0) }, + { WHvArm64RegisterFarEl1, ENCODE_AA64_CP_REG(3, 0, 6, 0, 0) }, + { WHvArm64RegisterParEl1, ENCODE_AA64_CP_REG(3, 0, 7, 4, 0) }, + { WHvArm64RegisterMairEl1, ENCODE_AA64_CP_REG(3, 0, 10, 2, 0) }, + { WHvArm64RegisterVbarEl1, ENCODE_AA64_CP_REG(3, 0, 12, 0, 0) }, + { WHvArm64RegisterContextidrEl1, ENCODE_AA64_CP_REG(3, 0, 13, 0, 1) }, + { WHvArm64RegisterTpidrEl1, ENCODE_AA64_CP_REG(3, 0, 13, 0, 4) }, + { WHvArm64RegisterCntkctlEl1, ENCODE_AA64_CP_REG(3, 0, 14, 1, 0) }, + { WHvArm64RegisterCsselrEl1, ENCODE_AA64_CP_REG(3, 2, 0, 0, 0) }, + { WHvArm64RegisterTpidrEl0, ENCODE_AA64_CP_REG(3, 3, 13, 0, 2) }, + { WHvArm64RegisterTpidrroEl0, ENCODE_AA64_CP_REG(3, 3, 13, 0, 3) }, + { WHvArm64RegisterCntvCtlEl0, ENCODE_AA64_CP_REG(3, 3, 14, 3, 1) }, + { WHvArm64RegisterCntvCvalEl0, ENCODE_AA64_CP_REG(3, 3, 14, 3, 2) }, + { WHvArm64RegisterSpEl1, ENCODE_AA64_CP_REG(3, 4, 4, 1, 0) }, }; =20 HRESULT whpx_set_exception_exit_bitmap(UINT64 exceptions) --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492161; cv=none; d=zohomail.com; s=zohoarc; b=NoXgLoC0pzMwWRCioV6buaKlDsB3eUFQO5iNMbNbr4iqfxs5XHBt8LS5ysYgQzvXAUCmkeKNJCEtDhoHWWDUEZOH2QKkx9Ej4hLues2Kwnvu9JjF8/CWUn3Xb7+RS54WQIQZO6+KkPEzry/DQA9C/a1Sgdi5Mwq2im3D8FhW0m0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492161; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=24Orj4A/cTGpGkp1mwzozDfIPHw3PzO0nF/DEKBkz6w=; b=iceJZWplRiypbFrUx69K8TvW0kHL1eipFdpZV/VzaY2EGl7NcUF4f0ZnfST37eTP7iIBHEc55vN6mzs1NzCCwjnH8mqPXM8vMxH4OfqkgHv9IR+7GcNOo+I3+LDkhtY3xf7KtAUVI/z/K88GThbTubsGDV4Kh8AXp8TYPRErfnE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178949216159946.63733790869492; Tue, 15 Sep 2026 10:09:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdI-0005P3-0Y; Tue, 15 Sep 2026 13:07:48 -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 ) id 1x6WdE-0005Nu-If for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:44 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdC-0003U9-GA for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:44 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-482f6350f89so1854606f8f.3 for ; Tue, 15 Sep 2026 10:07:42 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492061; x=1790096861; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=24Orj4A/cTGpGkp1mwzozDfIPHw3PzO0nF/DEKBkz6w=; b=AKwmIoiQbV1NHd/gTasZsxx5v/0EEptV9DzTzR/U82+mIA1D+FzcQOxC3VUbi6ntSn PjCf2NpYsNN7X/4vjWkOhSveCuYrqhvp/VSGdVJBumTA9EwBWtgmS2Nv0q2hnsLGZqys O2ei4blZnlve6jt4LzrffWQbTgq8ayfrW0kh3gld8sMnfW1nRi+VE0V6wi0oSbHukP6m uOWJcM/cEaCuCCAqdOuopa6f51wX3yI1fSkY5f2Ecm4qX9affK6Ykx3r07o0kshCgmBA NKhonalqtiMSgTeSsWtXyjYbxR4+jsNkyQOxYQH4xmGjurwKYKBYoXqIYMa82Zl/5anx La5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492061; x=1790096861; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=24Orj4A/cTGpGkp1mwzozDfIPHw3PzO0nF/DEKBkz6w=; b=onCrEs++C1mSx/yLVzfL9xJgocx4xzqbzuZ3LYyKBO04yzHp/yLs+FpQJ1TM4ijhTn KliVQT7Ain7onEbw+NtZWQLPxRIHpdZsV3WEsmvElQnCZXgtIJ5JRWSsQuSlKJh1RlE+ FeDJExPM+CJkdqikIUOalLbbFte6DFid8Cn0z1lbRXe3HNPVlr0zQgSSO9+amxS1FrC8 DvarC9Nw2sXPgVljYPpzUOgXQzbN1NWJ+vT1Anq84y0iLqKeVEGpQoU+Rt4x/EpIYnpb 4CEwcSlmlxYigLPkEO1FI9g5H4laxQnGZdqTP/fK8aoTrqcWUdWzuMqHjv0ntQwCUFUa fFVQ== X-Gm-Message-State: AFuF++nsEfvpn00wlRMEQpp3w4/up5ThxgCZM0O4oTRzv5rFshUwU2AI 0C4KH213xzNMyfBCO9eWkF886xhZQukA/dse2sCq2mVUzx+mfQEUZU2v4I0VdW5xgXus/6KA5W4 xwSPvboY= X-Gm-Gg: AYBFou192lV45cJt2iEAtcRy7BHkUJbdfQNz49ClzTk94VTn57i4WomGVlbHoYL5nbh 3yxS8k27SWO5NMRAJcc0/RK5PVQq7Fpiw4GWPQespB8dg0yaZX+vOBPmTc2KZzFA8OuId9HJdid +lcviyGh7oSAG+VhNvA9hvdnoIMYkaaY+LoT1Gi9B4bGfVV+Hxl7UCosvg82s6ktcRAR+U/QDqf aNMl5lR3jLwUkQ08mA5pZEx57tC6tUkG5yLuXy7h+SCKZTf6iNfTDXBztRCoERYy0WkhHY0WZv+ k8ysXmA3dknAyQOpq1MpQ8r3OMDYLmb1iKZ6HiFAZXW6GMscQb5YEzVTY9XCGn6fGd6tnJ7DSjc ubpiYtufR9lFDyyKHVGLrNCSkcdfSv7tXCWECxH3Ty8yCwCXWtgotsBgljEI1XMqRxScRYm1Mi7 nC7yHaoIECpw9v+aWFZAumKlvVUMQOI2a9zFlV/5WRxM/pGhrCcO75UsNzg9aky0KVYZ3bwi6VG luSR2V6oxMv6cBdjbramaAox639+dYg6BQ+B7CVTR2prk9JFNs7dM97Ts2vtGtEbYjHeC7X0mra W6s1 X-Received: by 2002:a05:6000:2313:b0:487:8c8:8cb with SMTP id ffacd0b85a97d-48708c80907mr3966077f8f.8.1789492060948; Tue, 15 Sep 2026 10:07:40 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/20] target/arm/whpx: fix whpx-arm post-reset CPU state Date: Tue, 15 Sep 2026 18:07:18 +0100 Message-ID: <20260915170735.425445-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492162566158500 Content-Type: text/plain; charset="utf-8" From: Doug Cook Reset should leave CPU 0 running, and should leave all other CPUs suspended. Instead, no CPUs are suspended and CPUs may be left in low-power states. Fix by updating state in whpx_set_registers WHPX_LEVEL_RESET_STATE. Signed-off-by: Doug Cook Reviewed-by: Mohamed Mediouni Signed-off-by: Peter Maydell --- target/arm/whpx/whpx-all.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/target/arm/whpx/whpx-all.c b/target/arm/whpx/whpx-all.c index a05df7d2cb3..d106400686f 100644 --- a/target/arm/whpx/whpx-all.c +++ b/target/arm/whpx/whpx-all.c @@ -613,6 +613,37 @@ void whpx_set_registers(CPUState *cpu, WHPXStateLevel = level) whpx_set_reg(cpu, whpx_sreg_match[i].reg, val); } } + + if (level =3D=3D WHPX_LEVEL_RESET_STATE) { + /* + * WHPX keeps the "vCPU is in a low-power wait" state (entered whe= n the + * guest executes WFI/WFE) in WHvRegisterInternalActivityState, an= d that + * state is not affected by writing the architectural registers ab= ove. + * If the guest happened to be idle when the reset was requested, = the + * vCPU would stay suspended forever. + * + * StartupSuspend is the bit WHP uses to hold a vCPU that has not = been + * started yet, and it is how secondary vCPUs are parked until PSCI + * CPU_ON releases them. + */ + WHV_REGISTER_NAME name =3D WHvRegisterInternalActivityState; + bool powered_off =3D arm_cpu->power_state =3D=3D PSCI_OFF; + WHV_REGISTER_VALUE ia; + HRESULT hr; + + clean_whv_register_value(&ia); + hr =3D whp_dispatch.WHvGetVirtualProcessorRegisters( + whpx_global.partition, cpu->cpu_index, &name, 1, &ia); + if (SUCCEEDED(hr) && + (ia.InternalActivity.IdleSuspend || + ia.InternalActivity.HaltSuspend || + ia.InternalActivity.StartupSuspend !=3D powered_off)) { + ia.InternalActivity.IdleSuspend =3D 0; + ia.InternalActivity.HaltSuspend =3D 0; + ia.InternalActivity.StartupSuspend =3D powered_off; + whpx_set_reg(cpu, WHvRegisterInternalActivityState, ia); + } + } } =20 static uint32_t max_vcpu_index; --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492173; cv=none; d=zohomail.com; s=zohoarc; b=CVltmWgXyCtSRN7i/apisfzPLnLlC5zHrfD1hRfERWjI8vNkwH/p4KNXUPulBHCDOBfiIkkGij7EYv+lQTBJridS0yRpdG6YTHNrrC+RwI3cjnbA7Vgg9QrVQpgXiRpDW3rjSzCtmcKly+inHSTCjSGBBX8nvrSEjzUE9iqDnps= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492173; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ULD2PM3N7WNC34JwQIlZJ2MFL6mWprc3t+7KMZ20CZc=; b=PnoKfsZr1WXmmxIPtAFGTwkeBldF5tRPGdZUEGo8JS7WA6PvwtEIb9Ljz5N5hJoVcHi4SA0ASp231vUlnTDBupuq9kw9oanCg4c4tOIANkK3fkM9HvjQyRMaSsfnLGJo9hHqoNJJTXAvV/BCjAEI8jj2DFS8GM/8GDwe+7w7s6w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492173575331.38373338397093; Tue, 15 Sep 2026 10:09:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdK-0005Pa-7s; Tue, 15 Sep 2026 13:07:50 -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 ) id 1x6WdF-0005OR-TJ for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:46 -0400 Received: from mail-wm2-x10.google.com ([2a00:1450:4864:31::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdD-0003UO-Tk for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:45 -0400 Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49b912d37b6so278775e9.0 for ; Tue, 15 Sep 2026 10:07:43 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492062; x=1790096862; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ULD2PM3N7WNC34JwQIlZJ2MFL6mWprc3t+7KMZ20CZc=; b=M5cDb/NQSDKXdvh06yslSzNndjinE6ZNwq9mTzlVCS5WN+zZSEEiCIQATRI/XEN03E ngy1S81YVmHtHbVZdRW8TiIIwIzLDWEsAYf1GRs9ro4sTNQFuXYsZ1CxnccIJyScdl7o bbwttFvi792q5DI+cgrgKLOFVIGDm2imYQ0A35/gH6adAMo1oCeFng48IOPoJ7LJf6KL q0hMOicqZGmDR024kF/eP5HzOv1DfC1JGUZWDH4PRMSoj5PfGXSi9YA6AMJR+qhdIqc6 hSUJ+tqgvbnjREmbYfll/HvP1InHwwNxQfFkrl8FAIWe8EBNnzzwDYMJlbzZSyN108/w xobg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492062; x=1790096862; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ULD2PM3N7WNC34JwQIlZJ2MFL6mWprc3t+7KMZ20CZc=; b=YG8zaJSaKAN9fjmgCkxfzbpt7rl+OySZbd/asLWu6FATVBV5B++suYHtYimdsTdzTC ZHlN9U3uAzaVdlHgdZEnlfbeg7lfgkFK+R4h8vCjaexmZasVMhGlxvsxQr7/xefWaBVZ cM/r+7WD3semckiFnad2sQ9APsDKfnj+67hOQUZWtbFOO2b+yjsgqWWqG3siDHW44HJs QfDZU8IXgidatdvJyyjHVfBt+u5Vir1TgdTg3UMzZDppam0ZG5zzQgLPe1lX5Ikj7ymr bQbs96AgEjZwT48EWUNoKm0g70kP7SnBi3qRtQstQktAm3HbyfjGEuLVLauLdPiE4KDW 4FIg== X-Gm-Message-State: AFuF++lpy+Ee3yEdEiCtMldfToE+NujZBRoo3HTXMrL1CDnT7eiM8tbz 4mnxAJwhyky/M1ofHQQkstKIlYZIXbIcMT1UsDj98Ed9bxWhNdIKLX+A0ZQsHk0ghBy+YbJPG73 1HB2UZuY= X-Gm-Gg: AYBFou15iwCCh9lXFOZuYq9QvnRRiFJ/ZwP3oHUUjd3GvJS7CnmVqFK1Mm1B7BhEbOf trMVLF/aTn3zUeWSdFZkBWfK13YNGzRcvDDJRUc93pGDvcmvHk3JufMBkxvE0kLb9ODq4iZ0PHB 07BUqKgUJBAsHxD8cRvle1k3qJrBcO4C+T4+CmIbq17QeSVecQAaBPr15o3Zsqc7nfvebTFWxKe p96/H8BQ5TdYfwYuYQvxK6EpgPJDCOREem4Zo3raSSowo1i5fuxbt9oiVHWylPS8O58KG+NAW9X 516uUVlmuanQG4n8cWmOR5YHAiYTrGZFMxTpcYnjmHBEzdayzstPfifTeU/4tegezUZI3j3TdTh nRLStYR2rff9IzRGVYBclxhgj+7EBwljXPCcUANZ4UhQIGHLW01vVeQjy0VpLHAcFpDJSevlOCC /s6ADdzM24iyA49983r4RUI5mcrxx4eFdo4fUjogHCMi4bbPBTPFGilD+Qq6eeihxeg2GN0ZksH gGF71xoFr58n75+Fw0FoItUxZJaIsQBcWESC3NOzBFIV2jpJyUQC3YwTIJtmRZvtzukatUUMyTt EgMQ X-Received: by 2002:a05:600c:34c1:b0:49c:e3c3:5efd with SMTP id 5b1f17b1804b1-49e7a67e4d5mr211141035e9.9.1789492062396; Tue, 15 Sep 2026 10:07:42 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/20] hw/intc/bcm2835_ic: reject out-of-range FIQ source values Date: Tue, 15 Sep 2026 18:07:19 +0100 Message-ID: <20260915170735.425445-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::10; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492174601158500 From: Bin Guo The FIQ_CONTROL register accepts a 7-bit source selector, but only sources 0..71 (64 GPU + 8 ARM IRQs) exist. Values 96..127 cause bcm2835_ic_update() to call extract32(arm_irq_level, start, 1) with start >=3D 32, which trips the assertion in bitops.h and aborts QEMU. Reject writes that select a non-existent source and log a guest error, so that a malicious or buggy guest cannot kill the emulator. Add a qtest that verifies both valid and out-of-range FIQ source selections on raspi3b. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4368 Signed-off-by: Bin Guo Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20260831081709.77725-1-guobin@linux.alibaba.com Signed-off-by: Peter Maydell --- hw/intc/bcm2835_ic.c | 13 +++++-- tests/qtest/bcm2835-ic-test.c | 66 +++++++++++++++++++++++++++++++++++ tests/qtest/meson.build | 2 +- 3 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 tests/qtest/bcm2835-ic-test.c diff --git a/hw/intc/bcm2835_ic.c b/hw/intc/bcm2835_ic.c index 71bf671761b..262a620968f 100644 --- a/hw/intc/bcm2835_ic.c +++ b/hw/intc/bcm2835_ic.c @@ -139,10 +139,19 @@ static void bcm2835_ic_write(void *opaque, hwaddr off= set, uint64_t val, BCM2835ICState *s =3D opaque; =20 switch (offset) { - case FIQ_CONTROL: - s->fiq_select =3D extract32(val, 0, 7); + case FIQ_CONTROL: { + unsigned fiq_select =3D extract32(val, 0, 7); + + if (fiq_select >=3D GPU_IRQS + ARM_IRQS) { + qemu_log_mask(LOG_GUEST_ERROR, + "%s: FIQ select %u out of range\n", + __func__, fiq_select); + return; + } + s->fiq_select =3D fiq_select; s->fiq_enable =3D extract32(val, 7, 1); break; + } case IRQ_ENABLE_1: s->gpu_irq_enable |=3D val; break; diff --git a/tests/qtest/bcm2835-ic-test.c b/tests/qtest/bcm2835-ic-test.c new file mode 100644 index 00000000000..1e171ee0924 --- /dev/null +++ b/tests/qtest/bcm2835-ic-test.c @@ -0,0 +1,66 @@ +/* + * QTest testcase for the BCM2835 Interrupt Controller + * + * Copyright (c) 2026 Bin Guo + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "libqtest-single.h" + +#define IC_BASE 0x3f00b200 +#define FIQ_CONTROL (IC_BASE + 0x0c) + +static void test_fiq_select_out_of_range(void) +{ + uint32_t val; + + /* + * Only FIQ sources 0..71 exist. Source 96 used to trigger an asserti= on + * in bcm2835_ic_update() because extract32(arm_irq_level, 32, 1) was + * called with start >=3D 32. Make sure the write is rejected and QEMU + * keeps running. + */ + writel(FIQ_CONTROL, 0xe0); /* fiq_select =3D 96, fiq_enable =3D 1 */ + val =3D readl(FIQ_CONTROL); + g_assert_cmpint(val, =3D=3D, 0); + + /* The first source past the ARM IRQ range should also be rejected. */ + writel(FIQ_CONTROL, 0xc8); /* fiq_select =3D 72, fiq_enable =3D 1 */ + val =3D readl(FIQ_CONTROL); + g_assert_cmpint(val, =3D=3D, 0); +} + +static void test_fiq_select_valid(void) +{ + uint32_t val; + + /* Select the highest valid ARM IRQ source (64 + 7 =3D 71). */ + writel(FIQ_CONTROL, 0xc7); /* fiq_select =3D 71, fiq_enable =3D 1 */ + val =3D readl(FIQ_CONTROL); + g_assert_cmpint(val, =3D=3D, 0xc7); + + /* Select the highest valid GPU IRQ source. */ + writel(FIQ_CONTROL, 0x3f); /* fiq_select =3D 63, fiq_enable =3D 0 */ + val =3D readl(FIQ_CONTROL); + g_assert_cmpint(val, =3D=3D, 0x3f); +} + +int main(int argc, char **argv) +{ + int ret; + + g_test_init(&argc, &argv, NULL); + + qtest_add_func("/bcm2835/bcm2835-ic/fiq-select-out-of-range", + test_fiq_select_out_of_range); + qtest_add_func("/bcm2835/bcm2835-ic/fiq-select-valid", + test_fiq_select_valid); + + qtest_start("-machine raspi3b"); + ret =3D g_test_run(); + qtest_end(); + + return ret; +} diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build index c3593f75304..33f58b0e95c 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build @@ -277,7 +277,7 @@ qtests_aarch64 =3D \ ['tpm-tis-device-test', 'tpm-tis-device-swtpm-test'] : []) + = \ (config_all_devices.has_key('CONFIG_XLNX_ZYNQMP_ARM') ? ['xlnx-can-test'= , 'fuzz-xlnx-dp-test'] : []) + \ (config_all_devices.has_key('CONFIG_XLNX_VERSAL') ? ['xlnx-canfd-test', = 'xlnx-versal-trng-test'] : []) + \ - (config_all_devices.has_key('CONFIG_RASPI') ? ['bcm2835-dma-test', 'bcm2= 835-i2c-test'] : []) + \ + (config_all_devices.has_key('CONFIG_RASPI') ? ['bcm2835-dma-test', 'bcm2= 835-i2c-test', 'bcm2835-ic-test'] : []) + \ (config_all_accel.has_key('CONFIG_TCG') and = \ config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test',= 'tpm-tis-i2c-swtpm-test'] : []) + \ (config_all_devices.has_key('CONFIG_ASPEED_SOC') ? qtests_aspeed64 : [])= + \ --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492186; cv=none; d=zohomail.com; s=zohoarc; b=K/Upo97Y4kGIQEEzBCeMjkqwVbXtzgkYI6TPf2qOcELhO0PAUEfbucJgDW/bS8IQwBHkdg0vIfQNuhVgWdqxTOTfPPv3lVDm/B4PcQPlV9cEqH3g8hPtsVoL7RYZHBZb0Ji6Ic4U4GXHI6trEhyfizQTs797jkidxnHx2q9o98E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492186; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=RDP3r7WeFvBfusadg3H1XPE6z2aDMAqweiepZ0CeGqM=; b=Xbh3KYtp2Cfuf07C/x31RNJIHn0yzn1m7RPdayOqX0swDiKbTO8w2Yhw0cy7ac/o/TPmSDVKl0LntXEH1i8fVO4t4ksEKQ140h0hsjpgFtPC6oS5tGMEr8IJXsSfTGrcRMDc905TpX9nqnSnc6FZOL4Qc5beXGLKfguCn4cJyrw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492186799822.2380328239981; Tue, 15 Sep 2026 10:09:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdU-0005Sn-0E; Tue, 15 Sep 2026 13:08:00 -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 ) id 1x6WdG-0005Ov-EQ for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:46 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdE-0003Ug-Mv for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:46 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-482f633ecdeso487652f8f.2 for ; Tue, 15 Sep 2026 10:07:44 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492063; x=1790096863; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=RDP3r7WeFvBfusadg3H1XPE6z2aDMAqweiepZ0CeGqM=; b=Ij8bbaDxZ6Qm1WcEl2idR5mzwzgmEXsHEdTkTf53BX3SuZ23wQLI8WeUdCW6h7z3uP VUPemHH2d3TFumWcLZfnVV7cYJ+5bKE2B0UoRhyZnM8AldBWg8BqY/vvyZ4u6i1HgBwp 4NhJy25uijQBFvI9YY1xqhOArFVZ3OHmMi809hu/bk6gtLwlpuTnQJo+Q4cH2WKNYmKF PIWOGAVn/l04BFCFw9Jb4pye3LymWcgEuMHxH/ZmWr5IapAhKdsCxPYVyZEUzFuOsD3H gT6HGiwYphoinQ/ieXD/tRnLdtiXTarqTCObsFHuXHn+X8mRGgR2F6zmCut7dmgWN4pS dllQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492063; x=1790096863; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=RDP3r7WeFvBfusadg3H1XPE6z2aDMAqweiepZ0CeGqM=; b=fPa1HN1rdaMtvH7SWrdtkWiBsx4/T0VvR1DsZNz5IS0bjsVxnpguo8stEkg7s9sJOo QoqbUbX14tC90un7Lcix86LF6Qihtln3PAHnJm+gMAOG8vFL2E/5JOI6tYPKIp+79Mwz jE9Yc3eCateJD8HySktyvSCn6kV1PfjWzm4G7zr9N6yKSQxxUCk+1E1l9s4sY9BqQqRA 9LUlTe/Dz4r1fSuDrsFRv0DcbQgcZ/KR/syXIBIoqHVlvloEt/dATIVTU6mWfW43Uw48 fLvZvKPDDDfbs0xRVH2oNuJW9GKPe1HW5lk2EXDxpRGI7uUohLrzZ/hTvah0vDzXM/OL pV+w== X-Gm-Message-State: AFuF++mbX4T6U5q+sRXGx923r+yqO324gso+D/njx4fLifI5xVGt6JLX iYlwZxyHlFHRDWSHPuZHv+fg7STaKp/SiI/7Ckg9bGANpFgnm4V8hdUAUJP8GF95lIPd1VwB8Fx augpc+Ts= X-Gm-Gg: AYBFou3feAiCBXYcxdchF5ZLiWEUSA2gmRCeoYZzeZZdcF/ozxFoJL7AsldkcDoc3W3 wSQg2ninCi3f19L5ubGh1a/Zlf/BhleOHMH05JEob2zoBeR3KI5E360V20PYSDb9CAWk4wrMQ8a sw+A7kVpvV+XXzUXDiE1esIl3qB1e9DDArRuY8QDiHYvpT/L5YANAE89Z875PQk9vJY/Kw0fj4Y GDrFit6M393mhlGYo7Mbs1FIwZ3tA4/iHrWlIHU1k4mEYxOi4lLiHe1uEAKM38Yi3HL7y6hxLn9 6G1deXrNERVgA2Pz0F1QfjM2P016mDAOS7KEyckwD/aQxUfkKnGkABuwH/AigtFQF/3eOcv0OtP 9FhsudGeFz6CbofZTAxmohwHy4ATKZ60F16t3FaVyNDKDV+CyCiAaEn5G1Q9gI0PK7qTGv/3kPd ra2lXVe59ew713QvMH9TBorP8flf+A53BEVjT3yVB9ED4cNz63YAS/e3lrfgnmadI6LUPwI0MOP nnLvjE2i7whWAIdM5odqXKKIW8f4ojPK9LL0SlQxOyetepPrsVaFpVt8ovw61XWV2OxC3TDAjea 9koX X-Received: by 2002:a5d:5f87:0:b0:486:e949:532c with SMTP id ffacd0b85a97d-4870a9dd24cmr2098228f8f.43.1789492063298; Tue, 15 Sep 2026 10:07:43 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/20] sbsa-gwdt: reduce code indent Date: Tue, 15 Sep 2026 18:07:20 +0100 Message-ID: <20260915170735.425445-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492188750158500 Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Signed-off-by: Igor Mammedov Reviewed-by: Eric Auger Reviewed-by: Peter Maydell Message-id: 20260902122646.2848464-2-imammedo@redhat.com Signed-off-by: Peter Maydell --- hw/watchdog/sbsa_gwdt.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c index 330a74798a2..7cc5609b83f 100644 --- a/hw/watchdog/sbsa_gwdt.c +++ b/hw/watchdog/sbsa_gwdt.c @@ -105,25 +105,27 @@ static void sbsa_gwdt_update_timer(SBSA_GWDTState *s,= WdtRefreshType rtype) =20 timer_del(s->timer); =20 - if (s->wcs & SBSA_GWDT_WCS_EN) { - /* - * Extract the upper 16 bits from woru & 32 bits from worl - * registers to construct the 48 bit offset value - */ - timeout =3D s->woru; - timeout <<=3D 32; - timeout |=3D s->worl; - timeout =3D muldiv64(timeout, NANOSECONDS_PER_SECOND, s->freq); - timeout +=3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); - - if ((rtype =3D=3D EXPLICIT_REFRESH) || ((rtype =3D=3D TIMEOUT_REFR= ESH) && - (!(s->wcs & SBSA_GWDT_WCS_WS0)))) { - /* store the current timeout value into compare registers */ - s->wcvu =3D timeout >> 32; - s->wcvl =3D timeout; - } - timer_mod(s->timer, timeout); + if (!(s->wcs & SBSA_GWDT_WCS_EN)) { + return; } + + /* + * Extract the upper 16 bits from woru & 32 bits from worl + * registers to construct the 48 bit offset value + */ + timeout =3D s->woru; + timeout <<=3D 32; + timeout |=3D s->worl; + timeout =3D muldiv64(timeout, NANOSECONDS_PER_SECOND, s->freq); + timeout +=3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); + + if ((rtype =3D=3D EXPLICIT_REFRESH) || ((rtype =3D=3D TIMEOUT_REFRESH)= && + (!(s->wcs & SBSA_GWDT_WCS_WS0)))) { + /* store the current timeout value into compare registers */ + s->wcvu =3D timeout >> 32; + s->wcvl =3D timeout; + } + timer_mod(s->timer, timeout); } =20 static void sbsa_gwdt_rwrite(void *opaque, hwaddr offset, uint64_t data, --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492093; cv=none; d=zohomail.com; s=zohoarc; b=Ulen+1GIv9PcmHHT7vPwW0PPk88giK1o5x7vuSQZIbWA2VLbSYnNHgvW8rD10Uz/A0bz25LeFilEC0vdiJe2g27+RSHOFd43ODdP/arc8ja9wmzAoq8I/804BezrEpyRZRdL9s94TBiokfbEhDzmc/qnab/lqe3E0sN5JZyFEXc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492093; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=KrYU6RJmNOF/FoaJu3Mw98qt2feP2v6ZmgeL681rOpk=; b=SiUm9qDKKYyYLswYTuuRXl572cd4jZDhKiTgwbLv9FJfBbomwJFtYXtDT3LaTXlbfAPUeYPTImr0ZAzHtLmnE/j8w64AQKpqgLrOtdbv6kNIV6ZlAJipXfQNF/IOJYjRTY9AE5PoUekJAgw7g0v3Q41VnIHCK8ZNw3oFHlx+scE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492093767635.0724167299364; Tue, 15 Sep 2026 10:08:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdP-0005RS-RR; Tue, 15 Sep 2026 13:07:56 -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 ) id 1x6WdI-0005PM-1r for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:48 -0400 Received: from mail-wm2-x11.google.com ([2a00:1450:4864:31::11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdF-0003V1-J0 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:46 -0400 Received: by mail-wm2-x11.google.com with SMTP id 5b1f17b1804b1-49b965f447cso386895e9.3 for ; Tue, 15 Sep 2026 10:07:45 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492064; x=1790096864; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=KrYU6RJmNOF/FoaJu3Mw98qt2feP2v6ZmgeL681rOpk=; b=jTmP1d/3kyJVngNx+HeprRdFsMdUJhcIUhnqQSo+HVgAyeLE64MPgbjKNj5erhBPxZ 87SN4noZ4hLAUvRA/+DBFHi8JmN2o50E5E4BZG9BCuwL+fFIT7cabokdUeGAkefSQtUT Wu0rZNdfnovDRKK75/VHrm2PT9W63qitXJpDz9Ovh338Kf9UEN3BPrnD/SdhO0XuwXMC MKrCzXjqoGauD533+0o9bwMD1hRYpbTeXbckwTOHc7PfzjeIzcY9ne5E/W4j523WVNmZ kFknWggXAS/u83xVQ+FYWVnJMPP35biLzEFGRpWpF3V/a+iBT6juzQ5CLqgnbvrX8HfQ cl/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492064; x=1790096864; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=KrYU6RJmNOF/FoaJu3Mw98qt2feP2v6ZmgeL681rOpk=; b=tHEkSKAyhZ9A5Zfoj6d5hBPJtzM3vdE4gzjL9LVM9H9biGU7JOv8MG8hplYsJIXwD8 Xgt9138P1MTUOaT55lwWbQPHOSBZOKpjHyFZU+NaVTsQ3LlEar8IGYBGhUtgGLn0tGdB qhhAi4nduMAqhNIZo9HhFjQf5NXuIVh736ps+lRW/JXecY/SctuwlX7txbWCVFCHizj0 rABTKLtVREjsH34HD7/wK7LNe1QxGMmJwPKPIv4KQhzbzU8ExHEIYMfnBOMBdfXUzQhk VXagu8MrpYVd1zy6cRor2qjlFllT5Sbpg6WfgZUuKk0wo4g7P7FuKSPtCsBSdbbJjIHt UwcA== X-Gm-Message-State: AFuF++lu9AiEkSa73uPZC240P5MXa+PRJYi/HVHBsMQTHKFS8wjQMVlf TfvuyzqwZzo5CHDGdS4aXhiKh1EJF23z3CIBLwuA8JPzBq2kjpJdUbEAb+tFJN+uWydiIoDEAT5 8xKmkBSg= X-Gm-Gg: AYBFou0oMS+Q5grKsKxnAcYifm4d/vHHZ3qZfEWX8+Ipty08/0YINTT1eLjhFfCw0/Y k2iZ49MUkQg9bTf9zyGfRXfYWqn2HB3I2ie8fnABFAucdVWzSCFlG2EVcQPn8op9050jwVwVw1U g+adRJRj+PU6WOjckcGfHp2qkVHJ08YQ8kRKyCVt1NGjgb5AOS0AA8gAfCknX7LqObCq+9i5Vse N+xHPNn2qRFEASg9rro+AZ/ySt53WTBgR+7ousWT3Wz59SXqdKoIgDE4zM2SBIk4xLWPiLdp3iN 2iIDR8OSHft9yMq1hFoXAAxrTOuz8yD2elAlsa1aFqiry1xKsFueu03bKkqZc4pBop2/iG7tRwg yYQ9uOnpPhXGDXa+LTMPSIs9tpRraZ9lqsPX42r2/8R1abmScUQkS5x+v7nNN5mOjKMvXz46th1 4k++JYFKJVlNEDfRqtqL6X/H5DnNtc0BqoaSh/GR+zxm6OJMTc3/tS0OWpM3/uwNG0aV3fiTbVY y69EVZcc/1QFk5Z58Fdm0ZVyNbYbScimgKlZcuMwAXxYJZMNsM5WGvjDYRjS5nPqm7iRLlmlZsh l66X X-Received: by 2002:a05:600c:4e47:b0:49c:fa20:cc02 with SMTP id 5b1f17b1804b1-49e7a677cdbmr79686635e9.25.1789492064165; Tue, 15 Sep 2026 10:07:44 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/20] arm: gwdt: consolidate clear WS0 and WS1 on explicit refresh Date: Tue, 15 Sep 2026 18:07:21 +0100 Message-ID: <20260915170735.425445-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::11; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x11.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492096244158500 Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Current impl had logic scattered all over the place and WCS was implicitly cleared on WCS write. Consolidate clear action in one place under EXPLICIT_REFRESH condition. Signed-off-by: Igor Mammedov Reviewed-by: Peter Maydell Message-id: 20260902122646.2848464-3-imammedo@redhat.com Signed-off-by: Peter Maydell --- hw/watchdog/sbsa_gwdt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c index 7cc5609b83f..2aa44573a7b 100644 --- a/hw/watchdog/sbsa_gwdt.c +++ b/hw/watchdog/sbsa_gwdt.c @@ -105,6 +105,10 @@ static void sbsa_gwdt_update_timer(SBSA_GWDTState *s, = WdtRefreshType rtype) =20 timer_del(s->timer); =20 + if (rtype =3D=3D EXPLICIT_REFRESH) { + s->wcs &=3D ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1); + } + if (!(s->wcs & SBSA_GWDT_WCS_EN)) { return; } @@ -134,8 +138,6 @@ static void sbsa_gwdt_rwrite(void *opaque, hwaddr offse= t, uint64_t data, =20 trace_sbsa_gwdt_refresh_write(offset, data); if (offset =3D=3D SBSA_GWDT_WRR) { - s->wcs &=3D ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1); - sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH); } else { qemu_log_mask(LOG_GUEST_ERROR, "bad address in refresh frame write= :" @@ -157,14 +159,12 @@ static void sbsa_gwdt_write(void *opaque, hwaddr offs= et, uint64_t data, =20 case SBSA_GWDT_WOR: s->worl =3D data; - s->wcs &=3D ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1); qemu_set_irq(s->irq, 0); sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH); break; =20 case SBSA_GWDT_WORU: s->woru =3D data & SBSA_GWDT_WOR_MASK; - s->wcs &=3D ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1); qemu_set_irq(s->irq, 0); sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH); break; --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492201; cv=none; d=zohomail.com; s=zohoarc; b=Wpqw9Bc4jAQZYEwKnDy/Vaxnl/4hB4S1dE4g/8KFK8/jRACImEKkwkKXEpOGEk1/jv5Aou0BFV69UvUW29Gg9O/8K3e53AxlCOVSYQN/OUQuzSHewMfopK5I+JhPfaIdN6QRvGE/fFQx92rbxYmWPcGBAVLwPEVqyGeWhqCcpts= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492201; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=+4YabQhOK9Ug1BZZyKHVnj9Vt0AW1leKOIGy5JnGFD4=; b=jSruP58lHKY3+kU4D2VioDVy9Kohb7le1Zy0gq/8reWq+vR+BE/PXI03IH7YldOMFZo+n+q5oNhSKzOmDNKmAIzZ6jvgp6co4n8Ferzdv14txILy9GO8+2/l45lOT5GYAbB/p5KU1ifHw7a2neU8xJbDdDvqkZh7Z+BJFVj7AX0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492201054772.9973405332779; Tue, 15 Sep 2026 10:10:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdN-0005Qz-Tl; Tue, 15 Sep 2026 13:07:54 -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 ) id 1x6WdJ-0005Pi-Dt for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:49 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdH-0003VZ-QL for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:49 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-4843f22dcb8so402286f8f.0 for ; Tue, 15 Sep 2026 10:07:46 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492065; x=1790096865; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=+4YabQhOK9Ug1BZZyKHVnj9Vt0AW1leKOIGy5JnGFD4=; b=TRye5ymDJeCbkOVyriiUuqPA0FnE95ypTAh9rk/dhphzykZMw/p3t5pQiTyqTuQZs6 S6zmk8sfvR4AYC31TtLrYEiSt+cPdU9HX6YvVujKnCz+QvHB3o55NkzVSfvVcsptsdHJ HXkeO1D+0T6rwDbHQAr6lz64hnIXuStNfwJaOlOYgbmT4+/Z6KsMv0r+HZJQLHHEPEOC apSJ8OxLk884OkSSeBymnbkCOjid+taQUYqRuQhZL7ZMufdH7BEqanrHiF8/X8wCjJq0 lLpE3yQ99DK5m9sRCpNJzc6ALsmxG4eufGfV2YqSSfVCh8TvTC7mjJ38kqcU0wHDeIdy aKzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492065; x=1790096865; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=+4YabQhOK9Ug1BZZyKHVnj9Vt0AW1leKOIGy5JnGFD4=; b=mqeIi7qgX7yaJf7p4iuAL8AMBW2zaVoXa0G1ASJNvXJlfXhzlNAI8yvg+REp1f9q4p EDMbbCUE+sCIwhq8M3JAB+UoVogLY5cLOEpTvHPL3+v4d8eRFPQxvreUwz9IqXjiKmIP bDcHBIUDEyR7J810V+tUqA7i8K2uh2ZPY4aMS9ip4sQbKag7XZRhFl9Esp3ffxL1uHGO 29+eDDUaEhEh10rfoUKuZa942q77f9h7jT/J9pjkquvnSaO3BF8HtXujyIr5/tOUPo0e FuvJJJy/uex3NyjTqwKa2xoqM1EgoUeA7Od9m9lfCjKsdjzyM9SbNIGY1yPfkPqQg0Iw 4XpA== X-Gm-Message-State: AFuF++nmLrGkttTX2AAnl5XSDcNevg4JuBipmO/tLmpXi2+r2+LVOkPg LDvkQgV362E/VFQS7GtiPkP7nrDngVG3mgIDJVjssqx5bQK+SBsc4Cj8O6zQuvBmXJXNOZ69xtM Gx5b65sg= X-Gm-Gg: AYBFou0rRslSG0RCpWLq61dPes3pPhhJyubXWPF/zqIJOmjRA08+Ju5aVIePHqkEQ+4 1RsMCMA36tEnOkDoAB0GfaVk1aeAYnkFG2b8l2GtAC70/kU0JONM/z48+fDu2dv0zt87ucAt4bp H1NNufVC2MGdwK7d4cPdvTkgMOGoVSs/P4ojbDPZxKavGhZLgexxeCT8Hm0Ypw9z0NbTezH47H6 LOFZdQVE18t+4Aq88xqG6KHRO8oJJSLgJIFjE6YlTskVXuDcEq6zwnnHX8bl8fpakTpGvU3EfkG 5op2FsJlGITtaClkq857Kg3jMEJVdvqVvCvAI55USpxt2X3uBq9TZEXuEnBJ8aHs3Y3cFTjG9CI b9rKoazOBGo0VCzsz+yoiG+AI0WTGw0EwUwXplOU3/ZhS5npE5RQQWNp4MSQS1A9X7CwIWE5J2v KhP4oxib0ruFYM24y8G3xHopZHFTfMbm7/zlnQFfeXN6N478/X2tyrtct0oyNqqSc706cKcwukP hQP/gNDotxT6LiPkna1D7st53BTk7pPKsPEKhvo1eYHaYjgBgxDrAp+d3Ku1d5Vt+Twl2/tkhlx eFVr X-Received: by 2002:a05:6000:4b19:b0:487:731:c87 with SMTP id ffacd0b85a97d-4870a97bfedmr2173635f8f.7.1789492065609; Tue, 15 Sep 2026 10:07:45 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/20] arm: gwdt: simplify WCV update condition Date: Tue, 15 Sep 2026 18:07:22 +0100 Message-ID: <20260915170735.425445-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492202871158500 Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Current code implements SBSA 5.0, revision 1 of the generic watchdog. Which requires WCV retain time when WS1 was triggered. towards that effect sbsa_gwdt_update_timer(), used condition (rtype =3D=3D TIMEOUT_REFRESH) && !(s->wcs & SBSA_GWDT_WCS_WS0) to make sure that WCV won't be updated on WS1. However that is dead code as sbsa_gwdt_timer_sysinterrupt() when signalling WS1, never calls sbsa_gwdt_update_timer(). Delete dead condition and add assert to make sure that sbsa_gwdt_update_timer() is never called unnoticed on WS1 path. Above change leaves us with always true remaining if condition: (rtype =3D=3D EXPLICIT_REFRESH) || (rtype =3D=3D TIMEOUT_REFRESH) drop it and update WCV unconditionaly. Signed-off-by: Igor Mammedov Message-id: 20260902122646.2848464-4-imammedo@redhat.com Reviewed-by: Peter Maydell [PMM: expanded comment] Signed-off-by: Peter Maydell --- hw/watchdog/sbsa_gwdt.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c index 2aa44573a7b..0ed29faf13b 100644 --- a/hw/watchdog/sbsa_gwdt.c +++ b/hw/watchdog/sbsa_gwdt.c @@ -123,12 +123,18 @@ static void sbsa_gwdt_update_timer(SBSA_GWDTState *s,= WdtRefreshType rtype) timeout =3D muldiv64(timeout, NANOSECONDS_PER_SECOND, s->freq); timeout +=3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); =20 - if ((rtype =3D=3D EXPLICIT_REFRESH) || ((rtype =3D=3D TIMEOUT_REFRESH)= && - (!(s->wcs & SBSA_GWDT_WCS_WS0)))) { - /* store the current timeout value into compare registers */ - s->wcvu =3D timeout >> 32; - s->wcvl =3D timeout; - } + /* + * We only call this function for an explicit refresh (which + * clears WS0 and WS1) or after the first timeout setting WS0; + * so we can always load the compare registers with the new + * timeout value (which is not permitted when the second timeout + * that sets WS1 happens). + */ + g_assert(!(s->wcs & SBSA_GWDT_WCS_WS1)); + + s->wcvu =3D timeout >> 32; + s->wcvl =3D timeout; + timer_mod(s->timer, timeout); } =20 --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492147; cv=none; d=zohomail.com; s=zohoarc; b=Yx6VeiP8EMCdVkDWEAxJhXfKZli40ZdvxKljLbp5mbLJMZgjCfOgKJlVRNrCbBQSaGXxVlrZkB0+GDJMnBueMGEJ/25rVQxd3UZwceXKAclDNGHZkaSyOWK4+9FZuZLsh/RTI4RvuB4Ccl7G7CNmPVPtwguQQYWVuM9KIboteM0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492147; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=MOtSxZrrjdbEdacF7VzlJXUvyavPDBMBn3SGwvN7DBE=; b=nAHectyh751PE77TN5un4P9sg3jKWZYclLYpSVQzoBOLflcWAAOShUhTqu9CQJvm4zeoVmEWsBMeLAeOomRPrAUgWsu4uWO/+Tcbyi2+eUpSSQLKWTlIBHGecyZPTbaY6Omkl14tTWVGiQDb++uUY6Ksx2PbYJd0z/DWfE1THqU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17894921472961000.5805723198099; Tue, 15 Sep 2026 10:09:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdP-0005RQ-Ri; Tue, 15 Sep 2026 13:07:57 -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 ) id 1x6WdJ-0005Pl-Pg for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:50 -0400 Received: from mail-wm2-x10.google.com ([2a00:1450:4864:31::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdI-0003Vp-7V for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:49 -0400 Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49b912d3920so363355e9.1 for ; Tue, 15 Sep 2026 10:07:47 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492067; x=1790096867; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=MOtSxZrrjdbEdacF7VzlJXUvyavPDBMBn3SGwvN7DBE=; b=EAoPQerp/sbYcLKgJVg27/lM8dAph0fJFBGM6fpNiAcWTew+LNDrjHEJ0+x/jAFOSF gKL8pukXQx2U/cABp45ItKtEFNJQ8sjAx9/kHf8rQIyz+FOinxBesXpgUcwB6pU3j2Oj 6ISIjTMW2ijkdhgR/sOtekOZKWi9OoUxI5MCiuk5DI7v3PFykczF8HoYPmn2JC6tejP5 yPjNMTI/JNeUHk4tdPrJfTfr4/HlpVSyFBwQMw7kCbMBzUZQ1lOiFlnChI8wN+7vsLKD FrBg8ynLj6rlvmYrcfvPWD2ZbYMeA7hxHnFJlPkvf0ry5o3/NVAW5UnGPZq9rYS/fzaf R0tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492067; x=1790096867; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=MOtSxZrrjdbEdacF7VzlJXUvyavPDBMBn3SGwvN7DBE=; b=nXGa2Jd2XsntDKfxSdRv++7FJBXWHPAt56BOmIyW9j2IvMkDf5izodjWpv0oMnpTK+ 9pcMLWCQ0zu7ruSXbzMbGo6VEiTPUtfHB+q32Kl1O4aqNU03MssXgZ6+GW3w3mzamMbs ca3bwJSdimFz3S6QtYOTHVPoVPKBfbeQ2w6ZC4W4lPT2NO2o+UJLtTR481Pp04DgzkbI gGTYWjbyq9r6HZO92OHtS4Zonf9BAox3BQneZuSxN2ZGg+BwsahLmxiATJMpLV3ar6vv rtVhDG7iDjhN+kTdZlZeadlklucX9HCcpTHMdHhv9MJlc9ZF6pAOhlcJ4ZwXeENDjJfP Au8g== X-Gm-Message-State: AFuF++nMupYytkrpVW1wnJF9UUGyypmLwDJcw9/InqNoBNDmtt/MLH/Q fRBiBQuVQM9hyjYrvaWk7ybyDJMhK5Qtu3Pkgyubh4F2JUAYP1uU2gWKRJh9IqS0XwLOlMHr7LC Z8+AjYdA= X-Gm-Gg: AYBFou0ACJX2KTjdcVsCZAEmS2FgWElWG4at4E229PAr0xCozwBrDmM2NN2x/n4u3ru q2t8nQYteP8Cpkl3yoxpMvkX8tsEdkTEIQHFURJwQTBRS70mWkFfdmIm6pRRBmrRagv/+eYj+wH abo4rcQr0y6rNIzwYddJTav6EnQE96qKMJ0ZSCUfgvNr5ZnkDP9BbN8Rp6nWj9nS/g4C95FqROQ uEeYOQKbi7PMt+RKUfKHbTCAv27skFiZrDcMgDWP5UlW3CsTkJXuDwp0eAR2SitdYrk4JRVA36/ cLuTA6GclCZvbGYPbAIRqR66k/YNWkx/e4aktm4kLnK9p2UWslJ2z6LTwXjYkCqisXU6XQ3k/Ec ZMMV7mZyxJheGxjbqV0KzwZjXy5t4FDBmhZ5d3BHAQocDUIGEzKw5JPd5rwcHj/ci1st/gakt8N X9+b1x8mL7iMnoL+gdfxNAf+U0aR1OM0R9h3aXUq9qUrOxhqWdrridNs+FFjY/a8JjHnjarqt0D gIi8ajmcJRWpkCO67qmLYb2HqFRB4wb1uAkxrxP9f43upW+srQVMT/e/gfzIHSYzX/pxgcU2rVm gYxC X-Received: by 2002:a05:600c:35c3:b0:49c:dada:f57f with SMTP id 5b1f17b1804b1-49e821ffe2bmr32717405e9.7.1789492066650; Tue, 15 Sep 2026 10:07:46 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/20] sbsa-gwdt: rename sbsa_gwdt_update_timer() to sbsa_gwdt_wor_update_timer() Date: Tue, 15 Sep 2026 18:07:23 +0100 Message-ID: <20260915170735.425445-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::10; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492148837158500 Content-Type: text/plain; charset="utf-8" From: Igor Mammedov The timer update helper computes the timeout from the WOR (watchdog offset register). Rename it to sbsa_gwdt_wor_update_timer() to make room for a separate WCV-based update helper added by a following patch. No functional change. Signed-off-by: Igor Mammedov Message-id: 20260902122646.2848464-5-imammedo@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/watchdog/sbsa_gwdt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c index 0ed29faf13b..5b4f241fcb3 100644 --- a/hw/watchdog/sbsa_gwdt.c +++ b/hw/watchdog/sbsa_gwdt.c @@ -99,7 +99,7 @@ static uint64_t sbsa_gwdt_read(void *opaque, hwaddr addr,= unsigned int size) return ret; } =20 -static void sbsa_gwdt_update_timer(SBSA_GWDTState *s, WdtRefreshType rtype) +static void sbsa_gwdt_wor_update_timer(SBSA_GWDTState *s, WdtRefreshType r= type) { uint64_t timeout =3D 0; =20 @@ -144,7 +144,7 @@ static void sbsa_gwdt_rwrite(void *opaque, hwaddr offse= t, uint64_t data, =20 trace_sbsa_gwdt_refresh_write(offset, data); if (offset =3D=3D SBSA_GWDT_WRR) { - sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH); + sbsa_gwdt_wor_update_timer(s, EXPLICIT_REFRESH); } else { qemu_log_mask(LOG_GUEST_ERROR, "bad address in refresh frame write= :" " 0x%x\n", (int)offset); @@ -160,19 +160,19 @@ static void sbsa_gwdt_write(void *opaque, hwaddr offs= et, uint64_t data, case SBSA_GWDT_WCS: s->wcs =3D data & SBSA_GWDT_WCS_EN; qemu_set_irq(s->irq, 0); - sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH); + sbsa_gwdt_wor_update_timer(s, EXPLICIT_REFRESH); break; =20 case SBSA_GWDT_WOR: s->worl =3D data; qemu_set_irq(s->irq, 0); - sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH); + sbsa_gwdt_wor_update_timer(s, EXPLICIT_REFRESH); break; =20 case SBSA_GWDT_WORU: s->woru =3D data & SBSA_GWDT_WOR_MASK; qemu_set_irq(s->irq, 0); - sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH); + sbsa_gwdt_wor_update_timer(s, EXPLICIT_REFRESH); break; =20 case SBSA_GWDT_WCV: @@ -211,7 +211,7 @@ static void sbsa_gwdt_timer_sysinterrupt(void *opaque) if (!(s->wcs & SBSA_GWDT_WCS_WS0)) { s->wcs |=3D SBSA_GWDT_WCS_WS0; trace_sbsa_gwdt_ws0_asserted(); - sbsa_gwdt_update_timer(s, TIMEOUT_REFRESH); + sbsa_gwdt_wor_update_timer(s, TIMEOUT_REFRESH); qemu_set_irq(s->irq, 1); } else { s->wcs |=3D SBSA_GWDT_WCS_WS1; --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492162; cv=none; d=zohomail.com; s=zohoarc; b=AMPgaTU3Wvs5hytvCeIRqtvLvW/5M4RIBGg2bbzu0123IsAQ2r2EMnGxK65NGbrBxPCICbuThEZvOYQDPDsKxcbUNO/4dxzeDjB+a4277ZOo7AjvB4LjTIRYEJS9fDA3bvZirrSaLyYF4+wdzoUoyGLlnxoE1NdvpU8DyvXwCA8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492162; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ePTbrn2QKUyDHGcC3OCZ2qXD2RHWJ0SPyZ9KMWVdQl8=; b=LfKHlhMl/58TTrQ7yUYFQcqH7fAR/rPEvhDLbcnl2pA24gbEvT0a8WQcBdarWRVP4E3xvtKTj3BXb+hmF0MDgXwb+LO5epTKYhznYc5wFPpxfSINbi0EpnJNvo8hHnTP0Ycj8taULaCTZgkvmISKVOtAFIeXrg/H0qYB8l51Lww= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492162668118.30546488957509; Tue, 15 Sep 2026 10:09:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdT-0005SW-VZ; Tue, 15 Sep 2026 13:08:00 -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 ) id 1x6WdL-0005QS-5S for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:52 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdJ-0003WC-BQ for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:50 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-4843e397f74so687735f8f.1 for ; Tue, 15 Sep 2026 10:07:48 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492068; x=1790096868; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=ePTbrn2QKUyDHGcC3OCZ2qXD2RHWJ0SPyZ9KMWVdQl8=; b=znFetpSd8YJuHfranjpR46kDIgIMWbHBqs60WBLID8rPSgShghpbsuBw97wKVKAUm0 HwbXcHIuzOhQshdYB8i6PtUagjFt14diVU+2vQqvLA0XxXOwKYAV7Fx2wLw/f6J7mL15 AZmlxOdzNN2B9fo7xTGSx4s1ND538/S1U2SR/cdmtLK0lyYBZ6ETr+qbf7Xx1uGNxWxt 7ZuTyeXaQ5yKFW1Z73Y9SXkxMo/elqbaY4eiphuDX+ai10/+bDM3/T0aY0yQJrZIXya0 VfPBFdQgIX4qlfJERuZ9p6XYjnlp9E5tNIXdHso1ewE9SVczVZdBH8d2thDEttSgmMry UVdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492068; x=1790096868; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=ePTbrn2QKUyDHGcC3OCZ2qXD2RHWJ0SPyZ9KMWVdQl8=; b=TrZ3/vzzHFTe0o5nHrpfWuGxB0Fso9gHQXuqAV904My4ePXj+rkZUshFSu/7AJCPPe L9LN772ClOgEfg4jmjNRIJ3stNJ5YrHeHjRBfvpHBSrMhrPpfY2yZSzvZyvkNUW/Yw6a M5Wws43B5avDC3FQhYiHCqvekDEhB8lvR8HRqZxOGz9bniMxDa3YRAzuNF2dPlFyha/P PFDLE+0Z3sQ23/OD7qChYk05BypwndXQwV75Ddo5TmoBztlZ8HHaV6Bt4G0gFT9pRjF0 Z4/OSkr7cW2+RkjIW/z2MSRSyuL7u7t+lCzxRKc6yjsMo3qpwIq28l0e/Owggiy1dWyU q9/w== X-Gm-Message-State: AFuF++nLK1m6DIDas27JUSrgFkRA6jwuc+EEE6xT/dikwtIZgBfNOgmS V/ipodMyhCn282USwBb/YYIo6cUBZRF1qj6/WYICF1LdReButXDgEi4XvYMDb5cY+xBaOlz2iRt QtRoE5is= X-Gm-Gg: AYBFou1VTuawe3yWHKylI61t2hAWmpihhpbeYkPnjkSiRIJBhpzm66gXmVAde91+Dt5 1YXsAewJThwj4h1/FDUs0ySeyXVvMQqOJ4koxb49HhueqoEwMJGIo7JJpVIxcLczAuZY9ozt8rc wnW9WSjByWrjSqkicNj8awAT5rfK0lhKwTjpCqG5PuVhe1wvR315hsKJjl3T1sENdnmt3T1lbDB 9Li/na4Bifm+BnL+B9F3Ufs7l8nUjnQZiJzaA3qfncZiuWnqggAhlGmjQUlQUeoq8oIb5vCVPju RFbXVm2TNyax9aYBPnkr0zUXnv/N33AX0oPaRh0uEqeuRwgus86ZgordDnPZan7kljiHn7OdSFl JoU4mMjnEvxKdGHOVIvoniVBowGSLsTCHspHLZCT12tkRI8jS5nTcZVEzJp6ZW9SpniEtes4duJ yh1MBvkShWqF6t8ZvyWZdnygtdtVBPXMybq3DrCuCySEN/NNnLZv+nHlDpJF1uh7ON3Hk7cLRrC pNgjTe9aUFe4NzAVIAqRZdk3sRm5tn1xc/5mTEDWsoZYM77pC+nLw2ihrjVtGSp6xONQlcG2+OR LLRq X-Received: by 2002:a05:6000:4718:b0:485:9309:6ec1 with SMTP id ffacd0b85a97d-48705b665c1mr7484552f8f.13.1789492067863; Tue, 15 Sep 2026 10:07:47 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/20] sbsa-gwdt: don't arm timer for compare values above INT64_MAX Date: Tue, 15 Sep 2026 18:07:24 +0100 Message-ID: <20260915170735.425445-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492164720158500 Content-Type: text/plain; charset="utf-8" From: Igor Mammedov QEMU timer subsystem uses int64_t, so a WCV value with bit 63 set would overflow and cause the timer to fire immediately. The SBSA spec defines WCV as an unsigned 64-bit compare value, so such values are valid per spec and represent far-future deadlines (however unpractical). The current code is not affected: WCV writes don't reschedule the timer yet, so a guest-supplied compare value never reaches the timer API. The follow-up patch ("sbsa-gwdt: reschedule timer on direct WCV load") changes that, at which point an out-of-range WCV would overflow the timer. For example, Windows in GTDT mode writes WCV in two 32-bit halves while the watchdog is running: sbsa-gwdt_control_write [0x8] <- 0xffffffff # WOR (~4 sec) sbsa-gwdt_control_write [0x0] <- 0x1 # WCS enable sbsa-gwdt_control_write [0x14] <- 0xffffffff # WCVU (intermediate) sbsa-gwdt_control_write [0x10] <- 0xa906ca28 # WCVL sbsa-gwdt_control_write [0x14] <- 0xecb1 # WCVU (final) The intermediate WCVU write (0xffffffff) yields a WCV above INT64_MAX; once WCV writes arm the timer, this overflows QEMU's signed timer and fires immediately -- triggering WS0 =3D> WS1 =3D> reboot before the final WCVU write lands. Add the guard first, before the WCV rescheduling patch, so the tree stays bisectable. Instead of arming the timer with an unsupported deadline, leave it disarmed. This reuses hw/timer/sse-timer.c:sse_set_timer() (commit 0b8ceee822 "hw/timer/sse-timer: Model the SSE Subsystem System Timer"). Introduce a sbsa_gwdt_set_timer() helper for this and route the WOR-based timeout through it. Signed-off-by: Igor Mammedov Message-id: 20260902122646.2848464-6-imammedo@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/watchdog/sbsa_gwdt.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c index 5b4f241fcb3..c5e88bf3d36 100644 --- a/hw/watchdog/sbsa_gwdt.c +++ b/hw/watchdog/sbsa_gwdt.c @@ -99,6 +99,22 @@ static uint64_t sbsa_gwdt_read(void *opaque, hwaddr addr= , unsigned int size) return ret; } =20 +static void sbsa_gwdt_set_timer(SBSA_GWDTState *s, uint64_t deadline) +{ + /* + * WCV is an unsigned 64-bit compare value, but QEMUTimer stores the + * expiry as a signed int64_t. A deadline with bit 63 set would be seen + * as already expired and fire the watchdog immediately. Such a deadli= ne + * is unreachable within any guest runtime, so treat it as "never" and + * leave the timer disarmed instead. + */ + if (deadline <=3D INT64_MAX) { + timer_mod(s->timer, deadline); + } else { + timer_del(s->timer); + } +} + static void sbsa_gwdt_wor_update_timer(SBSA_GWDTState *s, WdtRefreshType r= type) { uint64_t timeout =3D 0; @@ -135,7 +151,7 @@ static void sbsa_gwdt_wor_update_timer(SBSA_GWDTState *= s, WdtRefreshType rtype) s->wcvu =3D timeout >> 32; s->wcvl =3D timeout; =20 - timer_mod(s->timer, timeout); + sbsa_gwdt_set_timer(s, timeout); } =20 static void sbsa_gwdt_rwrite(void *opaque, hwaddr offset, uint64_t data, --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492207; cv=none; d=zohomail.com; s=zohoarc; b=UhNBea/U0d2cIRsvoUZVX2ZeeALUPvr837qsP3madVdMMs/45xhbpMBVd2Znu7LgaNlI4+Y2dKHK0mLzYpjQ2mFxOX5lk0Ny8fNoJ08M7p1h9X/xbnazjQbTHhxM4SkUXL9ubUz1TbmGwhYF3UgG5RefWya93+1fiPUxwAV8dr4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492207; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=7bOBpnHgEIaL3h57/lrLuv8LkYqt2Daj/aaWZvKfaLg=; b=ZBLfBE8rFGzoO9NMUuR8bX+VgIf9gJyUKLZb/xKoD2oay1lAR7lUVrqyPC+BJ9er7eNL9PesXXjY6ltZtFYBHWaTixl5lXbHQmVGo8UZ/2wulETbvCzV9gKLaQfuw2ksoUk+hVdnlozgnRefsjJHyr3P72GjkpUunNIG+z8N0kw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178949220792211.529026845927547; Tue, 15 Sep 2026 10:10:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdU-0005Tj-JT; Tue, 15 Sep 2026 13:08:00 -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 ) id 1x6WdM-0005Qb-0b for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:53 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdK-0003WP-B4 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:51 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-482f633ece3so425663f8f.3 for ; Tue, 15 Sep 2026 10:07:49 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492069; x=1790096869; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7bOBpnHgEIaL3h57/lrLuv8LkYqt2Daj/aaWZvKfaLg=; b=y6LXioGN8MUfR8kOaDGoFGH7mG1ig5aUmOVkOKc9XtvxpFoH8VRH+o0xxiBYsNt1In 5wh4YUnJN7HK2aO2fIStryVOOwXnH9eUGA2fdNxhnezYe9/Wg+kmRYOUqgO7ixdZ1YZg hwfQK2yi8WE8PKcstakuv7/fxmEfx7LQODDAWPPDGSWpsVDKc4aCIt1OyuvPIYC6SrOb roShzzScI3kjnXrmuLUzjJ1ZUx7oeKjZBQjNOejY6sVNjfCiXlBXHs40paD/vQwg6EGU VGTe4qhScAWtounuh90Bt64qZTLzAkZmNOZ5nkvker3t8D2vsZVcH8uweBi4l+oQV5Zh /eow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492069; x=1790096869; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7bOBpnHgEIaL3h57/lrLuv8LkYqt2Daj/aaWZvKfaLg=; b=nga6bRjZDdBoJye5DmHnXQGLKjvSGR3nBkF0Ono+2rEFxvQoPapZtxqa3Ya+52X2pw fkGzZ2esXm75WCFdwR+rwI22omVQXV+KwDFZLMeJ+pgTcJCcLTDPxlX4j7jhxKhTHObv 52LJ7n54zvfcpD9oMpc7RFbw/nR3AKPVlCWHUMHUsr6OxTzhvk2960LDJVIagixA3ljC Sd7klo1hTeTPUtAtfKV8c6tcSBimEifKsov6M7qrxSGfTs/5fOEBY4vwI0cpjp/5KA4w 0dqH5tJ1vFwPVZXW0g61aU0ktb7A0blQgMIitm7bzt8WTlkcoXgbGkbLD93NGUXCaJW1 9M3g== X-Gm-Message-State: AFuF++n/0il3pZhFWze9TdXK7UZdciK2AFCALFq91MioMJOpuCeW/MtG fn4EiazTJ1ISyYeaZDK7rtiPbdbCSta/dCqE4SLJib6crc/FbdAW/OUZgBLBS6jFoH9QLWkH7Qh 7Hjd38aw= X-Gm-Gg: AYBFou2peF2iUVVxyDaZeL99AIFlJsGXUs8HKcwxGGW2OeXE+6g99cLeBbkp2brZRlt W7YCDDpx37d+rWb9+o0jrhHHVvlPTwYgaUwpns5+hOqkr2XjlDFotNG+erL6LT+diqcdEzOGgvK LyhGLsIKQnG0S1SvpCMlS5BN3WUikDzSosrHf6k7EAxFWtql0Ie2I7KdsDe/R9OMPJ+H7ZdPWG4 CDxJZpCeQtq91jRA74Gyw6EtXlLixKFJZseSnzSpXARha35nwukeHM073O5nE9domrk3r+wt3wz ps/UIMlkHXBwV8EPqK+rTSHxJIuohcABjAzQ/+ZQjmcfxryVzoSgvHGyW2V9Jq1RGY1hBXJsBJt PJ7yWvtJObXkWnhj7eTFyRRvxysvc/vCa4ODXQe4LPMAyyDjQAE4IBoq9nXuZMplt/E/3LGthWO hhdTBLVwBNqeGcNEis2X2SHEwNxxzzCUk5H1F5XeOQBIFwJnTuGWW2xx0Av5MvucUodO2Lyah1I ELznT65ixp/+IPKRjR2WHy9YPzHsAHigul2yzANlSF3LzdkJhb5rl3OFObeNYOaZNuJxdfBgeYW 55qn X-Received: by 2002:a5d:5d10:0:b0:487:456:659b with SMTP id ffacd0b85a97d-4870a9c8b72mr2100198f8f.30.1789492068921; Tue, 15 Sep 2026 10:07:48 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/20] sbsa-gwdt: reschedule timer on direct WCV load Date: Tue, 15 Sep 2026 18:07:25 +0100 Message-ID: <20260915170735.425445-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492209162158500 From: Igor Mammedov According to spec[1]: "The compare value can either be loaded directly or indirectly on an explicit refresh or timeout refresh" QEMU accepts writes to WCV but doesn't reschedule the timer, which it should per the spec pseudo code: "TimeoutRefresh =3D ( SystemCounter [63:0] > CompareValue [63:0])" Fix it by updating the timer on WCV write. partialy[2] fixes Windows in GTDT mode, which never issues a WRR refresh. Instead, it programs WOR to ~4 sec, enables WCS, and immediately writes a large absolute value into WCV to push the timeout far into the future. Without this, QEMU ignores the WCV write, the short WOR expires, and the guest reboots unexpectedly. 1) Arm=C2=AE Server Base System Architecture 6.0 Platform Design Document DEN0029D 6.0 "A.2 Watchdog Operation" 2) under KVM system counter (CNTPCT) as read by guest apprears to produce host's value, so watchdog timeout effectively gets extended on host uptime offset. But that's a separate issue to be fixed. Signed-off-by: Igor Mammedov Message-id: 20260902122646.2848464-7-imammedo@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/watchdog/sbsa_gwdt.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c index c5e88bf3d36..1834dc8db83 100644 --- a/hw/watchdog/sbsa_gwdt.c +++ b/hw/watchdog/sbsa_gwdt.c @@ -154,6 +154,13 @@ static void sbsa_gwdt_wor_update_timer(SBSA_GWDTState = *s, WdtRefreshType rtype) sbsa_gwdt_set_timer(s, timeout); } =20 +static void sbsa_gwdt_wcv_update_timer(SBSA_GWDTState *s) +{ + if (s->wcs & SBSA_GWDT_WCS_EN) { + sbsa_gwdt_set_timer(s, (uint64_t)s->wcvu << 32 | s->wcvl); + } +} + static void sbsa_gwdt_rwrite(void *opaque, hwaddr offset, uint64_t data, unsigned size) { SBSA_GWDTState *s =3D SBSA_GWDT(opaque); @@ -193,10 +200,12 @@ static void sbsa_gwdt_write(void *opaque, hwaddr offs= et, uint64_t data, =20 case SBSA_GWDT_WCV: s->wcvl =3D data; + sbsa_gwdt_wcv_update_timer(s); break; =20 case SBSA_GWDT_WCVU: s->wcvu =3D data; + sbsa_gwdt_wcv_update_timer(s); break; =20 default: --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492145; cv=none; d=zohomail.com; s=zohoarc; b=Xnlq/x46p6eqWfnSlJp8/1Mffx3nC68/aBJSqQ3YZjwCtUosV8JPgei7ffbxSepR8LyXyp+K+s5mtsALy/hHVWD/cSf8pPHgLhlGa5yUo8L3RzSNgQEY6BYeomGW/JEyKMhJMOhLunwKLi4CcecfEFXJAq/LKxwoSDmcG8VWSIc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492145; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=OarHLFLe5K7FdRBuTjkQXU60XyAs5n1eAi0rtUtmikg=; b=UCGL1cdk3RhXfC6D0+zikGeR4Niyu32HTtKSeKR9Br4SVwoPcOqfsseXYUF+OyXFNUpm4B+smg5mkTi/c05bLLevPSKitnWrX1BawfGrZKYN1KhUMM1JdH8XEw1gvSDqQxGwHTSJEPPUw9syKGewp/XcSIVUAZN8WtfIYHWT/NQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492145824520.8540735667272; Tue, 15 Sep 2026 10:09:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdV-0005VW-IR; Tue, 15 Sep 2026 13:08:01 -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 ) id 1x6WdN-0005Qy-R5 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:53 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdM-0003Wb-62 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:53 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-485984ebf5cso2799472f8f.0 for ; Tue, 15 Sep 2026 10:07:51 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492070; x=1790096870; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=OarHLFLe5K7FdRBuTjkQXU60XyAs5n1eAi0rtUtmikg=; b=EF8M6kzYlRTIRWVyMBpIVzJxVwVDcxuFMcFK6A/NCN1e5vWlFtKuMFLntwxBQC/23f g0fxjNq4szEOJ9rbJryoZF0ojUAaKvEb4d//CMlFXw6pHfy+9kad19tlvF8tmJvD/ppk Y49Sscyb5j4LDvm/MxEvqOiVokmklbsIwy46D67s+L45LYIvpkcqN0g1UMH8XaJH8yGO +d6P1zWgCgVbiQpjbrboxkb88Vt/YRBGRFdH3FQgl+2VjpMglahtH/S3AuHfdAv6GTiA 7hkjB/kOjKH0CgZxFyyolzHSuael5MdSZNgJ78IiPRXWiWSToftWOeg9dnXC30wg/adX B2hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492070; x=1790096870; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=OarHLFLe5K7FdRBuTjkQXU60XyAs5n1eAi0rtUtmikg=; b=EVjEU3BGOHFHKziiymBVAHV9z3KbHAccGzQBpMt0AdgO15PkHdrTZaqr7Ewvla0GQk /CIN7zHBzzT+7MRaNtlrquRy15NAHDtlCP4EgRezXL1Sy6AOd8Eo9w/+x0mqpfDw3jGE nzeQwo5/cVLctxoJU1+Q88N4B56vsPiaVySOwLQaId8yEKDkZSZl194mc/YDWtl0FZho kW1yxH+5Ca/pWWF8iuawaYqw9TEQu3RoRTsulQENa+rgaV56E2ZENqMcKeSuY12Bu2WJ C9mqdlh5+N/jSVi5Vw9X2XTpl8SoCqjJrSVUHypDaB8B9EmaTtrsf5PkcZYbVIyZNG6e TaOA== X-Gm-Message-State: AFuF++nQYeEOXekGzA0083Q5gr1HY2QNXNdf4EiimtPk6KZdeZc6FHVA CVkv+MJHeFyQXs5rme66ImaiFdgsecqeMfVeH7f2q/NPcP5a9WvVPeJaEbmvoKSXdbwbF+Ico/c Fee/kJ44= X-Gm-Gg: AYBFou2fYvmb5WHInHdm+2gXyH3pZvAUMEZw3aS6k7QS3jg/SIWhEfBsqBHMx/VLnFR MbzXyp5rBq2G56gNpTVMTLjk9mIuyCKNdqCdr340l9ntJpF6yIa6wHYtWmV3heKy5rgy4XxlJ7g a9B/+P3+IywDJP1Icpps2hRQtnY8GqYJh2/DKlVACkAUgQ9w8VXwTTT0v/XBcdsEaI9uSZyuT66 JZEwX6xy+Vj4Ag8JLSaovTXvoathJC0FcIkf/LmE+ZhCI2pVg1uvVTpL/mx/oBf/+FsUIql+v+E iGWm0QWDGEdWa1fDLTBmv226iTyeWS8ZvaatxBRwCbAWf97mJcRv97PIYwNVjQZVzoJtafALIWX JJmcyabyzilpuHlsbp0IPAApUEDi7mOf5Wi6eLiIZrjTt6Lrib45IqFDFZo2ur43wufdv3nit0I 0JboAEfYE3TzC611B1D0Sx8/V4ZPUfzy6vq3v0FD6mDmXRYhxEyIKTjYrrdeNIAqc58n01/mO27 FY39r/p5a4CpgCKLMPhXjrPrKpN0LD6gd4JIIe9yX55xJbJE48MaRP4muQznTQZzWX7y7LVQGo1 vA6K X-Received: by 2002:a05:6000:18a9:b0:487:72f:fb43 with SMTP id ffacd0b85a97d-487072ffc5bmr5043867f8f.15.1789492070312; Tue, 15 Sep 2026 10:07:50 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/20] target/arm/hvf: implement MDCCSR_EL0 as RAZ Date: Tue, 15 Sep 2026 18:07:26 +0100 Message-ID: <20260915170735.425445-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492146628158500 Content-Type: text/plain; charset="utf-8" From: Showta Ishizaki A guest that reads MDCCSR_EL0 under hvf is killed. The register has no case in hvf_sysreg_read(), so it reaches the unhandled path and hvf injects an undefined instruction: trace_hvf_unhandled_sysreg_read(env->pc, reg, ...); hvf_raise_exception(cpu, EXCP_UDEF, syn_uncategorized(), 1); The TCG path does not do this. debug_helper.c defines MDCCSR_EL0 as ARM_CP_CONST with resetvalue 0, and the comment on the neighbouring DCC registers gives the reason: However we implement RAZ/WI behaviour with trapping to prevent spurious SIGILLs if the guest OS does access them as the support cannot be probed for. That argument holds for hvf as much as for TCG, so do the same there. The read only reaches QEMU since 37863fff59 ("hvf: arm: enable vGIC by default for virt-11.1 and later"). With -M virt,kernel-irqchip=3Doff the trace point does not fire at all, so before that change the register was never trapped out. NetBSD/aarch64 hits this on every boot. vmt(4) probes for the VMware backdoor, which on arm64 is a read of MDCCSR_EL0 with a magic value in x7, and the injected undefined instruction is fatal in kernel mode: [ 1.0000000] cpu0 at acpi0: unknown CPU (ID =3D 0x610f0000), id 0x0 [ 1.0000000] panic: Trap: fatal Unknown Reason (Illegal Instruction): pc=3Dffffc000003fa318 sp=3Dffffc000010262e0 esr=3D02000000 [ 1.0000000] fp ffffc000010262f0 vmt_probe() at netbsd:vmt_probe+0x3c [ 1.0000000] fp ffffc00001026340 vmt_match() at netbsd:vmt_match+0x1c The pc in the panic is the same pc the trace point reports, and the encoding it reports is MDCCSR_EL0: hvf_unhandled_sysreg_read unhandled sysreg read at pc=3D0xffffc000003fa= 318: 0x0020c002 (op0=3D2 op1=3D3 crn=3D0 crm=3D1 op2=3D0) With this patch the same image boots to login on -M virt -accel hvf, and the trace point does not fire. Cc: qemu-stable@nongnu.org Fixes: 37863fff59e0 ("hvf: arm: enable vGIC by default for virt-11.1 and la= ter") Signed-off-by: Showta Ishizaki Reviewed-by: Mohamed Mediouni Message-id: 20260905004800.5B560C92F2@bambi.snowrabbit.org Signed-off-by: Peter Maydell --- target/arm/hvf/hvf.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index da3ec521fc7..b00a7e1a845 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -234,6 +234,7 @@ void hvf_arm_init_debug(void) #define SYSREG_ICC_SRE_EL1 SYSREG(3, 0, 12, 12, 5) =20 #define SYSREG_MDSCR_EL1 SYSREG(2, 0, 0, 2, 2) +#define SYSREG_MDCCSR_EL0 SYSREG(2, 3, 0, 1, 0) #define SYSREG_DBGBVR0_EL1 SYSREG(2, 0, 0, 0, 4) #define SYSREG_DBGBCR0_EL1 SYSREG(2, 0, 0, 0, 5) #define SYSREG_DBGWVR0_EL1 SYSREG(2, 0, 0, 0, 6) @@ -1756,6 +1757,15 @@ static int hvf_sysreg_read(CPUState *cpu, uint32_t r= eg, uint64_t *val) case SYSREG_MDCCINT_EL1: assert_hvf_ok(hv_vcpu_get_sys_reg(cpu->accel->fd, HV_SYS_REG_MDCCI= NT_EL1, val)); return 0; + case SYSREG_MDCCSR_EL0: + /* + * The Debug Communications Channel is not implemented, so RAZ, + * which is what the TCG path in debug_helper.c does. A guest + * cannot probe for DCC support, so injecting an undefined + * instruction here turns a legal read into a fatal trap. + */ + *val =3D 0; + return 0; case SYSREG_ICC_AP0R0_EL1: case SYSREG_ICC_AP0R1_EL1: case SYSREG_ICC_AP0R2_EL1: --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492134; cv=none; d=zohomail.com; s=zohoarc; b=E1KlJ4fbRe7KsJAqj22uco6w1JO2oXHyV5SpAJScAGuai6CDwpSxoFfnRzxRK6CpluK+IBVgVcKcClNjJ+qap5e319lmt2V5FEJ2k9G714NIgX76dTAiuEgrq44PPa7+dRQvvuA+VYvPRouVcqPjMFbR9uzqnUur3GHilrUwrxc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492134; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Ws19gc3+FltY1dGtK5GkfLj1XsaSZHbJrk4tzn5m1FU=; b=WLfpnEfnH5d1kVEwwydGFs48SsxZuZjGR6F8tMatZzD3ikdGSsZuRLiPBnriOeNzwe6jrgPXXDy3ZBNQ0XIziLjdVIU2FbvTQUXDOLWltSME9zVi6fYkVYyFEmMP6wO7u0k/jYkr/pEhEtu+0AwxsxPGOoC4/6Zs7TUoQFt5XjI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492134899877.9470815240143; Tue, 15 Sep 2026 10:08:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdT-0005SV-Uf; Tue, 15 Sep 2026 13:07:59 -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 ) id 1x6WdP-0005RT-9R for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:55 -0400 Received: from mail-wm2-x11.google.com ([2a00:1450:4864:31::11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdN-0003Wp-Nv for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:55 -0400 Received: by mail-wm2-x11.google.com with SMTP id 5b1f17b1804b1-49b912e64ccso435755e9.0 for ; Tue, 15 Sep 2026 10:07:53 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492072; x=1790096872; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Ws19gc3+FltY1dGtK5GkfLj1XsaSZHbJrk4tzn5m1FU=; b=LFDbbeH6axBamel52BiKw6/xBsArIgbtOgvqlhId5wl0qx+8iRF4dWIIkB3/00n6UN 7gPSGzRbk8nF/wvWMx3KlKVZzAnqi4omZGrfqdICkOJ+dd+rXGEMbPL7DQvOrjg7keFd wJ58D+vsaKFyFlqXSZG1h+TXQyI9ZTbtsR7OHAn52XmkrudltE7DO+pHepQg/AzhbEtp ppl2RIRME9iemT+4ulfLRdQZUbY5DRjpUuh8sJbJLlKMhrtuNiN0hjcE+VIZ1smX8Vjr G7RySHlHcTToCC8N4gt8ZvoLM/WgzG959KoB8SbhNUnhJJXUSUww35LgkCQ3xf5XY7KL KYhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492072; x=1790096872; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Ws19gc3+FltY1dGtK5GkfLj1XsaSZHbJrk4tzn5m1FU=; b=wq0WQcYbWTCA/DeEdcVy/i85cJmfS8OskgmDXQ6PX4RsFW7pVzTADouSG+UETW34Ib awoRYlVpTTvlsaSbDk95X2i8r513AVoHhi6sj/5LnurdPmUS4Z/s0TdrfkTdL2Q2xvDs nVKKPp5TUCZzgOlaflQ5VXmj5m0KJA6VYW3JOukWO2iaw++O5WkvRjb3vpHfg3KdNByh PNYF3/hBNcIAfzkjrCx0HatBi+DodWnMNCUZOEE47z5u+Hf2VMWPsmZuJsdhYL8ZQUGV JDxo27APZJ0bqIVJNWPI3xjZzbZPEhu4//YP3kIMRYckzz0XOG4h0wXcVyChW/AGBtfC iweg== X-Gm-Message-State: AFuF++mtDbr/UZ+HM9KWGgs+x/wgy6xNqBN0WC0z3k139XEIc3N0MyhA ILDihmLwglM8I27Ry2P5i4cw7+9/s1eR9b7WsEw9qbN5gMs9Uzt08skWAP+th3fzoKByJ3IbRpb K8IA3bC0= X-Gm-Gg: AYBFou1SD3/iUbQoz4BrrKRyqsmU4LbKwpeMI4zmIN44E76rL5i362LvR8B1/C4TMeB D4kPjcUedRPl0BGuzzV2ifJSam3eG0mAaBqtIgIPyXABrhYd+ypEAWHmPmSB1J6aYwVlEeEGVET yKCmGoCce6wC+/tZiaDPFNnwsxWXRGU2iXlvZu6nURJkK+EIcn+zVcjPoS7VAwIKDCvDWu8MEfn G8l4HK+dc2BoZrfvqZs308o3sGAsFmdqOCQ+5/eOX7UjOXqk0FNvhpi1mR+vkKINwBBYxI8IzSO WLvjcaXkCXUgKGjVFgHtfwU5bAY2urbZvF8JQifT41XQFk8lLd4M49FTnRvW9iPRysWwu7OrurE 6HDtkFercyHP8yoS11uRNIo5jtUrO/5vzvOuxdk+/bTCfAWelOzoMU3DJzRGyj6L1MT9Kh8TC3M AbbUnQzBeIRSwyWPZe1UwzbhxjEoT5nYErjQs9NNdaT8CnScI0Y/Be/7o3kf+aQswVwL6Rv/Z0L eUnwRbuka3B08e8Y/80h8/Tcom1Gk/dYcvUNDMEUTKWnAxNH/uFyTY5erQC3SBohewl7r1mEHiA wgEM X-Received: by 2002:a05:600c:8705:b0:499:7a15:fcec with SMTP id 5b1f17b1804b1-49e7a678629mr195478355e9.13.1789492072030; Tue, 15 Sep 2026 10:07:52 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/20] hw/char/stm32l4x5_usart: Accept character input upon RDR read Date: Tue, 15 Sep 2026 18:07:27 +0100 Message-ID: <20260915170735.425445-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::11; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x11.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492136383158500 From: Alex Benn=C3=A9e Looking through existing serial devices this seems to be a common pattern so it makes sense to me this is the right fix and matches the API description. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/4389 Reported-by: Jan Brittenson (@bson) Signed-off-by: Alex Benn=C3=A9e Message-id: 20260902165956.582901-1-alex.bennee@linaro.org Suggested-by: Jan Brittenson (@bson) AI-used-for: fetch issue, apply proposed patch, verify build and qtests Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/char/stm32l4x5_usart.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/char/stm32l4x5_usart.c b/hw/char/stm32l4x5_usart.c index dd1b0991956..0b02dde1f8c 100644 --- a/hw/char/stm32l4x5_usart.c +++ b/hw/char/stm32l4x5_usart.c @@ -441,6 +441,7 @@ static uint64_t stm32l4x5_usart_base_read(void *opaque,= hwaddr addr, /* Reset RXNE flag */ s->isr &=3D ~R_ISR_RXNE_MASK; stm32l4x5_update_irq(s); + qemu_chr_fe_accept_input(&s->chr); break; case A_TDR: retvalue =3D FIELD_EX32(s->tdr, TDR, TDR); --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492222; cv=none; d=zohomail.com; s=zohoarc; b=kY6AVzfVMyfU+Jgsn9o7DS/MFRC/cQsKZbIiTOAt0Cj/aGgTF9aHbBculK9cd80eTvqXNWSvlmtTmsWV4+l6k90qHPi57B6MFaWyTWGXRhfde8fVhdpJOd0PlkH7PyVF+dc6Yin1LkexVocrHQB08i4RihStENF+/ZVXDrpRbFk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492222; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=+XedOOJVOPP5UYhOG5X1jLQ/MXsSMJTkd/7CNPXyMm0=; b=fn8lbI4JqAV04i/nHdGb/MJwKHG2jLszAAjhl7CVDWr1Fe0A0t7fhixYDAdWrH1KCtCd3+I+nMKPccsgye66zTXOvATkib8xdgCP8RFarY0IIy/rS6mTXtTdz1XSx1r30+MmUuAOFV/XaaeClI0kdGJ5uY0O2xJXpnJrPe5J6+4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178949222270811.662444820049927; Tue, 15 Sep 2026 10:10:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdV-0005Vj-Kk; Tue, 15 Sep 2026 13:08:01 -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 ) id 1x6WdQ-0005Rl-99 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:57 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdO-0003Ww-Dv for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:55 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-482f633cd80so1563044f8f.2 for ; Tue, 15 Sep 2026 10:07:53 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492073; x=1790096873; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=+XedOOJVOPP5UYhOG5X1jLQ/MXsSMJTkd/7CNPXyMm0=; b=mep3TpKQOy4UiJn5n0TrVwux6uU6zyk0ApoWhfxmnDDefm2yZuDnB1NkqWL/HscfNY GmIbjJngJPnESbYVZAcUWct4ATbDbhE7ZUm3vHoZDhRQg79tDeVSkEKsqtfPRuhREqXn XxtHuk03ZeCNQKSz7paEAQIVG1s3vgXHz5AfehOBsdOWYDwVeGHNsnWkqg+xW31Cp+Q5 8sHOyyD70RnnqsnkDYyh3nv3YRgS7sYyw91VefEEofvVN29Z6eP6+nzW7jAvwyf0xbzQ EsjOFSpgihvO1WcvmDcslY4IK+zwcn7G8sZxmUNgMzfOzN91JfgmxyNC4n3xhVgTx77D 3VmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492073; x=1790096873; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=+XedOOJVOPP5UYhOG5X1jLQ/MXsSMJTkd/7CNPXyMm0=; b=F8Y02eTNUMtu0p9FCLqhaS5Bym8AKGtWUI+uMehiPmvA1rrsJxA49oz2QiMF/A8FQr D5cMPXxnbVDega6MyOO3yZKmYuPwN6SxXtl/QExCOuI/bU34sofx8XhydIvLHr+d46Yf /+o48ig3PpGqcrCN3EYBat0c+zIvJWMo90sG/UmhylArIdu9eh6maO7IFINyqiCgilpO 193s53wEp6Jm02eid2D0oCj+qc8mPPLHjOcQ1OKTE1CevPdWfFDfj9JpjRFVCrzu9oNw ab9TlHQhTU18e+C3AuBY9Q+05UO/gxsxN+JtNICnDIgSTn1xw465jHk6Yyuffd33XtrQ 8aHw== X-Gm-Message-State: AFuF++mtYUWMK5sGt6GGpuZfXnA6Uu1JjkSQZ31BqaLomtq9hk4q7oVp X9VjHtwHgy+6GSL7xsbaDa7CvewGFkKcxlkIbqe5XaGf8lJTekV+oFDeHkoCetJ29qRU/X7CjFB NvZqDzh0= X-Gm-Gg: AYBFou1lMG8/QjOdwEiSP7bgqdMdFJ6+yNiUljvqbFsyCf/fJcpfin4jB+EBaHkqyUG m9WZUSrFe31nlxGBQQ/j4jjDcAahxe8uVUcqfGOsKwEnssyEqTTqG0q+cwLln2p8mmWAsujFy5d 6lUx9d8bro7y/dvwfvw3InUpOVfgsoQNsxNwyZlrt9mI/lwuZZ9hslpCdb1kH+S/LvhC00XJppJ al8B8GTbcmurCWMzKzt9CHaPDrhzcHAiGcEhJlgwDBpR9IPSSTvMAcsVy31ilLK7HWIu6cB88Kq iUtPVp5N+dJPysxvyfWwFvMoIi8fO2w67nQj73yYpNzXNz+p4G+oM3oMmqrgdhJ4u23EQvFH2Zk QMEwRMd1xyxdaU5goJqGf68AvTWS3r9BETahRgKJOuRmRA6LmWanB1/4OwygkCt6pYXBFyCGK4l I1vFkZwjOkao5Ih/oUyAQVI9Jd1n/ucJrpvP1G5HAVNlu/PMtAXVXm0sYDFotqxIgwiagzn0Hve NqR6kTAnxkRoa4ggiYSN6VjfIYZtnUAEExx4L2XGdXwKhro1c06xQ/8Tw+oEQuagP2MTY8CrJXu xJ2c X-Received: by 2002:a05:6000:2204:b0:487:802:84e5 with SMTP id ffacd0b85a97d-48708028682mr4092077f8f.25.1789492073040; Tue, 15 Sep 2026 10:07:53 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/20] MAINTAINERS: Update email address for Vikram Garhwal Date: Tue, 15 Sep 2026 18:07:28 +0100 Message-ID: <20260915170735.425445-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492222949158500 Content-Type: text/plain; charset="utf-8" From: Vikram Garhwal Signed-off-by: Vikram Garhwal Signed-off-by: Peter Maydell --- MAINTAINERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5bf895732c2..9012bf476da 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2177,7 +2177,7 @@ F: tests/qtest/fuzz-sb16-test.c =20 Xilinx CAN M: Francisco Iglesias -M: Vikram Garhwal +M: Vikram Garhwal S: Maintained F: hw/net/can/xlnx-* F: include/hw/net/xlnx-* @@ -3047,7 +3047,7 @@ F: include/hw/rx/ CAN bus subsystem and hardware M: Pavel Pisa M: Francisco Iglesias -M: Vikram Garhwal +M: Vikram Garhwal S: Maintained W: https://canbus.pages.fel.cvut.cz/ F: net/can/* --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492202; cv=none; d=zohomail.com; s=zohoarc; b=UnmiHgeOtdGuZ6Wj9MEh7y6juTEXwmdfZzSoN91wOMIbHsJCcTuIyyxeWucNolkjYNwteWW6ycWGixcwS7eBtiuSOO3bWbZnk49zMa/plAJuXjJ0UdESSLa/Hvzz1KD4HggPu3AqIYJUM+8Ipc0ML7gdQG6rzkjNAZQ+J3Ffagg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492202; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=jSMbeBzCA9SMAxy4NxgAHn7W6+xd0zoEKOQFxoiweYM=; b=fudjv4cZT97+S8ild8XEPP4ru3dAPMt5rKgLQ3NCFGz+N1RrdJ/Noe4twqONYIiPrtbzfbEJAK4/XBuFJWbgaoY37v7/8viXHrpKOrKz3czrC5IyGU7nj5hvpfQeyl0cJPlYfxf8/QiBABbFnqot5/xJcJOIzfZDEiCR3MAAImA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492202058728.6366329875071; Tue, 15 Sep 2026 10:10:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdW-0005WI-Jo; Tue, 15 Sep 2026 13:08:02 -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 ) id 1x6WdR-0005Rm-1e for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:57 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdP-0003X5-E8 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:56 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-48583cc7ab1so1619843f8f.2 for ; Tue, 15 Sep 2026 10:07:55 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492074; x=1790096874; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jSMbeBzCA9SMAxy4NxgAHn7W6+xd0zoEKOQFxoiweYM=; b=KFTQWbGQahZdB7dHX/SgZKIurlygk0Whxo1IKuknZEM1zjYPBdthfAA80B0LcRCxzQ fsS2HUC2DK1X4hl5Gl6x5d3CllpYGAvf//y/zKuXBEri9SPRfKje8xIAQ80M12A1YUB0 U1YjpoiSK5bYtGVt8amVjg5lrrKRuYsw068BIGZ8b+LwYgYsepwkHZGOl8/PL8HvNh8S OpCbAqn+7AV9XO/dicuG8654/g7YMPEN1NO1CNUYTMQuB8vXkklppn2AXhqcvAgtCmqy KG6SYiXaduojxyOPC3AJxfHZoTe9yksjtK04CREsYK4BhUmn2jAPmYWmQ8+I3rH5uFq1 CG2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492074; x=1790096874; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=jSMbeBzCA9SMAxy4NxgAHn7W6+xd0zoEKOQFxoiweYM=; b=lm84074pPaM2iMpfYwxwDb4kjMiwJ2ppN1NCUkpIp9DBr2SKqzJ7uu3tdg3gZqNWEl wwF80weACqQVaRt5KWBny5a9YhRFq4W09R0M1yZoRqDt2o56EnsMUo7WNACuFc8dLk7h Q2ETqZUguJaWktl1YLaV+v4eRn/8BQgRQ7eS1GtbLPnS066UMmFLtMO58bCsabPT9ph1 hNEGJGUOOlTGAMItESBcS+Zv17PUX028H3g+aiZcaXm6PlcR94u6d5T9Jsspbz4I866V Ic60V2TLxkfhmow8yfd1AsPuMNCosUjhopTnnRmnrd13AVRWbcgLAWtT4XGbA1wwfJbX Y+KA== X-Gm-Message-State: AFuF++kvE6sUPkjAhBn2nlZcZDzDQoHsNZE8LJHzzh398Qs7HMncLFIh JI6c22ioYdw1CvYNcMnzrXioSOAne8RrPafUrTNMoedcmWQwHeJ6Dx7t5M1zP/Gos2buNgCqvnZ FVnkXhFE= X-Gm-Gg: AYBFou303VNIEXX/6yesGY9oU0VhDOSD9rh7ZsW6P4pjRhjXg/gfTDkddFUJ3aT0CfQ BNbdvLj69W4aqofZJHgAq55ShlpHK9uguiJtftNRAuzfRxJrTrJTXJd0kqo7KLshVTI7ZYMi5F9 xLSn/3M7Jkv7sFEBG78QuPM+9lc4NUrlAy2pgBjX9qaBtiIId2HqRqxgok40OkShloLtSpikCpZ OfWhbCvIxej7QAhEzF4p8fORdQoVyLYvQXrRkbG2BGuQMq4vVhhM2siInSMUuivYVdcG66WTmYN RgWDCQbpn2XjZ3kZpxBHSnEdWgy59Bfmg3bkmWxqKUHlwHV/OVkNXbfjcXJS5Ku/1Uihn32U6Vp ppnEtSfbLiuCGWA5NVPupdg4qGIwghEdZf+QA1PObiJKfgK6MpRqyqb6pQISllVy6ztyDwKRKOj w5TEhIAQBiy2zJPxxUamHqy9ngM9DdfPKSLRhCM7F1mUr6klZYhmq2ylJ/yYVw92LcFZmprgxQ1 X5yAFHJJzvHAOsWnMlD03cI5NpNE3mhB+sjcFMpIYoxCkIq3QUuemf6mqbKr8kYMhbqbHnAfT9I 9eJg X-Received: by 2002:a05:6000:3c8:b0:486:fcdb:ee5a with SMTP id ffacd0b85a97d-48702ab93a1mr10620683f8f.15.1789492074112; Tue, 15 Sep 2026 10:07:54 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/20] hw/misc/bcm2835_powermgt: free wdog timer on finalize Date: Tue, 15 Sep 2026 18:07:29 +0100 Message-ID: <20260915170735.425445-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492202851158500 From: Marc-Andr=C3=A9 Lureau The wdog_timer allocated in instance_init is causing ASAN to report a leak when the object is destroyed (e.g. during qom-test and device-introspect-test). Add an instance_finalize handler to free it. Fixes: 21fcfb604608 ("hw/misc/bcm2835_powermgt: implement a real watchdog t= imer") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/misc/bcm2835_powermgt.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/misc/bcm2835_powermgt.c b/hw/misc/bcm2835_powermgt.c index 7b01be48bb7..1de5a55a4f5 100644 --- a/hw/misc/bcm2835_powermgt.c +++ b/hw/misc/bcm2835_powermgt.c @@ -152,6 +152,13 @@ static void bcm2835_powermgt_init(Object *obj) bcm2835_powermgt_expire, s); } =20 +static void bcm2835_powermgt_finalize(Object *obj) +{ + BCM2835PowerMgtState *s =3D BCM2835_POWERMGT(obj); + + timer_free(s->wdog_timer); +} + static void bcm2835_powermgt_reset(DeviceState *dev) { BCM2835PowerMgtState *s =3D BCM2835_POWERMGT(dev); @@ -177,6 +184,7 @@ static const TypeInfo bcm2835_powermgt_info =3D { .instance_size =3D sizeof(BCM2835PowerMgtState), .class_init =3D bcm2835_powermgt_class_init, .instance_init =3D bcm2835_powermgt_init, + .instance_finalize =3D bcm2835_powermgt_finalize, }; =20 static void bcm2835_powermgt_register_types(void) --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492286; cv=none; d=zohomail.com; s=zohoarc; b=GtWcyam9yIcz9hCG18G5ZRD8daHS9pSNz+eI8fbiW/iJCN34oOL9JjLQFFt2zrwhMHZ51y1ElTpjmUJ/8lEFQ15V/1faPaNhMS1/M1y9GIB4SvKzl9/YKCgkaYIQakBgsv5i5J4MR/bnEnN0J8eIR5payX+OC1ztuUUIZh4yqK4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492286; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=+bXCjmu21euJUmgHKxj3AplYyvMlR+hu+L+3McdRLpA=; b=DX3zY/r0jaHpI1bs3jLS4c+MZBJ9PqcSw0lOhiixR7s/oFc982+BfbGm9afj70DKMQknCNWZW9Fzob103i91qm775hg37GE/NJpDGDK/pcH3cJaPvedLm7vK0E79sq9zpdbx/7BAyIFb0BayqsuQB8D8YK6a4HQz9B18lQaw8TI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492286555980.0884115681555; Tue, 15 Sep 2026 10:11:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdW-0005W8-Ai; Tue, 15 Sep 2026 13:08:02 -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 ) id 1x6WdS-0005SB-3M for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:58 -0400 Received: from mail-wm2-x11.google.com ([2a00:1450:4864:31::11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdQ-0003XF-Cv for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:57 -0400 Received: by mail-wm2-x11.google.com with SMTP id 5b1f17b1804b1-49e69b9e16aso491435e9.1 for ; Tue, 15 Sep 2026 10:07:55 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492075; x=1790096875; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=+bXCjmu21euJUmgHKxj3AplYyvMlR+hu+L+3McdRLpA=; b=aKiCBD3oDZBoS+RRc7emuJMep/YDLH7N+qa0XH1lj3QtJ94lXmfnImPGbMXvfx4cE7 tIGlF/2/bU6UsKVRehgOQ2P2Gx/WlNLks4PkbEiTyVtDisW5y+PNOwBj2nrhV21CXN9X 5u5hzA3FLUsNRwWcupJREyXNDljwRCK17CBRAEQANbgV8MnPZ/6zSkANNfDJa1Zm39kp 3b04uuWQMnD9Oc4jouPLzD7+Ftb1FV/3PEUzIK3m4lX4StrsBZvgYuLSekisfbltJ2ih JpOHbXVTTHu7fAke5AS3U5QvADg7DF/9vzqgz6goKDtSRWIWdWei6M08cOoteue2+hfD zB1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492075; x=1790096875; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=+bXCjmu21euJUmgHKxj3AplYyvMlR+hu+L+3McdRLpA=; b=XwDozNaD79mlybSG+VXguZCiWBkIbphGjDikG/EAb6aOhGJBjfE6p8akFqCEEVFX9g lR81syWX9C2YDT7x/jmo60sJLaNGWu1SqOWHMrboBu/Mzkd+dFD/fAOeMxNHEk3wvPX2 Bnqma1OKrZ7tQ1xOI46/nSSbsA1QM36MIgfENcxFaAZVzYwxbdYB2RwUjSVan19nqSxv gxoUOSO/PServWv5u++3BzJai7Pv/Ewu9dLrFKBx9bzfgtsi55oX0zXkrqPHk+/dar8C ol+uSGW8mwVN4xrdvsrmX2t1fh2ByxzsDJHEclmLmvUW+6o52Lupl+H6EvYcARzGCgek tlDQ== X-Gm-Message-State: AFuF++maftejvN7P1q5YsHFHiETfPLO5cuhm+dm5KRnvQIrLqXEDTfhG Bd15GHSZ1BuK3TO9sfcLeBxOxVrqj42O9Km5H0bDEYgrFsfs7GwN9PxC5ylQ+zAl1tSB+cukrsb 0JjoSEOI= X-Gm-Gg: AYBFou0FS4fNTA7DvDGsScP+WDGg/kEddaiwAiRSgBvLFKrl5McNBIlSBTq94qkdzt/ nyTMGV4rNWIqtyCuJ6yGVUBkiBMPeB54/dBgJSGs98LmHz8aqTR8XENFE/ANIFOZi3UPJ90M8+Q YSOqDnz62FVqJdUFY4zWw9qtsE4jc9IA1eueHeA6/rKx2JLtjcjLIbC3UkJNLFMc9PtapFU/xCm TvwZClquXrurRVaOAGgqWOq+5fOsyPS/p0t8cO7neQhhPzLF6aAcGnb3A0ZauGaK8qslflEuFeQ 00VHM9WYogzXVs+OYh6fP6MyYp9sR2cwb2eIiwLLy/iMVUJleIVXNd7Gurb/e1eezAeVLtvPXHh KuZnnEdYv3+I2+YsLTBQtMolUm1Y+7VhsxPi0mwU7H2B2RoTvJYB4RvCfWSv2VnEbujjGfqATFM X7hOERX6LBpY9qBv8W29DRJNW9pjmYIrmzPRl/7DM4eKnlfC1vgUor7Bl0KgeAEf9qmqu4yoK5t QC8dpUmPRTO0TXZjj8pG4b6Wkqnlg8iy8UmxnvnHH7d6DVuqpEgo8zhONXUWuoll0gFejspYgbK OQkI5QqjkGAJbJE= X-Received: by 2002:a05:600c:3b9f:b0:49c:fa21:1c86 with SMTP id 5b1f17b1804b1-49e7a6933bbmr115547075e9.27.1789492075019; Tue, 15 Sep 2026 10:07:55 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/20] target/arm: initialize SCTLR reset value for arm11mpcore Date: Tue, 15 Sep 2026 18:07:30 +0100 Message-ID: <20260915170735.425445-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::11; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x11.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492287418158500 Content-Type: text/plain; charset="utf-8" From: vpyr Initialize reset_sctlr to 0x00054078 in arm11mpcore_initfn. Previously, the generic reset mechanism initialized SCTLR to zero because reset_sctlr was not set by the ARM11 MPCore CPU initialization function. The new value follows the fixed-bit requirements documented in ARM DDI 0360= F, section 3.4.7, Table 3-20: - Bits [21:16]: 000101, contributing 0x00050000 - Bit [14]: Should Be One / Read As One, contributing 0x00004000 - Bits [6:3]: Should Be One, contributing 0x00000078 V, U, and EE remain clear because their reset values depend on the VINITHI and CFGEND configuration signals. After rebuilding, the test read SCTLR as 0x00054078 instead of zero, and the 0x00050078 mask check passed. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4454 Signed-off-by: Felipe Junger Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/tcg/cpu32.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/tcg/cpu32.c b/target/arm/tcg/cpu32.c index f292a269bf2..1999e502904 100644 --- a/target/arm/tcg/cpu32.c +++ b/target/arm/tcg/cpu32.c @@ -218,6 +218,7 @@ static void arm11mpcore_initfn(Object *obj) cpu->isar.mvfr0 =3D 0x11111111; cpu->isar.mvfr1 =3D 0x00000000; cpu->ctr =3D 0x1d192992; /* 32K icache 32K dcache */ + cpu->reset_sctlr =3D 0x00054078; SET_IDREG(isar, ID_PFR0, 0x111); SET_IDREG(isar, ID_PFR1, 0x1); SET_IDREG(isar, ID_DFR0, 0); --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492298; cv=none; d=zohomail.com; s=zohoarc; b=GaYXUCIIbQ4RjJwn51d04qxeitqgQGX1JVfzDULlqHZ81c+3JpTYQiaA94pLD6i5mCT+yS5JNDsaCMBkkLBRS8hX+R1h4BzV5ZRJ2pr4AgqIiTlROHsO2QMrnDKYp0gPZPRJeGmqbeQKLpZmBot6mec/7g2Urj0fgBTjG+Vc728= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492298; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=GJ41tkN+lvV5QjsjeUYBWj7BsbqyOir9g2RDv+4MWtk=; b=j++F/Ty76hCdFe0W67wvb/PHY4hSLBgwTgiZQ43rb0Z9NLuHWB9stK9esZsR+H5eY++NsSOPmiXAt8XCBORMbL909uzdrWpAS/i/OV13dkHJmq5mzfJ0zhzgnju4w5M/w31KO/cWtoAG1w8+aQGvOmvZcTwbe7pFTjZY4BnQVEk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492298445160.86073441073813; Tue, 15 Sep 2026 10:11:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WdW-0005Wd-NB; Tue, 15 Sep 2026 13:08:02 -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 ) id 1x6WdT-0005SP-0h for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:59 -0400 Received: from mail-wm2-x11.google.com ([2a00:1450:4864:31::11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdR-0003Xf-7O for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:58 -0400 Received: by mail-wm2-x11.google.com with SMTP id 5b1f17b1804b1-49e721b5503so701925e9.0 for ; Tue, 15 Sep 2026 10:07:56 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492076; x=1790096876; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=GJ41tkN+lvV5QjsjeUYBWj7BsbqyOir9g2RDv+4MWtk=; b=D7qnoyJNG1FAGjfwkYEAi0bGJDgniAchtJBN3eeAiMPncGpnpwFtD87g6+vM1vLj1P QMLnDGh6IUt8Y8Lp7OxKK/vPmSjvGPLSFLAvNo3pZ8pexh3rcbtnNaCIxVe6aXJkwf1B yI+53VKDNRhKjpTkFaura3+12lei91C8rX+WP9IKW3DtR1o5hdaNAj21X5veZrpIvTzM lqRghQxYyujb9idS6ytbFds+WvQGL4gh9yi8hx7z6GU3/23eImCCm2xoj9Iub8aiqUol ZGNsdCKyMtuVxt3ZACXWiyHWfyLDtkw/kbE85tr5uzctpP95RE5inby5EOp4kWLs4pHd pcyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492076; x=1790096876; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=GJ41tkN+lvV5QjsjeUYBWj7BsbqyOir9g2RDv+4MWtk=; b=DsVKgipGivXeYVMHOTvwRJVe4+iax4z1xRSkZK6IxN7vO17slXwdQ5i8XTHHdn31rS c98oMrVQF5vawJjhWInlTEJASwozII6oWLP4eUOu9OlfhnhL1pK3X34MFaRsnU0xFcpw zUBnNaS4OGb89xTr7dP/NQC2BcOIuzox1DD4f9zqvz5xYsnQ1Gc2PIdfqGgYDYpZEg9I eUhg6lVpOiok2C2NYLw1KvrrJtcUiVuMYLZb4vWaZuT7M5sd5W0HsDBnIe8C/QaQoSNf k6ytMOKPAQfZJMS8nKxVrBvghTwRsuU3AcLEPogDohL41/v9miR+fQwBKLfe/2dI52tR G8wQ== X-Gm-Message-State: AFuF++lIs0pu5FuMS/obl3+DNTc2GMgcTKU/zIOQ9EGQE3kREEcK0dA7 7xCpFX0JjJGDUvoODj2yUzgkg0iMKrpNRbzgvdFi9rIlXaLHBFmucuDDXJZQpqGh6WWKfd+hRFM gPxobACU= X-Gm-Gg: AYBFou17SU8LaW2S0fEM3FkbHUcJcj+2HLK/wRN0jHyNi16Z7nGroBZvFZLg4ifj9NG oXtGxOGbXLgCIFgGCJFEb81+ucWhhMDXVHJbadmIcAeM1Z7PvzN/+iICtkiuOlhA3ATp4tADjuI uWmkgUOlo2btbUD3SrENq3CdqRt0OvXcvmL+x1LFPAR2gxEtw3MyOcSVoyP4ehIxybcVCw4olwT gwkmiG7z6DVPizkgP567PZ8elZPFlRRQcmuMNjDr+k4rp8lsHGpNH0hFsj/CI4NvtT4/iLZGSHq FmAgEr0/xVchfqJ9oZWUMBoJ2iu7ThhLSqjGJzd4liro+R/14XJMK/6qNs6Rqydbd0cj2BEEXRu Gl98L2Qn+4X7q+9N6O0Fi4XF8THf9DtTnNG/0Ed08oFTE2wAxgDITqSz1GbBlmsHOq6cu2pQzRP BTo11ujnH83BRJdW3msyrs0IlQt11v2FleyGGEjbTvzHIQhYbuX0J5FJcVraIcHVM57e7diki8+ vz+oaJ+hD04Px+2TgwnQmhuzTefbsoiXNr2/LPBsHVN9CMEmJSrRk7PF3biz6Ds7S6z2LHbcGBe EZu4/Q== X-Received: by 2002:a05:600c:3b1f:b0:499:900c:9c69 with SMTP id 5b1f17b1804b1-49e822123f2mr29265555e9.9.1789492075897; Tue, 15 Sep 2026 10:07:55 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/20] target/arm: enforce Armv6-M NVIC limits Date: Tue, 15 Sep 2026 18:07:31 +0100 Message-ID: <20260915170735.425445-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::11; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x11.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492299450158500 Content-Type: text/plain; charset="utf-8" From: Gilles Grimaud Armv6-M supports no more than 32 external interrupts. Its ICTR and Active Bit Register locations are reserved, and Cortex-M0 implements two priority bits. Reject Armv6-M NVIC configurations with more than 32 external interrupts. Add a check-tcg test that verifies the reserved register behavior and priority masking on the microbit machine. Signed-off-by: Gilles Grimaud Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/intc/armv7m_nvic.c | 5 ++ tests/tcg/arm/system/meson.build | 6 +++ tests/tcg/arm/system/test-armv6m-nvic.S | 70 +++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 tests/tcg/arm/system/test-armv6m-nvic.S diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c index a7651f831eb..b1d27dfb32d 100644 --- a/hw/intc/armv7m_nvic.c +++ b/hw/intc/armv7m_nvic.c @@ -2728,6 +2728,11 @@ static void armv7m_nvic_realize(DeviceState *dev, Er= ror **errp) return; } =20 + if (!arm_feature(&s->cpu->env, ARM_FEATURE_V7) && s->num_irq > 32) { + error_setg(errp, "Armv6-M NVIC cannot exceed 32 external IRQs"); + return; + } + qdev_init_gpio_in(dev, set_irq_level, s->num_irq); =20 /* include space for internal exception vectors */ diff --git a/tests/tcg/arm/system/meson.build b/tests/tcg/arm/system/meson.= build index 4c77b9c3d62..52869976704 100644 --- a/tests/tcg/arm/system/meson.build +++ b/tests/tcg/arm/system/meson.build @@ -39,6 +39,12 @@ tests +=3D { '-T', files('test-armv6m-undef.ld')], 'qemu_args': ['-M', 'microbit', qemu_base_args], }, + 'test-armv6m-nvic.S': { + 'cflags': ['-mcpu=3Dcortex-m0', '-mfloat-abi=3Dsoft', '-nostdlib', + '-Wl,--build-id=3Dnone', + '-T', files('test-armv6m-undef.ld')], + 'qemu_args': ['-M', 'microbit', qemu_base_args], + }, 'semiconsole.c': { 'cflags': cflags, 'qemu_args': ['-serial', 'none', '-chardev', 'stdio,mux=3Don,id=3Dstdi= o0', diff --git a/tests/tcg/arm/system/test-armv6m-nvic.S b/tests/tcg/arm/system= /test-armv6m-nvic.S new file mode 100644 index 00000000000..ecb29eaa3d2 --- /dev/null +++ b/tests/tcg/arm/system/test-armv6m-nvic.S @@ -0,0 +1,70 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* Test Armv6-M NVIC register behavior. */ + +.syntax unified +.cpu cortex-m0 +.thumb + +#define SRAM_BASE 0x20000000 +#define SRAM_SIZE (16 * 1024) + +#define NVIC_ICTR 0xe000e004 +#define NVIC_IABR0 0xe000e300 +#define NVIC_IPR0 0xe000e400 + +#define semihosting_call bkpt 0xab +#define SYS_EXIT 0x18 + +vector_table: + .word SRAM_BASE + SRAM_SIZE + .word reset + 1 + .word 0 + .word failure + 1 + .rept 44 + .word 0 + .endr + +.equ exc_reset_thumb, reset + 1 +.global exc_reset_thumb +reset: + /* ICTR is reserved and reads as zero on Armv6-M. */ + ldr r0, =3DNVIC_ICTR + ldr r1, [r0] + cmp r1, 0 + bne failure + + /* The Active Bit Register is reserved and behaves as RAZ/WI. */ + ldr r0, =3DNVIC_IABR0 + movs r1, 1 + str r1, [r0] + ldr r1, [r0] + cmp r1, 0 + bne failure + + /* Cortex-M0 implements the two most significant priority bits. */ + ldr r0, =3DNVIC_IPR0 + movs r1, 0xff + strb r1, [r0] + ldrb r1, [r0] + cmp r1, 0xc0 + bne failure + +success: + movs r0, 1 + b exit + +failure: + movs r0, 0 + +exit: + movs r1, 0 + cmp r0, 1 + bne 1f + ldr r1, ADP_Stopped_ApplicationExit +1: + movs r0, SYS_EXIT + semihosting_call + +.align 2 +ADP_Stopped_ApplicationExit: + .word 0x20026 --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492127; cv=none; d=zohomail.com; s=zohoarc; b=h6UCAsR2rteKRw9IZtqfgWJrPc3LlmSCOlsmg6V/SAAS6xNNHLkqhX9SpYr51XD6drQWblxaMb0liDQiR49ouzKWgw9cStSZvIds2iCaW/5hcyvl+Hiw6vSkJWFqAez60HZN/bdGQHhB0RKUTjIYyAbYmj+B3N3LYuxV9zNg0Os= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492127; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=xjL05zRKIjgIZnaMYrtg7DzJZaQ9HoxCeRBWw/WDV5g=; b=b2cDBMBT2n09PGRHHVCp1stidfRyGvSE9+pllour7JIgeFDYT22s1ZTcXnlr8QwTf/zBYHCFHs7DLk3OXjG1fe4ee8CDG7yL7pnGWbCf8tARTIffyJDKYapiTXzMdC4xglmHOHk9N74IondAfAR0GoZQxdzcm7wTgzM2xFWPSlI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492127112210.4444960899748; Tue, 15 Sep 2026 10:08:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6Wda-0005Y3-S5; Tue, 15 Sep 2026 13:08:06 -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 ) id 1x6WdU-0005TM-7G for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:08:00 -0400 Received: from mail-wm2-x11.google.com ([2a00:1450:4864:31::11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdS-0003Xp-5Y for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:07:59 -0400 Received: by mail-wm2-x11.google.com with SMTP id 5b1f17b1804b1-49e6c0fce17so308105e9.1 for ; Tue, 15 Sep 2026 10:07:57 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492077; x=1790096877; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=xjL05zRKIjgIZnaMYrtg7DzJZaQ9HoxCeRBWw/WDV5g=; b=txfYRSTdBYFnP8/u6oPOw236gVa2F8dHKarqNHxO5tPC4cJJzGVVbtPBAOpf87L/gs 1WxiD4cr99fUaq5hWH5dm4qdPLFc2BGOucePlUxpXQCK6nx/aA00dqNPjTwgcwQ9xPAn H0rQNR39g6uCVqQbJyO3fwaf5/i+wEi7hEbdkCko5oqAhc2iOOYPdCRDJAmV2EuoWK0M WOexwyIODikjAKAIcFRTSNVdbkdyhYgYGbjPmGNNI780LSaaCO6+ZyyRKcHTHiRBn9ik TD9C2WfpyGeOCZhECvzCWaDgfo7uGlRzAW7qhRvjsrMdCzowfzPc/dhyGN4+f9giUMeo dhSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492077; x=1790096877; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=xjL05zRKIjgIZnaMYrtg7DzJZaQ9HoxCeRBWw/WDV5g=; b=N51NLkCTSzOSnAiX1WLhiKbx/AFW+ebcHCSfTsIfvBLA9KKZvcFMbtZfeqIYI56BtR oZA349/zIaX3PokQkfxwes/I6OzKgzBDVLHqsGuogypI0Le2MXh+X5lwSF8oGSzwK4UU hGcohjK+Yxn+7x58ecO4Od+m047inq7zzqAeXyol9SC/BjDMyRhEm5qcnDjAr6prX7Yv +k09gdjqmT0qwLf/Yitiq4x7ABx0uAyNLhkGtPdbHM9Epu2KZODfV3S4kzFtMmH5VMvI mnFUcHi9rwSkzxjEBYhgrrb4ziyAmSwK1HnZjCPYPE22DKURQPk6jLC8zVmXflNh0pri JUVQ== X-Gm-Message-State: AFuF++ktTp9tBMeuVZ8IJQnIcV6sr3vwVRinnz4/7v9PmQqYZuKXJ3JF voVFb1RLBy1oIORmL9hLk5i65xikXwqYSPEBhx8dhQ4H5KMwWZobjsI1IOGpQyOnamZGECUPCs4 Lt5LkTnc= X-Gm-Gg: AYBFou3BcDKFgMWDDLugqKFWyzmGh9e4trfbt4u+OOyXJiJ6m3XBFuilcsfXMYZIZPV eqZ68JRRNJccjLaJg7FzLk1BEQsPlzRX+c0E6kHb38zM1SfEdFFI/H+yOwiIgMYcJvOQZtQFAGY QnB5W2oZW4Iucx5trOXtsgZ3KvxWIvOJu7ppa6GSYQCm/fZGrkWJhVyRKo2h3Brc+sdh6GNbnj2 oD8Gss/GqIifJ1BBt78rpc0BbZOqpTTO90slgzfm6lXiXuBtzraDkOoGM0VaxHYoTVBLVuvay/G 0Z2JRdOeSHGRxgU8D47CO5Zspw34/l8hGjjt6cHRlMCEvcHsRRVhMYZEoRF4JNmvTwneeDDIIWT PMxY3HPMJW5OyxeUbdzInoG8dN43KviA/E8ntQf8FsjzT8regg5FPlwxeermYZapeUmVNQbWHul N3foEarKwXgIt0ws0cARoCfaRWF4R5QnOGn9zA32s5RfpYox1maH8xejlSvEXFcsHm4eJ0oZmHl 36HJZMnA5cC6w0v0kR4UQzHKv4O9U70nTzj2TeM+20wMuKLvI3As62VCHVGGvG2gm2qoLooWDG9 PdPc X-Received: by 2002:a05:600c:3548:b0:49e:6e7c:d895 with SMTP id 5b1f17b1804b1-49e822a8fccmr23207045e9.26.1789492076772; Tue, 15 Sep 2026 10:07:56 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/20] target/arm: MPU - limit regs RBAR/RASR A1-A3 to Main Extension Date: Tue, 15 Sep 2026 18:07:32 +0100 Message-ID: <20260915170735.425445-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::11; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x11.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492128456158500 Content-Type: text/plain; charset="utf-8" From: Gilles Grimaud The alias registers MPU_RBAR_A1-A3 and MPU_RASR_A1-A3 (v7M) or MPU_RLAR_A1-A3 (v8M) exist only when the Main Extension is implemented (ARM_FEATURE_M_MAIN). The current NVIC decoder groups the principal register and its aliases in the same case fall-through, so once the PMSAv7 path is enabled for v6-M (or the PMSAv8 path for v8-M Baseline) the aliases become incorrectly accessible. The fix reorders the case statements for the four locations (read and write of RBAR and RASR/RLAR) in hw/intc/armv7m_nvic.c. Alias cases are placed before the principal register case with a fall-through and are guarded by a test of ARM_FEATURE_M_MAIN. If the Main Extension is absent the code jumps to bad_offset, causing a read to log "NVIC: Bad read offset" and return zero, and a write to log "NVIC: Bad write offset" and be ignored. The principal MPU_RBAR and MPU_RASR/RLAR registers remain functional for CPUs that implement the corresponding MPU. Suggested-by: Peter Maydell Signed-off-by: Gilles Grimaud Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/intc/armv7m_nvic.c | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c index b1d27dfb32d..51d3dba8525 100644 --- a/hw/intc/armv7m_nvic.c +++ b/hw/intc/armv7m_nvic.c @@ -1382,10 +1382,15 @@ static uint32_t nvic_readl(NVICState *s, uint32_t o= ffset, MemTxAttrs attrs) return cpu->env.v7m.mpu_ctrl[attrs.secure]; case 0xd98: /* MPU_RNR */ return cpu->env.pmsav7.rnr[attrs.secure]; - case 0xd9c: /* MPU_RBAR */ case 0xda4: /* MPU_RBAR_A1 */ case 0xdac: /* MPU_RBAR_A2 */ case 0xdb4: /* MPU_RBAR_A3 */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + /* These aliases are not present for v6M or v8M without Main */ + goto bad_offset; + } + /* fall through */ + case 0xd9c: /* MPU_RBAR */ { int region =3D cpu->env.pmsav7.rnr[attrs.secure]; =20 @@ -1410,10 +1415,16 @@ static uint32_t nvic_readl(NVICState *s, uint32_t o= ffset, MemTxAttrs attrs) } return (cpu->env.pmsav7.drbar[region] & ~0x1f) | (region & 0xf); } - case 0xda0: /* MPU_RASR (v7M), MPU_RLAR (v8M) */ + case 0xda8: /* MPU_RASR_A1 (v7M), MPU_RLAR_A1 (v8M) */ case 0xdb0: /* MPU_RASR_A2 (v7M), MPU_RLAR_A2 (v8M) */ case 0xdb8: /* MPU_RASR_A3 (v7M), MPU_RLAR_A3 (v8M) */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + /* These aliases are not present for v6M or v8M without Main */ + goto bad_offset; + } + /* fall through */ + case 0xda0: /* MPU_RASR (v7M), MPU_RLAR (v8M) */ { int region =3D cpu->env.pmsav7.rnr[attrs.secure]; =20 @@ -1892,10 +1903,15 @@ static void nvic_writel(NVICState *s, uint32_t offs= et, uint32_t value, cpu->env.pmsav7.rnr[attrs.secure] =3D value; } break; - case 0xd9c: /* MPU_RBAR */ case 0xda4: /* MPU_RBAR_A1 */ case 0xdac: /* MPU_RBAR_A2 */ case 0xdb4: /* MPU_RBAR_A3 */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + /* These aliases are not present for v6M or v8M without Main */ + goto bad_offset; + } + /* fall through */ + case 0xd9c: /* MPU_RBAR */ { int region; =20 @@ -1943,10 +1959,16 @@ static void nvic_writel(NVICState *s, uint32_t offs= et, uint32_t value, tlb_flush(CPU(cpu)); break; } - case 0xda0: /* MPU_RASR (v7M), MPU_RLAR (v8M) */ + case 0xda8: /* MPU_RASR_A1 (v7M), MPU_RLAR_A1 (v8M) */ case 0xdb0: /* MPU_RASR_A2 (v7M), MPU_RLAR_A2 (v8M) */ case 0xdb8: /* MPU_RASR_A3 (v7M), MPU_RLAR_A3 (v8M) */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + /* These aliases are not present for v6M or v8M without Main */ + goto bad_offset; + } + /* fall through */ + case 0xda0: /* MPU_RASR (v7M), MPU_RLAR (v8M) */ { int region =3D cpu->env.pmsav7.rnr[attrs.secure]; =20 --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492160; cv=none; d=zohomail.com; s=zohoarc; b=Usx6+MKBFRzpGBts907JoWbQalUKoFFdHVMGZsFKfKwyvz4N2W8cKS3H/HyiNTeyK8MXb8SSlh4AO6N6F1qxlGJD2H/KbiqowdNXffkvAYIWeQXfSxEX0IOZnOUgaQgQkVcGVN/Wn53muc9tK+5oPud/aq7xYj0A5Pi0gnmzw1E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492160; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=kCE8k+/UZDCtGmNbg0+Gvk3yCe4b3Qh+CMNI9XhTgDc=; b=eW9PEhDZcgc8bDj5+JMju6LXlrli3HInOibonvoeQJulD1mdy4Pxfc0ddjpXo2y6QT15fq7+lqqe1/7ltSWVYVjdn0+exR1Gj+rbuPqBhY2SgM5lLOTvj2uzJsUIGt6SxDkN5QgOB+YumcUOuPqqpuBWi/DaptlucxGCJ//Qt+M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492160923542.3384116459788; Tue, 15 Sep 2026 10:09:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6WeV-0006Vg-JW; Tue, 15 Sep 2026 13:09:03 -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 ) id 1x6WdW-0005WH-Bz for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:08:02 -0400 Received: from mail-wm2-x10.google.com ([2a00:1450:4864:31::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdU-0003YL-MQ for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:08:02 -0400 Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49b912d391aso319425e9.2 for ; Tue, 15 Sep 2026 10:08:00 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492078; x=1790096878; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=kCE8k+/UZDCtGmNbg0+Gvk3yCe4b3Qh+CMNI9XhTgDc=; b=yxayiEldI8PmQXCA/1BOIk0KCnxoOEJZq7IuOybPDPo5EhvWI3GHM7KZIQpvVPPQQX bxXEcYKF2+jbOZifkfI+CloOilAHjWOAxBUnDNN0FibigC5MKGMzyOj5acyuJu+5t6+c FZ/+/RWFbym1Msdr/v2H0m64BTZET0BtMc86k3tb2dkjrwkkPX70wsAirpRobN/nQ1lG RtxMUphYR4hQoDFJHNfug4XSxOyhFD70e+3qauTx4v83EgJ0y02qRWuzZ62Z+5232MNK TNgfpN+GcPtvaBCMXLtk8jwUfIH63OmmNwC0Knb4hfvuiRFisZHhaYXHrQpQqDmodwNk aEcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492078; x=1790096878; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=kCE8k+/UZDCtGmNbg0+Gvk3yCe4b3Qh+CMNI9XhTgDc=; b=hyx6HLKUM/HVXjN2z+GF6RbhyFy5suAhpfrEu7TKbXiiHcw3Nm/dkLYMqaupjEgyuf ElVd4h1TVDppL1957rD1iRg22pjeKEpwzFEp11s40NPPe0glnLIHaE8WtMVQqo4i3vqM w923jXKxOal8mTCrb8GkXUjaDKspeiKK2FBa/QNR13hoJxtMSdFMmTUT94iQltzhuDEA vqvyT62in0h9Ss1EyxMCXrnb4w0yqKO7QErx28QNFaTDGQLBK8uORMpJNq0+dFaHq1tL fsF/OTveuTPhREpaJzwJbjtsj7h8sMAoYLqVXSvpRhJjk+TEhQFGnCvACW1/Yw9/uD+3 L5Ow== X-Gm-Message-State: AFuF++mWW7LpVR90vF0AHL8wPYzeEbNtLUSLF3fU4huQ4tVP5W5qg1lL duqkQV5dFklVe6tvsOIYRMKsr51cpb4r5MIKOWK+hvhlZxadYE/gdUoIudzpViKbo/+ApPdMOZU 67lr2wBk= X-Gm-Gg: AYBFou2JgC46WFtTKCBuThz6wmkOdjjLzmqKMJnAPbJUkzTZPURe4DE/3fMG7/OKZGV 7bqk9cvv53iqIFI9CIhb2gO/N0RVzI4oOFuZjh9GLdwkRCHA+5cFV7SAsFhBRVZuneiJMSk0yEL W01nuEtBTW1aqGXmW7sSoqZJpYyczYyFao8eT1u8pJOMZn2N0F7nfOLg7HvhlijNH8EdB0NbgVE f+EDB3RM8qgxT+yzIpTTzVDqojWTt/Cp4uYo01rR8ygXFlWcXFr3dJqs1Z0A/aGirL6c6YPFU+t JqvlmwmHq497hqs8gR292OSZLrA3BDwgZ/VAbFarfkFBCybVoMLnixCrSnXYPOP3jl/FtPzWGBq 67/Nv0W/aljNidGSxAnRKmLyzpIPG1US6LgDIScSelh6nRJp43Lv0zCazSEL38+XM5jeMY5LwC3 ztrHjChNZGF3h7RGxdtLOIySzf2bBeP5ECUSeDYEF/qs48ZxjctYiLJbpd2aUSDArlmx5Zw7M6b iyr/BkRfsrKWIw3IDB6KC3Ww+TH3lrQfkllDSVSogposexk3NIrhR8CiZ91FTW0UkJACeEPBZkx leBH X-Received: by 2002:a05:600c:4ed0:b0:49c:fc6c:be14 with SMTP id 5b1f17b1804b1-49e82268adbmr24105745e9.26.1789492078360; Tue, 15 Sep 2026 10:07:58 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/20] target/arm: MPU_RASR: mask TEX bits for Armv6-M Date: Tue, 15 Sep 2026 18:07:33 +0100 Message-ID: <20260915170735.425445-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:31::10; envelope-from=peter.maydell@linaro.org; helo=mail-wm2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492162551158500 Content-Type: text/plain; charset="utf-8" From: Gilles Grimaud Keep the existing mask (0x173f) for CPUs with ARM_FEATURE_V7, and use a mask that excludes TEX (0x1707) for Armv6-M. PMSAv8 is handled by the earlier branch and is unaffected by this change. After writing MPU_RASR on an Armv6-M CPU a subsequent read returns zero for the TEX bits; Armv7-M behaviour remains unchanged. Suggested-by: Peter Maydell Signed-off-by: Gilles Grimaud Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/intc/armv7m_nvic.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c index 51d3dba8525..4136c91f235 100644 --- a/hw/intc/armv7m_nvic.c +++ b/hw/intc/armv7m_nvic.c @@ -1996,7 +1996,12 @@ static void nvic_writel(NVICState *s, uint32_t offse= t, uint32_t value, } =20 cpu->env.pmsav7.drsr[region] =3D value & 0xff3f; - cpu->env.pmsav7.dracr[region] =3D (value >> 16) & 0x173f; + if (arm_feature(&cpu->env, ARM_FEATURE_V7)) { + cpu->env.pmsav7.dracr[region] =3D (value >> 16) & 0x173f; + } else { + /* Armv6-M has XN, AP, S, C and B, but no TEX field. */ + cpu->env.pmsav7.dracr[region] =3D (value >> 16) & 0x1707; + } tlb_flush(CPU(cpu)); break; } --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492147; cv=none; d=zohomail.com; s=zohoarc; b=k6SOnNpNXsGWlN3tGbXl6r7yAMg3ajO/KdRnYOKwLgYK9Ziwe68jrfcMj/Z8O3HtM9b21o9BqHo7tvScmqo336hyDmqOyvXmD5zMFQ+3T1ILW3kpM78CQIMh6PLDT++v2nVPnO956giWaGTGxYJBcUkYUl8n1EWcSgi+f6uXXX0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492147; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Oh+Toh4lHF11EH3kFWZXvIijcF+VH8V1fVA86Y8W9KI=; b=FypwiIQK/pKLk7UpVJSqpbErM0cOLvV/pdQQUqZUxLHcb4YUb1dcOpUCWhl7iutrFeIDElZSsDfA9Phbl6+graVcKFlwkRlPQrN6SJSJXV5QMLNQQe5RbAk6DVAJq7rGtUIDB6iqNdC8vAvn9F5EzIl5INcLGIlv52fJ2YtwVZ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492147043372.9334500442279; Tue, 15 Sep 2026 10:09:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6Wda-0005YG-Ve; Tue, 15 Sep 2026 13:08:06 -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 ) id 1x6WdW-0005WK-CX for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:08:02 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdU-0003YJ-Mk for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:08:02 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-495437bb891so8541415e9.1 for ; Tue, 15 Sep 2026 10:08:00 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492079; x=1790096879; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=Oh+Toh4lHF11EH3kFWZXvIijcF+VH8V1fVA86Y8W9KI=; b=eND6UvLwLgF4f66EoOCnsu+qGZi2YBbOREXY8hRoZ03/L5IGZidDXi8xu3epCktDTB Ag/biOELvhNV93hW8F6CmyeEddyxzvAu0pw+jjJg+IIJ4LHkJWUbAI+XSJqxVy6gbpcc CWtnc3634sA9KHpoMM/QZ1pu3tbL+lD90MxzCLHdGRRIJ+R30PZojMpbPYoH0gMowTNm 9cWXNtbFLQf23E7jcYgXCdaDUIQYr81R/jT1YMNYoi3muHLygsSN+K1z8zomiLcSHICJ LtUwwZD/uygEBDEQ32V1SqzHHCYFgudrb5s1wmtuyEY+N+YiPKMPA7CLG0rxfiuFMXsj oyaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492079; x=1790096879; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=Oh+Toh4lHF11EH3kFWZXvIijcF+VH8V1fVA86Y8W9KI=; b=zDFZtn08PENq8tNCb8+nVJ2Zu9oWR1/oaR1olGWjhsBJ5ZepmplHCmkoz3WEyJ1xx9 IS4ok5UKJIjRxh0TVy+SKZslGmpNFkF4Iwlmoxax32hcYw9WCpltJCuYxNmAew254uq/ GqMudbn1W/+MAvo+Z9MmjWDP4x29SA4dj1qSDkPgDmp7dzbU7GQTqE0+Viqtm/uW9EVN se2QHGWlCFpYSfGwrh77wzMafU/KB3gxlifuZfuMwt6aIorrrt+VNMXjMm5Kik7JeqP3 9FAzOgh5KIzc+AOVUR0LiO2SZwztGyqU2ExxULEY5Uqy4hhMN8VS9UPJ70Q5so7n1qED xAFA== X-Gm-Message-State: AFuF++k08Df7YuodfvolbY4SFxA/NGcQvFv+X7E5gP2giBaPdRY9HX8J aJklaJhuUZ2FsxptLP2pWnV4qi+ZStE6oMydeZ5n70WNKCC6U91mLMfOEbMGqbBpUAYI5mY1HCD BusOoMVU= X-Gm-Gg: AYBFou2g7sGhrctN3yjX7LpwPOAsKx98drhKTYy0DGFNMb/nqe8T2FwU1aLUDgnjP8K AwmfNaNpnEAc3On/wGPWIAwjyCezUyQI+blGfuWlj9Fah5lryPrLICvgxQs4ez5R//vZqTOZ3li OTin8VbHbY7xNa3LWIJ35zxJ8EDtZCX6B0rXKSfliHiHE4TZouoJWWSt8s4hLsISRLIdx/QGD6C fohI1o4Wr/JfqWZkimEWr6C8eKYUXDEhOcIewSPKDwmyqJ7Z0Wjvq44HbFlj5yiEXZk+UUQHHFN oTO1QYnHxuIMQ/5HtDHrtEMbj3VfdTjU9XDcu+/UV+pcxAvKXDHPDAMtlHtyCPT2LFAvAdwxM8S NOtmd3QxAYV+CF5mcJcuZuudcIdiyWMdTGwngICxTvjpGSvX0DAtGyX6CYfLPS4N+EJyMlTfAXD G5zjof3K5aAtX1nnuKmiBLrmORsL3TF2n8e1QiAPJYnrH1BRw2maJZhDoAv3XaOSUbU3Cun0sbV ik67Pc3i/gJuP0F6aaAhYjXOf3DI49qg21gj+l6VpgZbisBP00mzxykMiEFxY72w9YmLETwpJZA oV6PIQ== X-Received: by 2002:a05:600c:56ca:b0:49c:f13d:ffeb with SMTP id 5b1f17b1804b1-49e7d757c18mr53184305e9.15.1789492079231; Tue, 15 Sep 2026 10:07:59 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/20] target/arm: fix MPU SIZE min for v6-M/v7-M/v7-R Date: Tue, 15 Sep 2026 18:07:34 +0100 Message-ID: <20260915170735.425445-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492148831158500 Content-Type: text/plain; charset="utf-8" From: Gilles Grimaud The PMSAv7 walk accepted any non-zero region size field, but Armv6-M requires a minimum of 7 (256 B), Armv7-M requires 4 (32 B) and v7-R retains its current minimum of 1 (4 B). Introduce rsize_min based on ARM_FEATURE_M and ARM_FEATURE_V7 and reject smaller values. The PMSAv8 path is handled earlier and remains unchanged. Suggested-by: Peter Maydell Signed-off-by: Gilles Grimaud Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/ptw.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index a29de0385f4..cb9e73fc0ad 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2720,6 +2720,11 @@ static bool get_phys_addr_pmsav7(CPUARMState *env, ARMMMUIdx mmu_idx =3D ptw->in_mmu_idx; bool is_user =3D regime_is_user(mmu_idx); bool secure =3D arm_space_is_secure(ptw->in_space); + uint32_t rsize_min =3D 1; + + if (arm_feature(env, ARM_FEATURE_M)) { + rsize_min =3D arm_feature(env, ARM_FEATURE_V7) ? 4 : 7; + } =20 result->f.phys_addr =3D address; result->f.lg_page_size =3D TARGET_PAGE_BITS; @@ -2748,11 +2753,13 @@ static bool get_phys_addr_pmsav7(CPUARMState *env, continue; } =20 - if (!rsize) { + if (rsize < rsize_min) { qemu_log_mask(LOG_GUEST_ERROR, - "DRSR[%d]: Rsize field cannot be 0\n", n); + "DRSR[%d]: invalid Rsize field 0x%x\n", + n, rsize); continue; } + rsize++; rmask =3D (1ull << rsize) - 1; =20 --=20 2.43.0 From nobody Sat Sep 26 20:51:10 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1789492146; cv=none; d=zohomail.com; s=zohoarc; b=OPplwvdD7/pEpmp/ityl5FRnYA1pnfJdSevDkA25G44qAlcUeCs9rpCY3d3QPipnRaJwdm8xV7SNpscTXkxQwbNLucFEbCkLba3OAxE04Ed8fcktFgrzc2tDNQtyJMyiEXBE2UKYFOYR+rH/dFJAuMvrNcUI76HS9mcJHiopsCs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789492146; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=LRH3b8482DZ2qTZr1l8vvVhFgp01fVVHG2VpejOl0go=; b=ab8i2Ag0jCq5TnyuWY2wL97aWuPZnfABisRwKNj/UPn3V0nH3mo+u2K3WFn6NP1gH/O2PQbSM4QGrunW4A2XPtX5PRPDz2kcnlsha4QxVCyoECCuFHxhk0L/M9UFXFOzG9kDCpvMAvHySymyKdwOdJTDUHnlkc8wdjBdULH/yDo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789492146609712.4068838241501; Tue, 15 Sep 2026 10:09:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6We3-0005kP-Ti; Tue, 15 Sep 2026 13:08:37 -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 ) id 1x6WdX-0005Xc-Fp for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:08:04 -0400 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x6WdV-0003Yh-I6 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 13:08:03 -0400 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-4834977ae75so1994257f8f.3 for ; Tue, 15 Sep 2026 10:08:01 -0700 (PDT) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4870bf33e01sm431826f8f.23.2026.09.15.10.07.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 10:07:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1789492080; x=1790096880; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=LRH3b8482DZ2qTZr1l8vvVhFgp01fVVHG2VpejOl0go=; b=ao4bLV0CLpxgQ9kUbu1J1jyBJm0FuP8bRmG+cA2aj2gM2wYs7plbFjGwjYMYzGKEwJ fSJBbhjU/PwLE411GouT40BOyx6VbruZjndhNmJOL2uQoLHyiIwgoJEb76pMx/tEK1pa aIaGJnIeItsJGHG9POnBUbOPBI5PMiBtgY/t8GruTVwsLm7Wgc2GTYwXbKsSlTwmGVUp rTqyrPdrYne5ZyqIjvEyWHpqTHV02P7ghaMd3sQrl+HazfveWZZyC07QwAUHXn7hQVb4 Qyksq1tOhyJGroyRiwHh46Uy4ll5yaQ2sv72t7/44Hwgael3bUdNqJGNKwtU7DpXbwaG loaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789492080; x=1790096880; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=LRH3b8482DZ2qTZr1l8vvVhFgp01fVVHG2VpejOl0go=; b=Q1R7TRiMz4aO/NOe0DOx2frT1KawA4zSC07VimqHm+ujsVruQlAENGFOmu0AK8KHZO KqXxzZEGd4DmWdcJG78EdsvKArYja0Am094b6WECKF/rUo7k40uqsYM28Tdod79jV7yO HyAYwjJWVGKojW5eaNvENJd9uFnO50jdEJz5pxxCxek/veCJk8xh5kCSW5C8QVFqxXEr 7a2q1Q8j00tX33jdhtQWoDIxoun+yzz+BjHYmiMFpTySTuYt+augrSMLSTklcVMwTjTe Jm9P03tsIDze24HnvZULG60XxK+ElVqRGaq4OBy8wjDMXI7yWXLTqpbKDfDM12HZP0bC M+Hg== X-Gm-Message-State: AFuF++laH/e3B++o24qkl0drk8OaVpCJKAHLtj0+RZ8KTaBQ605sCav9 5eSrnR4A3cQTkuzJIw31CdMoOl5GlGL43JWxcSEkoSkh2vgK08h+Yw04lrR/h18cupJxXaIvw7R tvmmKJOM= X-Gm-Gg: AYBFou3BkwbxEJ7XMV/ca0tiJx5iPlSbpVKg2C42EDbeR4VktEnlJKADSsUibV1In+s D9i4b5Hb7zsKsF/geAkPTBgpL6p3UAFgEq0qP2RmneJEkt4ImzzMQ+mI0bJZdL17yXglCFRuhpA N4A9nAZwZCA4fydUOFPdUEkni410R55dHvlDo72v9/PAesok5bn6XyHWNrJVG5cMeRdPpOIxg/b /9bllpbsyk4A0YTdXOVNuJ7iFL4r2z9/zvN+sftCULAoN0J89cbXyG9qhgng5URX59cgp4agyMn M1EF2HYxMLVGFZpbAMmMhxeqml+Eu575wI2gd5cqKvAIkPKq7rlQxDLIAPHOGaepPOD/b06igJH CeBHxSxyM8S76SrZ9AbiH3dU7QQNzLmw30FPLKXFSgOMFzYD7zar55UCLILj/f810PxURb2zan9 LO5DS8QPu3aMQKNTSp0RA+jzuhzzJ6bXjchnq4yNLCKy/0ESttcNZNmOlnidafu6pj3ha4ufGNz TvI7VCuU/T5uBjePd9DULqveKm2lZF4LPY/aCdhKULcD4CZ/WC9x5qDTQGsWc+BIySz3SGeG87q nKf4 X-Received: by 2002:adf:e014:0:10b0:487:71d:e878 with SMTP id ffacd0b85a97d-487071dea3dmr7738378f8f.2.1789492080126; Tue, 15 Sep 2026 10:08:00 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/20] target/arm: extend PMSAv7 support to v6-M CPUs Date: Tue, 15 Sep 2026 18:07:35 +0100 Message-ID: <20260915170735.425445-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260915170735.425445-1-peter.maydell@linaro.org> References: <20260915170735.425445-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:30::10; envelope-from=peter.maydell@linaro.org; helo=mail-wr2-x10.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1789492148799158500 Content-Type: text/plain; charset="utf-8" From: Gilles Grimaud QEMU conditions PMSAv7 storage, reset, allocation, the pmsav7-dregion prope= rty, migration and address translation on ARM_FEATURE_V7, which prevents the Arm= v6-M MPU from being used. The checks are widened to also accept ARM_FEATURE_M wh= ile preserving the PMSAv8 path for v8-M CPUs (PMSAv8 is tested first and the migration vmstate excludes v8-M with !ARM_FEATURE_V8). This lets a Cortex-M= 0+ declare and use its MPU regions without setting ARM_FEATURE_V7, while v8-M = CPUs continue to use PMSAv8 storage and migration. Suggested-by: Peter Maydell Signed-off-by: Gilles Grimaud Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/cpu.c | 12 +++++++++--- target/arm/machine.c | 3 ++- target/arm/ptw.c | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 77aa78f00e2..f58a1db843a 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -617,7 +617,8 @@ static void arm_cpu_reset_hold(Object *obj, ResetType t= ype) sizeof(*env->pmsav8.rlar[M_REG_S]) * cpu->pmsav7_dregion); } - } else if (arm_feature(env, ARM_FEATURE_V7)) { + } else if (arm_feature(env, ARM_FEATURE_V7) || + arm_feature(env, ARM_FEATURE_M)) { memset(env->pmsav7.drbar, 0, sizeof(*env->pmsav7.drbar) * cpu->pmsav7_dregion); memset(env->pmsav7.drsr, 0, @@ -1656,7 +1657,11 @@ static void arm_cpu_post_init(Object *obj) #ifndef CONFIG_USER_ONLY if (arm_feature(&cpu->env, ARM_FEATURE_PMSA)) { qdev_property_add_static(DEVICE(obj), &arm_cpu_has_mpu_property); - if (arm_feature(&cpu->env, ARM_FEATURE_V7)) { + /* + * QEMU's PMSAv7 state also models the Armv6-M MPU register layout. + */ + if (arm_feature(&cpu->env, ARM_FEATURE_V7) || + arm_feature(&cpu->env, ARM_FEATURE_M)) { qdev_property_add_static(DEVICE(obj), &arm_cpu_pmsav7_dregion_property); } @@ -2332,7 +2337,8 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) } =20 if (arm_feature(env, ARM_FEATURE_PMSA) && - arm_feature(env, ARM_FEATURE_V7)) { + (arm_feature(env, ARM_FEATURE_V7) || + arm_feature(env, ARM_FEATURE_M))) { uint32_t nr =3D cpu->pmsav7_dregion; =20 if (nr > 0xff) { diff --git a/target/arm/machine.c b/target/arm/machine.c index 7005f4e5d77..53a2734d25d 100644 --- a/target/arm/machine.c +++ b/target/arm/machine.c @@ -584,7 +584,8 @@ static bool pmsav7_needed(void *opaque) CPUARMState *env =3D &cpu->env; =20 return arm_feature(env, ARM_FEATURE_PMSA) && - arm_feature(env, ARM_FEATURE_V7) && + (arm_feature(env, ARM_FEATURE_V7) || + arm_feature(env, ARM_FEATURE_M)) && !arm_feature(env, ARM_FEATURE_V8); } =20 diff --git a/target/arm/ptw.c b/target/arm/ptw.c index cb9e73fc0ad..f537502d3b1 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -3908,7 +3908,8 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, /* PMSAv8 */ ret =3D get_phys_addr_pmsav8(env, ptw, address, access_type, result, fi); - } else if (arm_feature(env, ARM_FEATURE_V7)) { + } else if (arm_feature(env, ARM_FEATURE_V7) || + arm_feature(env, ARM_FEATURE_M)) { /* PMSAv7 */ ret =3D get_phys_addr_pmsav7(env, ptw, address, access_type, result, fi); --=20 2.43.0