From nobody Sat Nov 15 14:53:42 2025 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 ARC-Seal: i=1; a=rsa-sha256; t=1750697706; cv=none; d=zohomail.com; s=zohoarc; b=UKayxF3lKasPfDeI9iO06hZSmU9aHZQS2VlmcaKALxmgP9/8V7vhVptOGx9GaJTOArS0ma5GUL5TPq3of82PUUyXaUBbbjnd38+1W6xVuyZdv1D3zVXZUbLJaLPelt/Yn9amympr0H31x326I6RJyQB3NkGCwjKPT8pZnu5m/tU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750697706; h=Content-Type: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=FIb9TYrVuPtuI9Bb5j8ylfTFm18U5O3mg4bYirShZKU=; b=LP5Cvp5TaL+3jPTL/Glxe6YgTwWWUB51zcGPBMN5zyzc0H9JPHm/NaLkyVZ8TjF1PQq3G1S8eiZazt7CykqFBV2Nl82SLAzRTVnvtN3qctGJdbUbvdJKS6SCvfmaImRN+JD2Hlz5UVST1qfJR6MBxPYypLETI3uwaX7xNHDeYTI= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175069770693383.73134728581874; Mon, 23 Jun 2025 09:55:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uTkQw-0000sh-EO; Mon, 23 Jun 2025 12:54:14 -0400 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 1uTkQu-0000rB-8d for qemu-devel@nongnu.org; Mon, 23 Jun 2025 12:54:12 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uTkQs-0008Bp-5C for qemu-devel@nongnu.org; Mon, 23 Jun 2025 12:54:12 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-453442d3a15so2144015e9.0 for ; Mon, 23 Jun 2025 09:54:09 -0700 (PDT) Received: from localhost ([2a02:8308:a00c:e200:8947:973b:de:93b7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453755e7d1dsm33747445e9.10.2025.06.23.09.54.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 09:54:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1750697648; x=1751302448; 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=FIb9TYrVuPtuI9Bb5j8ylfTFm18U5O3mg4bYirShZKU=; b=nUIulfhJgfka4Q5NYf90ZhJ0RJENu5v7yo8T/dWdPQtu+SONRYNAIiE6MWvbFL2UDu iHIGLurW3mZjMFqyIIWqp9ffqtbNbjyUZHK/ijUiZOrPJAuF8XFSs6hDMVtnfviX9iVx 5IetoHOhPOp8ibIp0eDTvxKU124bEFnpjmRQ31gOhncZP/6a/qz0MAYOaIir/sx5zGyU AlyDCrYveNOdA/w9pKqoPxd1abwVI+5ORVpTpGh4nF8+/4NaGDEzSoh6cTu7YKVtxRtz AaraUwlix57edf1IQY10izcqMrxZVkUUiPrzWDW3eYtwq329j5OCyL3kT+xr3l+sltk4 q8ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750697648; x=1751302448; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FIb9TYrVuPtuI9Bb5j8ylfTFm18U5O3mg4bYirShZKU=; b=pcWKa+ZHyp8VI2V2pBjVnAkcdRbkLYCsoTmqceXUf1Jp8e8Kgc+JvSKxFXvy9xf0oR 0ir0TawpRgpggF/dNZc0ZjRGzy5b2Ra3iTBrREIkgSQXnO6vHrAPok6pzW8kle63+u7K pZW7hesTVM4kDyEtQSSmKWpj9+YlhSd5n+GndQ0VtXDuScyvzENY0BGUlqrj8hE4Mjy5 NW1lE6CLgeiRBmItX67dQwTbXBYCi7QpvtoujhLhbKSFH0xcFZ2IrYv36uPwP098Okdp XdzXBrvSHhtTaaYsVtIdIAERY/z2Gp5oVDdWVKzA5uRD2TKt8nhIVZeqUdCYsf7AG32y 8beg== X-Gm-Message-State: AOJu0YxdecoT80y8dNfnSd6hNaHq/2FkBRncSfDYYH16OsRotjSMqW2p +OCkx0Wl+EW6mdZbp/7y8CXAPTIQSmrT6gruBkYQs6HBaWnBFY7/9tBDO6o26wD0yCA= X-Gm-Gg: ASbGncs6s0Q4oscrhKnNE6JZD7kwJhlMgHNScp+rqC9wuto/3lqZ3JZ919pfV1wXJgR RJ1PaLXlVkQwy/vD2EqfeMqsz12J1CNGuZMnkqc2qssaL3IPUi2x3XGeO0+86qA+wHHlvg0U4+s NoRevxjn4YATNceocl6gMpTtpumKnnuiCvQf+80DK63nUj05CTJ5uXbyWivNPUoQ2aVxLBHLLPI +B9YCzADyBetYYuiptDkCnsZjEiMtj/KqhEcTKZviK5G7ZjyMxhkF24h0hZtwBI98d9SbPB0mm4 jM4q1saFE0FswTvZMaSxtw3aLD6snvExeNfAMe5ffTGpHKFLubFsQRhwopI3oBYKng8= X-Google-Smtp-Source: AGHT+IGqUaxtjYlSHer0MjB31iX+H9Al6TIvqCBfxG2Y+JR5KRhjG9937p5Xaoqw/Aa1phJzSOsJfQ== X-Received: by 2002:a05:600c:6989:b0:43d:fa58:81d2 with SMTP id 5b1f17b1804b1-453659b60b2mr49592085e9.9.1750697648361; Mon, 23 Jun 2025 09:54:08 -0700 (PDT) From: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= To: qemu-riscv@nongnu.org Cc: qemu-devel@nongnu.org, Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Atish Patra Subject: [PATCH 1/2] target/riscv: disable *stimecmp interrupts without *envcfg.STCE Date: Mon, 23 Jun 2025 18:53:28 +0200 Message-ID: <20250623165329.2759651-2-rkrcmar@ventanamicro.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250623165329.2759651-1-rkrcmar@ventanamicro.com> References: <20250623165329.2759651-1-rkrcmar@ventanamicro.com> 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=rkrcmar@ventanamicro.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.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, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.999, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @ventanamicro.com) X-ZM-MESSAGEID: 1750697707801116600 The specification states that menvcfg.STCE=3D0 prevents both *stimecmp CSRs from having an effect on the pending interrupts. henvcfg.STCE=3D0 disables only vstimecmp. Make sure that when *envcfg.STCE is not set: * writing the *stimecmp CSRs doesn't modify the *ip CSRs, * and that the interrupt timer is disarmed. Call the *stimecmp CSR update functions when *envcfg.STCE is toggled, because the *ip CSRs need to immediately reflect the new behavior. Fixes: 43888c2f1823 ("target/riscv: Add stimecmp support") Signed-off-by: Radim Kr=C4=8Dm=C3=A1=C5=99 --- target/riscv/csr.c | 12 ++++++++++++ target/riscv/time_helper.c | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index fb149721691d..43eae9bcf153 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -3181,6 +3181,7 @@ static RISCVException write_menvcfg(CPURISCVState *en= v, int csrno, const RISCVCPUConfig *cfg =3D riscv_cpu_cfg(env); uint64_t mask =3D MENVCFG_FIOM | MENVCFG_CBIE | MENVCFG_CBCFE | MENVCFG_CBZE | MENVCFG_CDE; + typeof(env->menvcfg) old =3D env->menvcfg; =20 if (riscv_cpu_mxl(env) =3D=3D MXL_RV64) { mask |=3D (cfg->ext_svpbmt ? MENVCFG_PBMTE : 0) | @@ -3208,6 +3209,11 @@ static RISCVException write_menvcfg(CPURISCVState *e= nv, int csrno, } } env->menvcfg =3D (env->menvcfg & ~mask) | (val & mask); + + if ((old ^ env->menvcfg) & MENVCFG_STCE) { + riscv_timer_write_timecmp(env, env->stimer, env->stimecmp, 0, MIP_= STIP); + } + return write_henvcfg(env, CSR_HENVCFG, env->henvcfg, ra); } =20 @@ -3314,6 +3320,7 @@ static RISCVException write_henvcfg(CPURISCVState *en= v, int csrno, target_ulong val, uintptr_t ra) { uint64_t mask =3D HENVCFG_FIOM | HENVCFG_CBIE | HENVCFG_CBCFE | HENVCF= G_CBZE; + typeof(env->henvcfg) old =3D env->henvcfg; RISCVException ret; =20 ret =3D smstateen_acc_ok(env, 0, SMSTATEEN0_HSENVCFG); @@ -3347,6 +3354,11 @@ static RISCVException write_henvcfg(CPURISCVState *e= nv, int csrno, env->vsstatus &=3D ~MSTATUS_SDT; } =20 + if ((old ^ env->henvcfg) & HENVCFG_STCE) { + riscv_timer_write_timecmp(env, env->vstimer, env->vstimecmp, + env->htimedelta, MIP_VSTIP); + } + return RISCV_EXCP_NONE; } =20 diff --git a/target/riscv/time_helper.c b/target/riscv/time_helper.c index bc0d9a0c4c35..8198a2d8d92d 100644 --- a/target/riscv/time_helper.c +++ b/target/riscv/time_helper.c @@ -49,6 +49,16 @@ void riscv_timer_write_timecmp(CPURISCVState *env, QEMUT= imer *timer, uint32_t timebase_freq =3D mtimer->timebase_freq; uint64_t rtc_r =3D env->rdtime_fn(env->rdtime_fn_arg) + delta; =20 + /* + * *envcfg.STCE disables *stimecmp interrupts, but still allows higher + * privileges to write the *stimecmp CSRs. + */ + if (!get_field(env->menvcfg, MENVCFG_STCE) || + (timer_irq =3D=3D MIP_VSTIP && !get_field(env->henvcfg, HENVCFG_ST= CE))) { + timer_del(timer); + return; + } + if (timecmp <=3D rtc_r) { /* * If we're setting an stimecmp value in the "past", --=20 2.49.0 From nobody Sat Nov 15 14:53:42 2025 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 ARC-Seal: i=1; a=rsa-sha256; t=1750697687; cv=none; d=zohomail.com; s=zohoarc; b=GCA/Crf/PUrto847eBWl1h4duKCPztcdLI4GTAawWZau25GAjVwgPaJ0SEZJ1A1JaP0AoyjiX/niMTuXQcruL/aqUGqjwOOspMrZo0xO0OY6CUSkcagzajUjtgWmxlsOXkwz61MXizgAIvdAZ8/mAbjsy6l445556U2LaHi5lS0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750697687; h=Content-Type: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=tNCesYs3FFj+/RQZWBoxRB23WBzDxbnoA2srKEuQzv4=; b=UGSO+1zSyN9TpSVR0uxqXTfd3U+X0Pej7iNhm26DJ0TUsNQfOWIsO5JmeFqsVjndnoGRGLDXUsO/RC1lNekO7pkPUHYOjJL0gDmQSEdhT09JUHFXHxEODxks37Khon154hNBTApBz8P33E5EAcLh4euJaFYPnC4YlYauoq1dulY= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1750697687794355.47936349643317; Mon, 23 Jun 2025 09:54:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uTkQx-0000st-3h; Mon, 23 Jun 2025 12:54:15 -0400 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 1uTkQu-0000rk-OB for qemu-devel@nongnu.org; Mon, 23 Jun 2025 12:54:12 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uTkQt-0008C8-66 for qemu-devel@nongnu.org; Mon, 23 Jun 2025 12:54:12 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4536c6b2506so362915e9.0 for ; Mon, 23 Jun 2025 09:54:10 -0700 (PDT) Received: from localhost ([2a02:8308:a00c:e200:8947:973b:de:93b7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453647082a2sm116607745e9.37.2025.06.23.09.54.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Jun 2025 09:54:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1750697649; x=1751302449; 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=tNCesYs3FFj+/RQZWBoxRB23WBzDxbnoA2srKEuQzv4=; b=baPpPDgo0+BhElh1eMaz/CcSmMJ9fJQYASZ+wN4x6hQe51YtonU21fB1pDf0Ibyirz yM85eofOd15UepiNmAq+9UZfY5YOx4ZZVa3k7bD2LxkoqyN8c3F+AledfLik49pKWMye cXnVfRMJ9XNt9YTMaLxM3ufszGwh3uuLL8mt5hEP3Kca/0fObfzjrRJ17N7KvB0lRw5u 6ajW/tvNXue/QLOIyB0iZk0GLoZVNw+EcqrWp0ublRMUXTBKAa3XzMkFbQEjitx9d/4n Hr03VaPGkSAi9ig2oOwDbmMf42am2C3rxrxg+FUfOVLjPt8qPrHz3ZRBXWv4R4BDb0NW a9Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750697649; x=1751302449; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tNCesYs3FFj+/RQZWBoxRB23WBzDxbnoA2srKEuQzv4=; b=VgozgQAgBfwSxHgILre9dMKInuA28dbSHQsn6FwYiRe8prusj16xiFNEmQXUqozyky iqZYbNehf4XNcecNy2ugO9M0d16wWAtHtU2S3Zr6lE/Ds5UyDrHScOA5rJoK2+u8ebWe 3hb27s7wE+ZRm8IGNWoa0VVnmKKy9cVjEoIIpq2zKmsb188N0CHcmjTYHaIUUkbUMw9P 6Q/I6mMKRlrLMFbWYXAOijgdW4tbHHQEAD+2NV64yLyLrCLXT3iJt2rUS36dfIAylCoK 6BxLZ9xjDgJlGGx999TLq5Kqej2nd1E+Ic8k0R7UwtgxnJvSVtqLzcJ0+PiBoVWeITrO Sjmg== X-Gm-Message-State: AOJu0YwJ0P7VJwY+TNg829w+LxdwXtMrWV5VANWwErffdNySjz0wuwYw SVY5D7RJVXKkG3Z/i1Y5R3RumE4BcQYMD+ehG3e6Mxvq3cvo9896SsjvoKivcScZ7DM= X-Gm-Gg: ASbGncvK5UCvAxEtHCItWwhUiOEoF6O83Vupw0VgoCdW+5Rd32EgE4b6HuvzALTs6Av dXNvFlE2Ppe40BL54khMCWEWTu0L+6Nk+HCzAhnkKD+yAK+j3LSK1qCkUFyqYnvVw4nLGMCPUYj nEUF2o4rM+oX/1+6taVYdJCpsSaeAjrBIyicqPiMXGleVMSe1684gK4N4Ef2DmGmzwsnxM3MDo+ RvohcNYUrax+LE4+Uf651oclGdDBy1o0xKWGE4MimEeGlCnxpllvcoRWHNdSdFTH21ni+fJ4cD4 LypzotU5kGOg+LuNzg0XwSlXNB8sdfPDU63GShvFqO1vZdIWwr9A1G1rZRJeG/g8W08= X-Google-Smtp-Source: AGHT+IEto515WugI+tQ8tzq/Ckbh2Pz50Ab9kcI7e97q/wl6trF+5OZZh4CYul12bGQb/+lxjnlVDg== X-Received: by 2002:a05:600c:1c28:b0:453:4376:8f48 with SMTP id 5b1f17b1804b1-453659d879bmr49082635e9.6.1750697649327; Mon, 23 Jun 2025 09:54:09 -0700 (PDT) From: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= To: qemu-riscv@nongnu.org Cc: qemu-devel@nongnu.org, Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , Atish Patra Subject: [PATCH 2/2] target/riscv: disarm timer when writing past value Date: Mon, 23 Jun 2025 18:53:29 +0200 Message-ID: <20250623165329.2759651-3-rkrcmar@ventanamicro.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250623165329.2759651-1-rkrcmar@ventanamicro.com> References: <20250623165329.2759651-1-rkrcmar@ventanamicro.com> 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=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=rkrcmar@ventanamicro.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.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, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.999, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @ventanamicro.com) X-ZM-MESSAGEID: 1750697689664116600 There is no need to keep the timer running when writing a past value to the *stimecmp. The behavior was correct before, but I think it makes a bit more sense like this. Signed-off-by: Radim Kr=C4=8Dm=C3=A1=C5=99 --- target/riscv/time_helper.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/time_helper.c b/target/riscv/time_helper.c index 8198a2d8d92d..81a6a6394502 100644 --- a/target/riscv/time_helper.c +++ b/target/riscv/time_helper.c @@ -64,6 +64,8 @@ void riscv_timer_write_timecmp(CPURISCVState *env, QEMUTi= mer *timer, * If we're setting an stimecmp value in the "past", * immediately raise the timer interrupt */ + timer_del(timer); + if (timer_irq =3D=3D MIP_VSTIP) { env->vstime_irq =3D 1; riscv_cpu_update_mip(env, 0, BOOL_TO_MASK(1)); --=20 2.49.0