Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp2148560rdh; Tue, 26 Sep 2023 14:10:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGmVaHzpJFToSXnS+/gcbz96mpln9hJoDooxgUIaziu0+CVKDYMNwfxiuNISMoI6Mmvatdp X-Received: by 2002:a05:6359:215:b0:143:8469:5cc7 with SMTP id ej21-20020a056359021500b0014384695cc7mr245555rwb.2.1695762657556; Tue, 26 Sep 2023 14:10:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695762657; cv=none; d=google.com; s=arc-20160816; b=tAa3TogBTO7Hhn4ur/VqlsOlzGrTBVawTjLIIKg/FbL8NfOoSLXKwGKP0Yzu5IGoGO +qPpBE/Yaj4R2PzkdFc3WoGajyXE9yGOYGVwEzuT4IOET1ZudYwsEQPt1dxORcPt/GEK ikheKFEIJ3JgPdDhdr6gN6r+53owrwknvk/A/xXr2ii1M+gtTLzmHARL1P7h4bP7jf1x IGnT1ClG952HlO92W4QPjjKORUEEje0AugpR0z50yk34Aj0vGhvnUKnjZHdGlK8U5eYA MY3xgKGdSl4E2zjWXXLkxfyxHsPWxCkc8Ay6NsvJ9o7zyN2xLmPBKwL5xuKEThU3oe/A vZCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Plk1Hu+6o5eXVj2RFLi33sYNLLeCeOc6UN77fu78+Xg=; fh=eI1w0vL8wMQYq+89KHAVQG8zXClfMmqUQ4ir9T7VotM=; b=OTPuM9oyzfHOF/vIT+vgu90To+K2P0f83QWJK+ojeapb8gZ4Vz70JVpPH8stjEolFz cGuYb6CkU9SwlX5F3b73JEeg3NUMooHq6psuYt3ifNlBkD8GAuNzorkFK/07pJ++hS1l kmsx32pAvYV8DJi0KinjLJPHti7Cv0OSlO1jCbsPHlbikaV9kTW9wy0YkECPC6Si5zwK K6PjO8HR55HhiBK3KJhPFS8SNWtAnGQcQrtdeuSTLJu3WY2RE1cKapuid8i9FNETn2de cnqSJ6qtuHlaOv6w+L/wrDeNkXgAip6qyIaRyqKgwY/43kGmbfYvwWpf6kRG39A5Gpbd EQBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=XyGFm7CD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id d189-20020a6336c6000000b0057c7341d55bsi2662162pga.391.2023.09.26.14.10.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Sep 2023 14:10:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=XyGFm7CD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id EFEE3832A008; Tue, 26 Sep 2023 08:04:26 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235068AbjIZPER (ORCPT + 99 others); Tue, 26 Sep 2023 11:04:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234996AbjIZPEE (ORCPT ); Tue, 26 Sep 2023 11:04:04 -0400 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B600120 for ; Tue, 26 Sep 2023 08:03:58 -0700 (PDT) Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3200b181b67so1192110f8f.0 for ; Tue, 26 Sep 2023 08:03:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1695740636; x=1696345436; darn=vger.kernel.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=Plk1Hu+6o5eXVj2RFLi33sYNLLeCeOc6UN77fu78+Xg=; b=XyGFm7CDlljALS2QDAY5KtQ4V8TiYkjMIj42Wv28D28oi0yDG4lBsWLKIT118S7UMh rw5uIvzTi7EW2UypRlFzedrt9G1HOGYSlbcyv59/bRD+2E/7xTa9BQItjYcolFwnawzS gHFzmNNwFcnqM1T/G+puoSm3Y7dkUuXiRup2G+hF7+Cuzol/dmN8jZ9uUXABswxMt6kR 7dJgwTbhD6JhS/KUMQHBqB0v8VmH/yXygByRAK1S/rhu2q5Xr5QtTcU5bLW86Hxlqb7I JdhSYLWy4aB40NasJXMN9KZUGW2Co2V1H0YYvGbqWbsjPr8kMRu2Yuvfcm6OuDfpwIOg h01g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695740636; x=1696345436; 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=Plk1Hu+6o5eXVj2RFLi33sYNLLeCeOc6UN77fu78+Xg=; b=rT35JwsPq3LMIH3VuSbUc/FQkazixQxpL1uEzQOjqwaUpY/DwYC/IDEciwWho4Jczs fxaLDSP/Ihwo3LX0I2dbeyTqqoeJqzU/Bt0gv2rSklPdex/ldTXAG5UBQ3rHCD+NaHDi xDcW0HQ7ovRBAPppbdJuMxbkBPQJhJOoUk7fQdbiw7QdNZC9IG8WFaen5Ul40h4kdo3M gS0XIMsVq6P2rIOgHvn7luajrWDMQ/aL9xWSYMl8y2K8gtBlG8nUtrN19NT0heqFZpym 87a7kG/EBM9Tzbf1TUNUTnxltSscLCHUl3cICTuPRjdWtl6jA2RZK5/9Ay5/AZh6tDUf S7Yg== X-Gm-Message-State: AOJu0YwiUtZ9T/Hm1CulGjeEXc9l1rjg/IWEkRvKUnYIHpbtP6JU+ZjG VXwZlJFa6AC8NAia9XvIX7tM5Q== X-Received: by 2002:adf:f3d0:0:b0:31a:e772:ddf9 with SMTP id g16-20020adff3d0000000b0031ae772ddf9mr8993186wrp.4.1695740636702; Tue, 26 Sep 2023 08:03:56 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:999:a3a0:2b3d:6c70:9dbf:5ede]) by smtp.gmail.com with ESMTPSA id x11-20020a5d650b000000b00318147fd2d3sm14926060wru.41.2023.09.26.08.03.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Sep 2023 08:03:56 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Albert Ou Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Atish Patra , Andrew Jones , Evan Green , =?UTF-8?q?Bj=C3=B6rn=20Topel?= , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Ron Minnich , Daniel Maslowski Subject: [PATCH 5/7] riscv: add support for sysctl unaligned_enabled control Date: Tue, 26 Sep 2023 17:03:14 +0200 Message-Id: <20230926150316.1129648-6-cleger@rivosinc.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230926150316.1129648-1-cleger@rivosinc.com> References: <20230926150316.1129648-1-cleger@rivosinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 26 Sep 2023 08:04:27 -0700 (PDT) This sysctl tuning option allows the user to disable misaligned access handling globally on the system. This will also be used by misaligned detection code to temporarily disable misaligned access handling. Signed-off-by: Clément Léger --- arch/riscv/Kconfig | 1 + arch/riscv/kernel/traps_misaligned.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index d607ab0f7c6d..3515510fe418 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -157,6 +157,7 @@ config RISCV select RISCV_TIMER if RISCV_SBI select SIFIVE_PLIC select SPARSE_IRQ + select SYSCTL_ARCH_UNALIGN_ALLOW select SYSCTL_EXCEPTION_TRACE select THREAD_INFO_IN_TASK select TRACE_IRQFLAGS_SUPPORT diff --git a/arch/riscv/kernel/traps_misaligned.c b/arch/riscv/kernel/traps_misaligned.c index 041fd2dbd955..b5fb1ff078e3 100644 --- a/arch/riscv/kernel/traps_misaligned.c +++ b/arch/riscv/kernel/traps_misaligned.c @@ -396,6 +396,9 @@ union reg_data { u64 data_u64; }; +/* sysctl hooks */ +int unaligned_enabled __read_mostly = 1; /* Enabled by default */ + int handle_misaligned_load(struct pt_regs *regs) { union reg_data val; @@ -406,6 +409,9 @@ int handle_misaligned_load(struct pt_regs *regs) perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, regs, addr); + if (!unaligned_enabled) + return -1; + if (get_insn(regs, epc, &insn)) return -1; @@ -502,6 +508,9 @@ int handle_misaligned_store(struct pt_regs *regs) perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, regs, addr); + if (!unaligned_enabled) + return -1; + if (get_insn(regs, epc, &insn)) return -1; -- 2.40.1