From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E4CC23BB689 for ; Wed, 8 Jul 2026 03:36:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783481794; cv=none; b=DXFNjeH/ZmmBssq3PpgrITsb4dqdpSMtHMBLPD4+67IbQe/G/W75nJ/2c84POzoPPUB6z0OqnUyfsEJRWCsZcEsfACiA0YF+XXtN2yuMweVZUXAFHHEX3akJlzFyiXkzrlIgpD8JKavhTyXBXaeLSc+sw4Ssr92jDJfxTO6Fpvo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783481794; c=relaxed/simple; bh=DCPKi33NYT6bX9zlswitk1aeo+c7wEE6BumaxclqcxQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fgBu6N8oTsQejC5AhUzEsbDnF+4QCDzEP6OzgazzPcgxT0l+nCfXGwx2uDanDUO1To13k2d+aKWeFIB/9/4g1pqSIfPdenlnInogRtlRhA2EnHxd3RzJAmgAPs/+DfPkRLf1iQGbIDDLUSJsJPk+TCFQQUqpqltpfqGJ60+Tm5M= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Lri5tohc; arc=none smtp.client-ip=209.85.216.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Lri5tohc" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-38426d04bb4so174977a91.1 for ; Tue, 07 Jul 2026 20:36:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783481791; x=1784086591; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=7uwJLmhKNEIHTwQycd7laGxNA3BK/zUUdv4a0SBN/M4=; b=Lri5tohcjBZunv9ewOIov+3BKrwWekZrFv+MSdaPFYkQnkipWHzIQHMCWyO0xDWjht aCBir20aA/kFrGhJL1PxQAxXm4NqEx43iesFJLKTGpJo3Y6gWGvCQizIQLV6wwn+Qw9z InyyM3eapUlXXGMzkhJBV71txHQ+Ruktu5XM7dUvzWoMF+mvDF/ixB4qgf5pHQrCVTQ5 D3xG8YOB4yGRaFCFWl1HzTUs3NtqReL/dRl+PUIph3SW/17Q8zyG4asRn6K1irnF1AGi WHrK7pUZmK9WJ4O9V+FXJWxJVBw0k4Cp4cr7foxBVT9X57Iaq0dLr4cPFgT5pIDA5DM1 nx8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783481791; x=1784086591; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7uwJLmhKNEIHTwQycd7laGxNA3BK/zUUdv4a0SBN/M4=; b=cASagakYThDxZLMbFF8yFTM6uizO4ISklAHEln4Opll7m8wOTIv39/Opg07WLw089W KSorfS5SVt9yJLGPasN4YX3nCKhAbUK3Nkh5lUIu8GdviLIVA4kWo9/wpk2XBrELwRWR ArbyTFFkBRrIRwvTqfrZrW2Y09dcJeoru+XoSEhZQQXvlJgP/yeZsVZDjb8edQb/iG9R CGQEE0IeEXABFoCGdD12WJsdq9QoEL+xzdfK5trqqhHLXNLTW6tYt1KMx8fhEUfuCbYY J0sCLeZdPC9pfsg4SBMK+3M3tQrHKgNE0oB4dC4frAyRHCQeIFb8ZdkYG/+X2WuBiH9J ameg== X-Forwarded-Encrypted: i=1; AHgh+RoqsfPVAGpy2Lhview3At2BCLbFTp+nmbgQ+Wzwz0Dsh9UK79Rr44EtQ+ckA305G6gt8Cn/0xR77z3/Yrc=@vger.kernel.org X-Gm-Message-State: AOJu0Ywuq23EadZCSs8UrHkrpEgdEHz43P/Szha0bo1tnCz5bbXTcSN+ jhCT3ssxPoM0lia0qTImLYdjc5nvBcsOINXv8CX01JZQdt8V4yOFOinE X-Gm-Gg: AfdE7cmzEymUlY7qioUQBToaBQMbukuCGp2683DyYckMFmZS2QQkVn6kAIZOS+uBhwA iDlJLJTaYNPjPi2XLrHV07O40w6QBSiD3XmlPxb0hC6lkQaL+xXtUsno9feUyvg0C87L7sKySif SXhIyYBWPPYT9NqSNj4RpWRrQwYPi6gqs8F5Z1HfegunvDMz+UpOD4+XQYi2EdCC2O/e/Ka69RJ oVg9B92geAljYPP8mf5caRRfIhvT5aZiPPjv2RLO6+6Ev7CgmjTR7t3mb5P2GBagAVLOKfuACak c807B6QYRNb0dFW5SPA933gp8ItJJkeZ/KRRE/38uf0iX69z/0aKGVODzUSHQ0URezbCZriQ/mI oje/9DOvc+fvAHSvjtwM/k5V3L0bhGLMFm2YLYNNhK1xuyR/JPvGISKPZCV5Aeo93RIjB+KAkMI kM9RjLPDglMIr4JT9rVbvQPLBsNLQuYGWal/PjPI0= X-Received: by 2002:a17:90b:5544:b0:36b:de66:92c3 with SMTP id 98e67ed59e1d1-387d880b730mr5823258a91.10.1783481791130; Tue, 07 Jul 2026 20:36:31 -0700 (PDT) Received: from [10.0.0.65] ([2601:647:6700:64d0::94ac]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31174accae5sm21092850eec.29.2026.07.07.20.36.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 20:36:30 -0700 (PDT) From: Charlie Jenkins Date: Tue, 07 Jul 2026 20:34:30 -0700 Subject: [PATCH v3 07/17] riscv: Maintain epc on misaligned emulation error Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260707-riscv_insn_table-v3-7-3f8e5f75ba97@gmail.com> References: <20260707-riscv_insn_table-v3-0-3f8e5f75ba97@gmail.com> In-Reply-To: <20260707-riscv_insn_table-v3-0-3f8e5f75ba97@gmail.com> To: Paul Walmsley , Palmer Dabbelt , Nam Cao , Alexandre Ghiti , Anup Patel , Atish Patra , Conor Dooley , Paolo Bonzini , Andrew Morton , Shuah Khan , =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= , Jesse Taube Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org, Charlie Jenkins X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1783481777; l=1589; i=thecharlesjenkins@gmail.com; s=20260605; h=from:subject:message-id; bh=DCPKi33NYT6bX9zlswitk1aeo+c7wEE6BumaxclqcxQ=; b=zvComs8b88dWvy8jLEjCRmfCDTkUEyxqVH8c14cT2/SUZEuhkK2O/aL6Gz7C5H53JvlCy3eJM ZgtW3tHJOY9B6zTgPHaM+IBbpBPY7YSN2Dmbugepwe7vF4SZTq+lmse X-Developer-Key: i=thecharlesjenkins@gmail.com; a=ed25519; pk=ajnnRQ98PIdwKp4HeMkq9U32okYbnh6Zb4G3o5XXvkg= Currently the epc is set to zero when there is a misaligned emulation error. This will print a misleading error message with the current epc value of zero instead of the epc value that triggered the emulation. Avoid setting epc to zero to maintain the state of epc. Signed-off-by: Charlie Jenkins --- arch/riscv/kernel/traps_misaligned.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/arch/riscv/kernel/traps_misaligned.c b/arch/riscv/kernel/traps_misaligned.c index 81b7682e6c6d..524215a186e0 100644 --- a/arch/riscv/kernel/traps_misaligned.c +++ b/arch/riscv/kernel/traps_misaligned.c @@ -238,8 +238,6 @@ static int handle_scalar_misaligned_load(struct pt_regs *regs) if (get_insn(regs, epc, &insn)) return -1; - regs->epc = 0; - if ((insn & INSN_MASK_LW) == INSN_MATCH_LW) { len = 4; shift = 8 * (sizeof(unsigned long) - len); @@ -303,7 +301,6 @@ static int handle_scalar_misaligned_load(struct pt_regs *regs) shift = 8 * (sizeof(ulong) - len); insn = RVC_RS2S(insn) << SH_RD; } else { - regs->epc = epc; return -1; } @@ -349,8 +346,6 @@ static int handle_scalar_misaligned_store(struct pt_regs *regs) if (get_insn(regs, epc, &insn)) return -1; - regs->epc = 0; - val.data_ulong = GET_RS2(insn, regs); if ((insn & INSN_MASK_SW) == INSN_MATCH_SW) { @@ -405,7 +400,6 @@ static int handle_scalar_misaligned_store(struct pt_regs *regs) len = 2; val.data_ulong = GET_RS2S(insn, regs); } else { - regs->epc = epc; return -1; } -- 2.54.0