From nobody Sat Apr 11 23:03:21 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=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1772597482; cv=none; d=zohomail.com; s=zohoarc; b=EtPiIOSx0Rd/PKeCdstSTWye1Rd+f5JEYnumV3l8DsHl2febA5QL+vu/2Jxb4vqSZxB4xSlknORAwqjyDVUSr7sKQIxZouhDFv52nDHrEtK2Awi0eoZyF0H/UlYHG1lLMJzeysPif3Amkwz6lo3biUWZ6q4QftdJ4tjpCWJy+/A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772597482; h=Content-Transfer-Encoding:Cc:Cc: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; bh=xHQb9nF8X8TllKNDQj/dUc+CSrLWcSUS93cO4vXTxRY=; b=E5CAW3TtHcgMmxkG39/+bhlSLB93LaAOTAni7T7hNrVmyEiMh9aFJruDOJheYjNGvxQa54bxY4PoejqoCzR3jZwjPMsHSZGV/paBXllr2pB6Lg3H/RGpF78iFLPlDkJrmGllXH+S3TSdxWJ5h6Z7YDf0RWCLn8GPjC5SODoMLOw= 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=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772597482492543.1761590145907; Tue, 3 Mar 2026 20:11:22 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxdYw-0000G8-OH; Tue, 03 Mar 2026 23:10:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxdYu-0000FA-Hu for qemu-devel@nongnu.org; Tue, 03 Mar 2026 23:10:16 -0500 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxdYq-0003Py-0H for qemu-devel@nongnu.org; Tue, 03 Mar 2026 23:10:14 -0500 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2ae4d48dc2fso13102905ad.3 for ; Tue, 03 Mar 2026 20:10:09 -0800 (PST) Received: from jchang-1875.internal.sifive.com ([136.226.240.169]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ae54136b28sm71058815ad.73.2026.03.03.20.10.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 03 Mar 2026 20:10:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772597408; x=1773202208; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xHQb9nF8X8TllKNDQj/dUc+CSrLWcSUS93cO4vXTxRY=; b=CZL1uTXkYNRccKiaettQS6aWf8DIdDqI3TuaiZng2YX2sdq7xSSxeoXDImAeZENBob 1s+c3BnFbGd8LPG2u96YUlTtSL2okVdvl3EOyqMK2fJFDjp8bfhAbKm722Mkhf7hevJS ftBfwB1vAmBrsvGRtVig0jOiY49oV269BcRsPxPHMlsznTIOuUcdmk46H7+BQqm9m/N4 0kZkDK2VKVYsE3KuETQqe6rpcJfSGBu5vFDNEJmcMkktapkKH+F4/l3doau45Nk88bzR nn4Bums0xN9iY7QBh2M2qsjYThFKwxa3ftA8d7fhgMgdxWzvjb8QnlQGtGmhlkl9lQrw YE9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772597408; x=1773202208; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xHQb9nF8X8TllKNDQj/dUc+CSrLWcSUS93cO4vXTxRY=; b=OqEJr6ZBvlN1KAV5+nX44MJ9yyZ3MKdWBm1gKlBMWIwxp7RagiDZknRRSWiatiqUgh La0tRs9Fpqe2CLgwz+Q/+7xaRAmf0jPvwryy5WNWvf+Jrnf9tkD+gYkx973FGFCIfJrJ kC8EHIo7fTE/ifTnVG8/cHe7lTwiwpj2TMs6ILv6wGFuU4S7bgodXUgUwQoiCMar/Z6Y FddzCGjtllfLXr1ma7mcVubKmX8YYuwaJ3gK7dZAVFCbkoY2wChBvPAwvIGQPlYRWusO gIhVoREQcNftwVG5Plvwb2UFvvWhp7w7h923sTbVUItXReqtyDdBUZ4pHHdCkic7vwGY p2iA== X-Gm-Message-State: AOJu0YxYnq4339m1vZt+kPDeEyLJ8aaCdmJGS7sXSUeyoQK1bi6Mh6y9 YilzvPj858mZ/MbjH83iNduYC3VaROJaZ8hKEvPBwSwSf8wucD4jQDNcqrWR9tMqnnfCALqYqI1 tlCjmyLDRs+RzFjQjdAlmw5l4pruJrHCurK5Bt5r/Q/hcM0NzjlgUbU2BG4QMCxnWHw5K5+QX2+ eAFYuHXV2DSNEdMbtqU5JF/8cLyI+wElwWMS9MyL1aaWE= X-Gm-Gg: ATEYQzwC7/n56ZsXxVurD1Q9CwjpgDBxFTfjh2KpPMvRIxvbcMoAvhc2mY3NxuugGIp HobLfk0rTBN6/JduJFsBiV/DZ7fLmLIkltoAC4L6FvTvf3DE9Ir6RjtNwDxdH6ek19yi5o0dsO3 hz5NqIvMzJMXsbq4SKDpQUnJ4V5w3F72GlzASKTYOwrJRONgpOOGy6iNdwavUhylp97Ah1q0vtx CjOw0Mdm7B0zX6g7UbC1D09NqHFbl71bROSqB7QeVFIgmyFDqY38Yfj7uhKmt0l5AoHKBbC78v+ I3fFE7Z7RGqew0WV6+a1BWl+ieGozpttPFcMtag6TTxGpLKtJRoNER9PcMIsMtu1a/G4kapsHNb 0tqSVo0glJBFJoui0E4UnoBlTO7481o08jeUE55rm7nmftUbgWJHVug8tc0XyYJNGhW1ZERmr6/ /3C1Pg7HT4Y5HecqOpH+/SyLUV3QKdU04PjJzR7jr8ze0lejq9fY9fZaSaZmDowg== X-Received: by 2002:a17:903:1a43:b0:2ae:55bf:eac1 with SMTP id d9443c01a7336-2ae6ab9e443mr7985535ad.47.1772597407601; Tue, 03 Mar 2026 20:10:07 -0800 (PST) From: Jay Chang To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , Jay Chang , Frank Chang Subject: [PATCH 1/2] hw/riscv/riscv-iommu-hpm: Fix irq_overflow_left residual value bug Date: Wed, 4 Mar 2026 12:09:58 +0800 Message-ID: <20260304040959.47267-2-jay.chang@sifive.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20260304040959.47267-1-jay.chang@sifive.com> References: <20260304040959.47267-1-jay.chang@sifive.com> 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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=jay.chang@sifive.com; helo=mail-pl1-x631.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=unavailable 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 @sifive.com) X-ZM-MESSAGEID: 1772597484608139100 Content-Type: text/plain; charset="utf-8" Reset irq_overflow_left to 0 before setting up a new timer. Without this fix, a stale irq_overflow_left value from a previous timer setup could cause incorrect timer behavior. Signed-off-by: Jay Chang Reviewed-by: Frank Chang Reviewed-by: Chao Liu --- hw/riscv/riscv-iommu-hpm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/riscv/riscv-iommu-hpm.c b/hw/riscv/riscv-iommu-hpm.c index c5034bff79..e8d284ac8b 100644 --- a/hw/riscv/riscv-iommu-hpm.c +++ b/hw/riscv/riscv-iommu-hpm.c @@ -228,6 +228,7 @@ static void hpm_setup_timer(RISCVIOMMUState *s, uint64_= t value) } =20 overflow_at =3D (uint64_t)qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + over= flow_ns; + s->irq_overflow_left =3D 0; =20 if (overflow_at > INT64_MAX) { s->irq_overflow_left =3D overflow_at - INT64_MAX; --=20 2.48.1 From nobody Sat Apr 11 23:03:21 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=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1772597453; cv=none; d=zohomail.com; s=zohoarc; b=L3fTo/nr0zeG0rTSbLqZlh9OHpwLjDw8hmxMSnBGA3wYXmyoBW0Qbr6ttTd1ghi/ThOBjiNemB9+wJoFr5Tp6e/ccZF16EZEr3dN0hke2T8SFY50jPZtUeMZZmPoofcwYtTyX9dzMoxT8QeToyZyCZXotebgGcFrQBeGX79R0YM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772597453; h=Content-Transfer-Encoding:Cc:Cc: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; bh=4jomXmSscZNe9sFySbh7BxEdoKVrZTFGKzEhn0haMsY=; b=jKMMu79OH1QkHST+xAgDWAqCh4KTpKT8moUsBvR6s8xrbTTT60JvumI7C9kq5l0+Eb70eGBMlpWWHJAE4Py3VHpE5PxNRYCxLCTiPFt6Apq1lO8M12Fq8n5Y0TcalYWIF1GTJShyP40DSzPrvec8r00V2bysoOw7nX9cenu+9vY= 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=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772597453908555.6145653825239; Tue, 3 Mar 2026 20:10:53 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxdYx-0000GT-Fl; Tue, 03 Mar 2026 23:10:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxdYu-0000FC-IR for qemu-devel@nongnu.org; Tue, 03 Mar 2026 23:10:16 -0500 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxdYr-0003QQ-5d for qemu-devel@nongnu.org; Tue, 03 Mar 2026 23:10:15 -0500 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-c6e248aa446so2540970a12.1 for ; Tue, 03 Mar 2026 20:10:12 -0800 (PST) Received: from jchang-1875.internal.sifive.com ([136.226.240.169]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ae54136b28sm71058815ad.73.2026.03.03.20.10.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 03 Mar 2026 20:10:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772597411; x=1773202211; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4jomXmSscZNe9sFySbh7BxEdoKVrZTFGKzEhn0haMsY=; b=Bio8yWAizMbpZjoGFTTfgbJ0tt/XNVaVnxDMGnboL8+NPLT/WbZYNTToh4BsHpqpA0 PedMdpp7d4oJ1LXCwDHZpCuANYkZcq9VJe9Rh5PGJxhkp9wSgxGViMdBj2rJfP7+FCRJ 9viW8hoQXswFmoJ0x535hv9aEbysw39JgqHc8FxUZyL/M3sZcermfbug7WqS2TzPH7BH CUs1oc2cbV9vav7JVkZT3k9Nlzx6Ni1evJQ/UUxDllPebPE0vZoXbcXo9Azsfw7cOyC2 LhnJNOxM4HwnWRbA77fzdOICJ5SuW8jlmVzu26R6/zVInjzxvNqNxqiI13MnN8ZERdFO bcwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772597411; x=1773202211; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4jomXmSscZNe9sFySbh7BxEdoKVrZTFGKzEhn0haMsY=; b=i7Srv3bgREVWsIPcBRc6f6tn2vL1K79YaE+Ay/vDczy9aS2UbK9UgDVy3QqafXRsvJ 9OP4fak3g5YDX+R+HIovzV6D9Fkr0MOaYYKzgq68KEAsncpJHZ4wVV7irFnNtkc7rHs5 GiFXD6kmObtzkAwp8RG/t7S3vtrYT4T2Uy9f8coAv2e1HDoha/zootsCQ83tYZ1HlWD7 iWbN96HHb1TTF0EfCRcTCis38rFGYAsJMcn8NZDfk/anH3pjlf/54Ul292kbkD0paAiP NLlajdrCuGgVHc13E5a9p0USnw7OIAftzMb85GL83VAeUTvCGj73GooSrrzAj6H06JZx S5xg== X-Gm-Message-State: AOJu0YxOyn4tMc9RvXzeA7OlySpTrfsw15CDiISGaiABTXXRBMszQGjL u4NislEfEY240QVAB7HJ/bRdb2vc+RvgwjHYjJuvWKCpKDUHo1tH15FjgpOq3a0cRIsk176OdGS 2WL4V5PpRl/JHuhWSW08EPq7mvLfbEarCeaZ2bggobgbwECciLrVU9sSr/nyikcUNS2kXO9Xqpx nm9UQqKDzmy1h7fk2uCZQF/0ApULcuMZqdtPjdk65qYSI= X-Gm-Gg: ATEYQzx7eXsuKbxZ4FJNolINU+6hRaWvoYKISx7YWEBN1ygaxtgQWKJxEkO2bc43RgW PaIDR0EG3x53NXrP5rlt6ykMVU0gJMoBdSB+FeNXVKWVvg8r1odd/2miCGEJ9kDmQgNnXDAKPY+ 0iQV14nJCXRmxz65uk6Bu5lcxXUHyAv7gS91cY3wWa3NOJDkSRwzyT0RPDf+eCGOj7TeCpJbDGp cQa9WDsXM4TlQZPqMEXx+YYoU2OCg7pO7ugt7Bd5P4vMDdz7UJnPFJ5AvBtWHWqvr4UZ5vrGiJp 8LghE8Yl47DQzmIiEYCNyIB2brAdXmVbWFvPhtmxQK83oca9GurQ608DDFJi3Y6D5n9N3+4Yjdw zRyclJjwFpRnzZ/BK4ZbJR1pQBZmdQH5pQSuZ8U3/jDrMFe2vNu7rHpibkyjjWHajUOAwmmboan y8anBSeYZE/5QfxFDXTiJ0lxuG5V5DSY4KwwMCWnS0T9IJkVQ7Ofk3iRk3aijaqQ== X-Received: by 2002:a17:902:e5c2:b0:2ae:54b2:27c7 with SMTP id d9443c01a7336-2ae6ab61f2amr8170345ad.39.1772597410992; Tue, 03 Mar 2026 20:10:10 -0800 (PST) From: Jay Chang To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Chao Liu , Jay Chang , Frank Chang Subject: [PATCH 2/2] hw/riscv/riscv-iommu: Add IPSR.PMIP RW1C support Date: Wed, 4 Mar 2026 12:09:59 +0800 Message-ID: <20260304040959.47267-3-jay.chang@sifive.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20260304040959.47267-1-jay.chang@sifive.com> References: <20260304040959.47267-1-jay.chang@sifive.com> 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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52c; envelope-from=jay.chang@sifive.com; helo=mail-pg1-x52c.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=unavailable 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 @sifive.com) X-ZM-MESSAGEID: 1772597457398158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jay Chang Reviewed-by: Frank Chang Reviewed-by: Chao Liu Reviewed-by: Nutty Liu --- hw/riscv/riscv-iommu-bits.h | 1 + hw/riscv/riscv-iommu.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/hw/riscv/riscv-iommu-bits.h b/hw/riscv/riscv-iommu-bits.h index 47fe01bee5..a938fd3eb4 100644 --- a/hw/riscv/riscv-iommu-bits.h +++ b/hw/riscv/riscv-iommu-bits.h @@ -189,6 +189,7 @@ enum riscv_iommu_ddtp_modes { #define RISCV_IOMMU_REG_IPSR 0x0054 #define RISCV_IOMMU_IPSR_CIP BIT(0) #define RISCV_IOMMU_IPSR_FIP BIT(1) +#define RISCV_IOMMU_IPSR_PMIP BIT(2) #define RISCV_IOMMU_IPSR_PIP BIT(3) =20 enum { diff --git a/hw/riscv/riscv-iommu.c b/hw/riscv/riscv-iommu.c index 98345b1280..610cdebac2 100644 --- a/hw/riscv/riscv-iommu.c +++ b/hw/riscv/riscv-iommu.c @@ -2153,6 +2153,10 @@ static void riscv_iommu_update_ipsr(RISCVIOMMUState = *s, uint64_t data) ipsr_clr |=3D RISCV_IOMMU_IPSR_FIP; } =20 + if (!(data & RISCV_IOMMU_IPSR_PMIP)) { + ipsr_clr |=3D RISCV_IOMMU_IPSR_PMIP; + } + if (data & RISCV_IOMMU_IPSR_PIP) { pqcsr =3D riscv_iommu_reg_get32(s, RISCV_IOMMU_REG_PQCSR); =20 --=20 2.48.1