Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp428955pxp; Wed, 9 Mar 2022 05:50:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJw4rS3i8Yo9w02J55+vEub9gzww9f3tg/eHV4JPLzVvf032Qd12d0cx8aOVrhYY6TEQWPho X-Received: by 2002:a05:6a00:22c6:b0:4f7:5773:f402 with SMTP id f6-20020a056a0022c600b004f75773f402mr2869078pfj.80.1646833826022; Wed, 09 Mar 2022 05:50:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646833826; cv=none; d=google.com; s=arc-20160816; b=Mq4iFyYfolcjfoyui/vk0hOrm6qynxLe9eIDAfJvWclPOcl/1u8k7aY33dGabr0bA2 3PFP7f3lS0oSMmvQKXvELSmfcACADWQz5Ltpt8hy79FTrgXRRGxcx15lDHhuRDwcztSs nwEd+JD2JG+j1OYNP64ERhaEg2Y/6GP8yjIJz9ki6sbqCniMtE/5pmxO0BdN8UpJpn4C 8hjauwbiEJEqQ1ltWuv8rC/jo3yLEekouYm/wAHeV69DSlQ8ooDA3SpXbXOg1yJUtxde mNXXb7tmTmWnGGwa1S8hGm5U5jOulYOMI2fS6QXjSbWegQaMAJbf6RUD5flrlB+KytLN /xCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=zoYvE46Fn5UElqei7zXeSJ2i6YwW5qfH2ZE/0PdT+aA=; b=p08MGttoXBiL9DynmY/Iyxc+pwlZ3Y9coRauowXq/BxR+BSURU7resk7yfmQFD9H0H aj+p+wtyXQA/3Aoj3+xUgDr7I9sRNlbAyDY8rRoz5giyn8vrkJeElsWsrfVaVQEkMNW8 AkrjX4+n3JxweRNFnhbMuY0E1sBYrvk/wP88Ek3x9WcYO2AfF2mu/rm1RYgcOTNULflx 5Yl9JXxg4ZdtRL4RrmlOZWP78mBDDomkD48h5bxqtzTBFS4aEXIhGjCww6axlwhMSe9R bki6C6Uj1x8nzmwyWVNmZn7O+jQ55Zm3fwgERv/Do5IxfhlcWEEt66vUJB2QXDPiACAB b/OQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l6-20020a654c46000000b0036c1e25f69dsi1953426pgr.410.2022.03.09.05.50.07; Wed, 09 Mar 2022 05:50:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231638AbiCIKD6 (ORCPT + 99 others); Wed, 9 Mar 2022 05:03:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232452AbiCIKDx (ORCPT ); Wed, 9 Mar 2022 05:03:53 -0500 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B381710B9 for ; Wed, 9 Mar 2022 02:02:45 -0800 (PST) Received: from mail-wr1-f54.google.com ([209.85.221.54]) by mrelayeu.kundenserver.de (mreue011 [213.165.67.97]) with ESMTPSA (Nemesis) id 1MQ6C0-1nnnj133YW-00M5Yh for ; Wed, 09 Mar 2022 11:02:43 +0100 Received: by mail-wr1-f54.google.com with SMTP id p9so2121542wra.12 for ; Wed, 09 Mar 2022 02:02:43 -0800 (PST) X-Gm-Message-State: AOAM531QGw3veECBOMNhPFoyInnV7ua6/opyg9HTeb9fyyrdP1q2wTiz 7NPdXr33rzJPahlfSVUl3XWhXBJOSQLKMiK26YI= X-Received: by 2002:a5d:6810:0:b0:203:7cbb:20be with SMTP id w16-20020a5d6810000000b002037cbb20bemr711554wru.219.1646820163359; Wed, 09 Mar 2022 02:02:43 -0800 (PST) MIME-Version: 1.0 References: <20220309052842.247031-1-michael@michaelkloos.com> In-Reply-To: <20220309052842.247031-1-michael@michaelkloos.com> From: Arnd Bergmann Date: Wed, 9 Mar 2022 11:02:27 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] riscv: Work to remove kernel dependence on the M-extension To: "Michael T. Kloos" Cc: Palmer Dabbelt , Paul Walmsley , Albert Ou , linux-riscv , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:eUPeBs8nu9lonOVUtsH3evuG9vL6qAzG37iPHHX+3lkuvoR6dPe z2MH0YfiG8Uovt6yTmDCI8UY+zCCy0FR4FFrBUTr6MOpu49cLY0xWeqvrX6hK98HKkoY9f1 HW430hjtJcPzPxplPd/W5B8rPhlBpAV2W4bxRfJ6qr+i5ZJMVIwDYHBCg4XuHjiF4bIS68T 6rCKCWOYCKQU/9PXcre7w== X-UI-Out-Filterresults: notjunk:1;V03:K0:cxkPjTEjR9U=:y3p+S67eYq+cn6t7T7Dd5S qbVoq3utFoCbv92MHn+DApvHeS4LDHoRJRXQfrqjoFFER8FNkzBMIw+iqzN1FWbKERtqQqN0r LZ1fhmosSd/9BAZbivNk73E4Nd7GGg/tY8yGMAYRb4M05Wk3u4/q2JUBYBxdNt5jXv15bAH7k LWVpxsK524Ihj1RqRTQZOKWcu9R13ZldhdgbCTNBBm4RPoCTI7EY/FL6rR9q1lwLXBnyy2O/l 1PiwFAJHfqR73i5GBILTQvID+LleJQmnKUZeM9lmRUEvk4KNt7JdGNqvewI6fT2J0JIJ2MmT6 HHsAgfzX0RXQdsRTMxxpMsOagyYc+4yOujrI0bD2axKgyZXRdJh1x0q/+zAaO5SZIZl+6pCDo zX6t1mB08jChejjzFSr/naRqSuPb+KrJpJmmWBRTg6eQ/srzpgK02yETk/w53cFBNc7QhEwHI sdHu5oI410ephnbZOwQPzmmADKrCbQOIl/a3g9psjKF/zREQHOrR5YiDhkWLf3JLPiE+mqKST LGjLBAqMusbiQbSX29zz9zab/22T3cKs+PW0hyrdebueCTuVAm1gaV6bdBK1AvkLWU3CtZTcK WU63gtRcGOujRfNYYTbwsAtOvgDEwxZKYnHT2OvyBLbdMGM5DcuU2UnihtQJhqHlCN++We91w kz/zEDQtzOHohBNCpgy4BZBWPsjDzyvyw7vkliwdnr0o+BZUcAaNRJo/kBpXmedwdM5A= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 9, 2022 at 6:28 AM Michael T. Kloos wrote: > > Added a new config symbol RISCV_ISA_M to enable the usage of the > multiplication, division, and remainder (modulus) instructions > from the M-extension. This configures the march build flag to > either include or omit it. > > I didn't find any assembly using any of the instructions from > the M-extension. However, the BPF JIT is a complicating factor. > Currently, it emits M-extension instructions to implement various > BPF operations. For now, I have made HAVE_EBPF_JIT depend on > CONFIG_RISCV_ISA_M. > > I have added the supplementary integer arithmetic functions in > the file "arch/riscv/lib/ext_m_supplement.c". All the code > contained in this file is wrapped in an ifndef contingent on the > presence of CONFIG_RISCV_ISA_M. > > Signed-off-by: Michael T. Kloos The patch looks fine to me, but I increasingly get the feeling that the entire platform feature selection in Kconfig should be guarded with a global flag that switches between "fully generic" and "fully custom" builds, where the generic kernel assumes that all the standard features (64-bit, C, M, FPU, MMU, UEFI, ...) are present, the incompatible options (XIP, PHYS_RAM_BASE_FIXED, CMDLINE_FORCE, BUILTIN_DTB, ...) are force-disabled, and all optional features (V/B/P/H extensions, custom instructions, platform specific device drivers, ...) are runtime detected. At the moment, those three types are listed at the same level, which gives the impression that they can be freely mixed. Arnd