From patchwork Tue Sep 15 19:02:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98352 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D6CB4C982C1 for ; Tue, 15 Sep 2026 19:37:55 +0000 (UTC) Received: from mail-yx2-f12.google.com (mail-yx2-f12.google.com [74.125.224.140]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4477.1789498975297422212 for ; Tue, 15 Sep 2026 12:02:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=K5+T8DEp; spf=pass (domain: baylibre.com, ip: 74.125.224.140, mailfrom: tgamblin@baylibre.com) Received: by mail-yx2-f12.google.com with SMTP id 00721157ae682-85d440939f1so945627b3.3 for ; Tue, 15 Sep 2026 12:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789498974; x=1790103774; darn=lists.openembedded.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:content-type; bh=WTtizYCKEnhYNmqGYdWVdqjODIfhRbf7UHhFiovGNrw=; b=K5+T8DEpiedIFYRLKO6jpYVKcQxNJAXLGA2tasp6pGVxQH7uqsrIbjlu/1MRkI2Htr xTiC5INDyQ2RfPDsTHsCygdxpAx3wbxroJEb+Hu16kMdQ1AzZnxVG5rJljYz/FQlww7w K1nkZamCJGAFw4EPBCoCY5FOCcguJHyBKzK033gN6pB6IwF4PjNa3mybydnHG6iH8gml KjCfAIVJ8kk1xdIW6paeMwFhPimLOv23l0SuHJ21RLD/RfOJKThI7K6j8Vr6QjQBHE6h G4wjX7NU2N17dl91TJbTQuYnUDqARF8QsMONgjkutpGh+TO/MJF/2b9rYpFK8BG8MRJk ZWKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789498974; x=1790103774; 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:content-type; bh=WTtizYCKEnhYNmqGYdWVdqjODIfhRbf7UHhFiovGNrw=; b=oOa7QGiMjLxgvIOOCnvK7yfrzj5j+u4PzczUCj6rO8efEP38vN3XgxmkVd4Al0ipOz 9Ye3Tx29cldQTjbJpcGcshAP0GcOxplfiy/t3J8T0pH0QPGyhQSzn29F5ZCWo44Yqnb6 75z9S1y65J+U5y839IBVCCV30yQi1o6cmEDnlzF32scYAKhVHFnudkEXJzvXUuFD/0Lm iVp8w6vkfpgsN8X0BqOHB1/zut5FMluZXOtYd8hEFcnWS2EUzCx7bRyXkCe5nd+nagPd lcX+55QrjCIYDRORCduFNnKvFLNZbHlUDe8BgQzcO0MhGFYEeXO1MBcLEZD0/341Mcs/ tr5w== X-Gm-Message-State: AFuF++nIhwGkH1DCCa5GfWsM6dmREfWh7d/UDoXToUwWxSlM0Sc+bQrl VBdXoBQZhtOniXSrOPNe4bRj+R0afAZPPyohckFk0dO/Z3q1JTW+UvNl3yF74ZEr69e3W6kWPbh ZaADH X-Gm-Gg: AYBFou120o0nhkWwRVr5oQABWUVSrMcRT/udzuNcAwjFDr2a5f9gM6U9izorzYhx/87 oZPF+oOUM/3eIWzPXc9OkIMEPdOAXk5IkBtbShk7NuWea72MgrwrnpNV0tBo0+4z6zOCrqwZBPH FqpqWUrcBTjiWZYsd2Xauu2DT3jMXsIN8UITkgXmaBevWkLa7gmvtX3OCbCnR1IX4DtxVWX0BQM ds5QvuOrEIV5lMyHRU6ux56cqeMe17XUMEaqDPEY8zbSTSPy5hv2l+tZAg0ossC92Pmzb1EpFJ7 5WL+a/11UecxGQYHgt54PCXrXB/fqfwWEMm+wQKMSfyrceszvnb00s+VmIh/L/iYtdQNE8tTqIJ 9CD5igkSjDrNT0AzC9JlTq2ATpPraGEHQ0k3UVx+gFfOsFx9sRVuxRjKVJ2EnxteJWC6d74Qhyg S2BXIqxIvMXm9iXbd59hRhEv2malTF1uPceKXSuxCFU+9+wiwe1NHTtPEJ4ts5YE8ovFkkssLmm Ga9voHwgG7Znr+H/grzN5NkmC//9n4mk7eHxQm9doOK X-Received: by 2002:a05:690c:ec4:b0:873:5bb2:6bfa with SMTP id 00721157ae682-890f1530e26mr8532477b3.36.1789498974199; Tue, 15 Sep 2026 12:02:54 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93b81d27515sm25348485a.47.2026.09.15.12.02.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:02:53 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 01/14] tune-riscv: be explicit about riscv64gc default Date: Tue, 15 Sep 2026 15:02:31 -0400 Message-ID: <20260915190244.2983746-2-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:37:55 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245876 The string 'riscv64' is a generic descriptor for the 64-bit RISC-V ISA, and can mean different things under different contexts. In the case of tune-riscv.inc, it has served as an alias for the 'riscv64gc' profile which packages are typically built against, resulting in the following output (from a typical bitbake preamble): |TUNE_FEATURES = "rv 64 i m a f d c zicsr zifencei" Modify tune-riscv.inc to avoid overloading the 'riscv64' string in this way, instead setting DEFAULTTUNE to 'riscv64gc', and changing other occurrences to match. TUNE_FEATURES remains the same under this adjustment, but the .inc file is clearer which profile is being targeted. Signed-off-by: Trevor Gamblin --- meta/conf/machine/include/riscv/tune-riscv.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc index 12c1125c8b..f55c122fe3 100644 --- a/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/meta/conf/machine/include/riscv/tune-riscv.inc @@ -1,15 +1,15 @@ require conf/machine/include/riscv/arch-riscv.inc -DEFAULTTUNE ?= "riscv64" +DEFAULTTUNE ?= "riscv64gc" -AVAILTUNES += "riscv64 riscv32 riscv64nc riscv64nf riscv32nf" +AVAILTUNES += "riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" # Default -TUNE_FEATURES:tune-riscv64 := "${@oe.tune.riscv_isa_to_tune("rv64gc")}" -PACKAGE_EXTRA_ARCHS:tune-riscv64 = "${TUNE_RISCV_PKGARCH}" +TUNE_FEATURES:tune-riscv64gc := "${@oe.tune.riscv_isa_to_tune("rv64gc")}" +PACKAGE_EXTRA_ARCHS:tune-riscv64gc = "${TUNE_RISCV_PKGARCH}" TUNE_FEATURES:tune-riscv32 := "${@oe.tune.riscv_isa_to_tune("rv32gc")}" -PACKAGE_EXTRA_ARCHS:tune-riscv32 = "${TUNE_RISCV_PKGARCH}" +PACKAGE_EXTRA_ARCHS:tune-riscv32gc = "${TUNE_RISCV_PKGARCH}" # No float TUNE_FEATURES:tune-riscv64nf := "${@oe.tune.riscv_isa_to_tune("rv64imac_zicsr_zifencei")}" From patchwork Tue Sep 15 19:02:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98353 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3769C88E7D for ; Tue, 15 Sep 2026 19:38:05 +0000 (UTC) Received: from mail-qk2-f12.google.com (mail-qk2-f12.google.com [74.125.230.204]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4688.1789499007713360431 for ; Tue, 15 Sep 2026 12:03:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=BT4SJeCk; spf=pass (domain: baylibre.com, ip: 74.125.230.204, mailfrom: tgamblin@baylibre.com) Received: by mail-qk2-f12.google.com with SMTP id af79cd13be357-939ca12ab70so11433485a.1 for ; Tue, 15 Sep 2026 12:03:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499007; x=1790103807; darn=lists.openembedded.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:content-type; bh=qFpNoQAAfzqTHHTcLl+tQXgNBHyv41PhyabtFKz8VWo=; b=BT4SJeCkR+naiq+B5KMnkI4lmzjLo9d28J/acQjf/IGqk62Atm0Tf5EWQHr712BWrE GMMGasLHySBmXVkc7luZXDbUFkLwY/ACr9qjF5xPqsGrx/TF9OsmePMUYW2Fjj+CM/GS k1OwsmVeU4C1hn9XyyvaXYgM1JlQ+NO3e/2B/U0h9flCIMc7JlcbU+Rc8vtCUw39gTqf 2gQCASDXPe+G6OGvAeFWrG391gb6h0YoLgmNetYB7rURtKreDsROt3q2fDLDre/Mc2v2 0WDo5mKJCAj10T/JrPQ7r26D7vGoGygHBi4kuC4BNh0ZNX8LS1qwupAr4nw1SjSKFk8q WkUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499007; x=1790103807; 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:content-type; bh=qFpNoQAAfzqTHHTcLl+tQXgNBHyv41PhyabtFKz8VWo=; b=mH63n9A5c9Zd7gR0yhyON7O97PfrccEmftOhy/g2FEaOKAzU3AbAZW25Rya2kxaggc /choVfRQuWBPLmrb9RnSFFYtZgj2RM7Wo+T4OTkLti8t/Pd7sNb0y0CqCE81b5CqtOth pwoOOTrLWpsmYAtqglJFpTbJeyB1S4ZzJiyaY098gNqIp1EZfynKeSlEGLzGmfvEJtar 6MN8HkwDsINwG2nJyeAU4XyxjrDoo0FnLDLJI9hA3qxdvMC1J1USl4FgDgTUdWqVogqT C9W8v/qZjRe0I1vSeJ0zuoXvrfyPErrJFB4VfDcH4A0g6h30oESlabP+GoMNO+rO2B9w SAkw== X-Gm-Message-State: AFuF++l6ZCSI7eU0CO+sVsZe6gmz1G4YvCPmdW1RuGRTl6Fs08+yPA+0 E97bXMOcaK2AgwIjQfWNckwbo66B+UrsSO0hgAj6TTR1eFMu/1KJu0FKnDOUIuN/yyc+5PuoNtg ZEu6N X-Gm-Gg: AYBFou1BOS3hXDht1Xm0nOAiypSibrP6k02CGiko00hYlagPgA3oWJcPDWPbsYq+UfJ R8yL8P88kVpDdO0gj/uWMzR6wGuxC+4Lm7qlBX1FGJbTwn84vLJDl47Q8E+ibjEe0IOvMSmh3iC nW7Q/IwOZnr6y3pi2NLF2INAYIxwBn4gDJXb71v4RtbfmmI6GuzvhQfnaAc6YwEBAKEW5BDE2F7 SEJNPDobj+gHIyNXzNn0EMlmbqtM4AonxXGvfX+MHV87TvR3BYGqlzGXh3Yv+4Lpe30f/j+QlZV JyfHQX5UMmtGHBPi4rYybA8hwuKQEFeSpBmCvGRt/Jn1YWPpCAtkoMLUZfPuWfe0G1VoFiH5l0M UF5Cimn4kEFVtoeg+YiRWFs2LEX3pF38iTHLadDqZPBmMZO2Clo/fJJ4SRQAr1z9tgg48sOi6dO 7ymlMwczV2znFf8DwBd85oupUNd9n7y8kNYcl8nezObM1xfvVLKufPnnHvLrApg2G5qS+jM3/a9 efYAROcCpEtbihDXndvZFQBb++uLdJ/w6uE63R7SVSI X-Received: by 2002:a05:620a:890e:b0:939:869:a8bb with SMTP id af79cd13be357-93a29853301mr1127574685a.14.1789499006477; Tue, 15 Sep 2026 12:03:26 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93b781deec2sm28760585a.7.2026.09.15.12.02.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:02:55 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 02/14] tune-riscv.inc: add 'riscv64gcv' tune Date: Tue, 15 Sep 2026 15:02:32 -0400 Message-ID: <20260915190244.2983746-3-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:05 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245877 Add a new RISC-V tune option which adds the 'v' (vector) extension, compared to the default. Signed-off-by: Trevor Gamblin --- meta/conf/machine/include/riscv/tune-riscv.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc index f55c122fe3..3eb057680a 100644 --- a/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/meta/conf/machine/include/riscv/tune-riscv.inc @@ -2,12 +2,15 @@ require conf/machine/include/riscv/arch-riscv.inc DEFAULTTUNE ?= "riscv64gc" -AVAILTUNES += "riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" +AVAILTUNES += "riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" # Default TUNE_FEATURES:tune-riscv64gc := "${@oe.tune.riscv_isa_to_tune("rv64gc")}" PACKAGE_EXTRA_ARCHS:tune-riscv64gc = "${TUNE_RISCV_PKGARCH}" +TUNE_FEATURES:tune-riscv64gcv := "${@oe.tune.riscv_isa_to_tune("rv64gcv")}" +PACKAGE_EXTRA_ARCHS:tune-riscv64gcv = "${TUNE_RISCV_PKGARCH}" + TUNE_FEATURES:tune-riscv32 := "${@oe.tune.riscv_isa_to_tune("rv32gc")}" PACKAGE_EXTRA_ARCHS:tune-riscv32gc = "${TUNE_RISCV_PKGARCH}" From patchwork Tue Sep 15 19:02:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98354 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF81DC88E77 for ; Tue, 15 Sep 2026 19:38:05 +0000 (UTC) Received: from mail-qv2-f12.google.com (mail-qv2-f12.google.com [74.125.230.140]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4691.1789499010371048911 for ; Tue, 15 Sep 2026 12:03:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=cG/GrKGx; spf=pass (domain: baylibre.com, ip: 74.125.230.140, mailfrom: tgamblin@baylibre.com) Received: by mail-qv2-f12.google.com with SMTP id 6a1803df08f44-91071ba92a8so868986d6.0 for ; Tue, 15 Sep 2026 12:03:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499009; x=1790103809; darn=lists.openembedded.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:content-type; bh=BgSYNys2l6cSEVNBFMqZerZ7l+FIbz3isjTR91P38NE=; b=cG/GrKGxEcCCe3uzc1RUlkP9aQAcCzyXV4gUMf/HN6AdEx6OwtESnGJzsjUsNd5woi QelUOXObd/tYNkxsMX+uu+J3+C+4M10glk9HNRNchLGiQVdV6uTspf+q2urh8aeqmjsD PV+CxGqOGd16lEl9CZXWawpyFdI5+IV3TwJh1occ6QVW8tQcMYStaWcf1cTe+pN3Plfc L5LqOiOjXTH4HOfbrFZbwNoCsivOtLEAuRTZDvyEymR+oJIKNHnkYAJmcQVItgwltNSv Z6qNVJHHymwmZo8Z5jon3Y+rZ2XiHdYVERLPMs8j0Fpl0LR1SDadFngxBHAiOr2UDbHm 900Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499009; x=1790103809; 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:content-type; bh=BgSYNys2l6cSEVNBFMqZerZ7l+FIbz3isjTR91P38NE=; b=o0DsLZ7iMiCRcIgDLkDYfdi7YH88rD6okgWoIn1HaMVREZ6MH/c1eXpqkTvxdYC4dJ GIp/2lfnc9zwYm/dyjYMaV18pLM6K2ShvdaJyMZQkctW25sXF9GZ7hv38vNNWGSuXPuI gGzESiwx4oaxbwUQSZpxidahzSrN1OzVaemjWWWX/NQymEmyg2M5BCZ90ifGOJUUqlhO fJcLK+iHwN/JWzOyiqYSBpYNzHelNXGcm8PJryY3qYqj2Ep01tLqLqWT89v3dluNRJeF cWO8TNRc/3Q67AQBtSlYkXo7tdYBV7Ee3eu9n+nqWcqr5BsE8CDrMVNkvXbuK51eUN61 v0Kw== X-Gm-Message-State: AFuF++ljk9meAN53dYqtDUPSwdFGZmP64mnDnO8hfns+xtcJWVkrlgIh aPFlafhwTicjXhIhoW5v3AowjkSBKM6oDiDCa05uLjXQJ6j2g2xvD/FKN4/qBVE0q8HqvvMm/li WgHL/ X-Gm-Gg: AYBFou27EiZxyyJc+HatKTbG87ley4ewRx2wfuyoC5h/TN/ZkR3Yfd+s/tLtxB9/Meg VLXATmuVVQ9lEuiE0GkQnIbsa3Tjx73KYDDeew8ISYSMVSfTvGTA7BqJqRAXPw4LSwcmoBUtt25 S8ULIQl5vqpQqaE7AWSKKY02v9pVkwKPIfUYtShwiRhNBrS9goiPMwXANx7SA1cIEMGqrYakg31 oHoeKDYmLyPni1meOIQeJSaY47KMdRCzd0ubL8v8wCApEELrS2Y5Zqj26H4HdFNqW1X9j0UYbm1 GMcGE2uzbunB+lMpIaZICL6ZNENhsSuig4iJspVL9zQF38xwqsc4DrPCPXo2y5qrKA6wGHNP+Xc jxZJiML+dTmUxoarwV71WqbB+J2ar7UzoaHfRb7oOPtD8xUKw+p3gAsYG8L+/h7Zdw6MRl5VBvh Ny3BKSFLuMRMcWiQwB0O8i9mDnEEZWWNbuoX0vx/g/9eKPL+WAE+NkDK7Spq5XKvDX4L3t5Qs+O 6QsFYylmMTV+MmCUMWw4M3DqwXacZ2n0w== X-Received: by 2002:a05:620a:8085:b0:93a:48a:167 with SMTP id af79cd13be357-93a40860dc2mr360534485a.39.1789499008848; Tue, 15 Sep 2026 12:03:28 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93b7822324bsm26433085a.22.2026.09.15.12.03.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:27 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 03/14] arch-riscv.inc: add missing RVA20 extensions Date: Tue, 15 Sep 2026 15:02:33 -0400 Message-ID: <20260915190244.2983746-4-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:05 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245878 There are currently many RISC-V ISA extensions missing from the arch-riscv.inc file, even some which are required by core 'riscv64gc' extensions. For example: |tgamblin@megalith ~/workspace/ypbuilds/poky-qemuriscv64/layers/openembedded-core (master)$ riscv64-linux-gnu-gcc -march=rv64imafdc_zicsr_zifencei -mabi=lp64d -Q --help=target | grep rv64 | -march= rv64imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd versus: |TUNE_FEATURES = "rv 64 i m a f d c zicsr zifencei" which is missing zmmul, zaamo, zalrsc, zca, and zcd. There are even more absent when comparing against the official RVA20 spec - passing '-march=rva20u64' to gcc and checking the ISA extension string shows: |tgamblin@alchemist ~ $ riscv64-linux-gnu-gcc -march=rva20u64 -mabi=lp64d -Q --help=target | grep rv64 | -march= rv64imafdc_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zmmul_za128rs_zaamo_zalrsc_zca_zcd Add the following extensions to arch-riscv.inc, along with their conditional inclusions required: - za128rs - zaamo (required by 'a') - zalrsc (required by 'a') - zca (required by 'c') - zcd - ziccamoa - ziccif - zicclsm - ziccrse - zicntr - zmmul (required by 'm') We also need to change the extension ordering in the file, so that they appear in the same order as the compiler expects. Signed-off-by: Trevor Gamblin --- .../conf/machine/include/riscv/arch-riscv.inc | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc index 6f9b74974d..7db400694c 100644 --- a/meta/conf/machine/include/riscv/arch-riscv.inc +++ b/meta/conf/machine/include/riscv/arch-riscv.inc @@ -86,14 +86,58 @@ TUNEVALID[zicbom] = "Cache-block management extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" +TUNEVALID[ziccamoa] = "PMA guarantees for A-extension atomics extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccamoa", "_ziccamoa", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccamoa", "_ziccamoa", "", d)}" + +TUNEVALID[ziccif] = "Patching instructions at run time extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccif", "_ziccif", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccif", "_ziccif", "", d)}" + +TUNEVALID[zicclsm] = "Software that assumes misaligned access works extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicclsm", "_zicclsm", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicclsm", "_zicclsm", "", d)}" + +TUNEVALID[ziccrse] = "Guarantees LR/SC forward progress extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccrse", "_ziccrse", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccrse", "_ziccrse", "", d)}" + +TUNEVALID[zicntr] = "Cycle and instruction counting for profiling extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicntr", "_zicntr", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicntr", "_zicntr", "", d)}" + TUNEVALID[zicsr] = "Control and status register access extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" -TUNEVALID[zifencei] = "Instruction-fetch fence extension" +TUNEVALID[zifencei] = "Instruction-fetch fence extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" +TUNEVALID[zmmul] = "Cheaper M subset (mul only) extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" + +TUNEVALID[za128rs] = "Reservation set granularity (128-byte) extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za128rs", "_za128rs", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za128rs", "_za128rs", "", d)}" + +TUNEVALID[zaamo] = "Atomic read-modify-write memory operations extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zaamo", "_zaamo", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zaamo", "_zaamo", "", d)}" + +TUNEVALID[zalrsc] = "Extended LR/SC semantics extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" + +TUNEVALID[zca] = "Compressed base integer ops extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" + +TUNEVALID[zcd] = "16-bit encodings for 64-bit FP extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcd", "_zcd", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcd", "_zcd", "", d)}" + TUNEVALID[zba] = "Address bit manipulation extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" From patchwork Tue Sep 15 19:02:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98356 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B0D40C88E77 for ; Tue, 15 Sep 2026 19:38:15 +0000 (UTC) Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4493.1789499012169079155 for ; Tue, 15 Sep 2026 12:03:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=jb3iY0yB; spf=pass (domain: baylibre.com, ip: 209.85.222.181, mailfrom: tgamblin@baylibre.com) Received: by mail-qk1-f181.google.com with SMTP id af79cd13be357-93a0fb2f9efso89298785a.1 for ; Tue, 15 Sep 2026 12:03:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499011; x=1790103811; darn=lists.openembedded.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:content-type; bh=fPYFJ6ICUdpVDI59NdkP71V+lNPtjusuWG2CipWYBo0=; b=jb3iY0yBbW1L0P15i/k14euex+sZ/wuiEjBNYIgdVlS0h4QHsQP7dc9tLSg3IC6y+Y K4tCN042hczbbBBiWqEGUvnE+OYDwXCiT6YG4HAzca5cMsy6jdfwvuc1pHej6J3BlCH/ b4AYaz4BjzxyHFyRRs2yjiKn6nQF/5fMGDwnsdqUI46d4aAFnx1dH6441VDiWovjoxsd xzrorLlVNnd2QmHZcOuueh0rcEn6wMByQl+Zg1Cw6V2R6JK+yvkK1hu5K73/sZeYwv8C eGW8EMlS14oOCBhQOViJW3lr0F+hBaIaenEcUu4hO0jD2VpgkP/AMk0qp7eC58w3+L/H Z9aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499011; x=1790103811; 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:content-type; bh=fPYFJ6ICUdpVDI59NdkP71V+lNPtjusuWG2CipWYBo0=; b=lBuhkitlMlkiLVUNAIz3B5t+Kcy6wX+biO7FsXuNmfqjaRYD0td7W7hCuKWVXsiH6B fCXc6uWHyGNTgf2hia35mzRt9qZSz8CGdYWZWabta1vm2uQHz3GpTaEcSJEmQNGVZIz7 oUo5f0qntezM59rP9ltI8aoltbmKg2joxxMqfXH3c+3yfdH6YjrQygrstTZ2DWNhgZZl iQfg2+Sw6M5oiDAzBTXBpo9tnSRBDKz7P0CQSfMHa8ZXV/PE92oohCenPiDHcbaNmxDW +uH8QUkpn+EbAj1EI4Pp2cphhMknYlEfue6RbKKsZYzqrdtin1g8enGBezDmyPzZ0Or+ Prwg== X-Gm-Message-State: AFuF++n4ZkJ6lgy5S2IiSmo+9HBabt64RVLqF37keRtu7+CnIw9CGswy cn5cBai7TKn+J/gqDeHCn/IQjSE0JAYNOS41tOxH5b6jXiTo+/DJKJOWVp9TiSOye6ZNKKqlbpN uCJL9 X-Gm-Gg: AYBFou0t5CIWDPsOLjg4GSIYL815dLVD9His2wHw5e1GtYuLSTPehu//RaP2dLtc78S inKVZshdx/A4Z01GqUGehp+BAyHL15MVuJOwVkWZbdSIr2NYffIA4yw9yWbBsUS91BtRe/3v952 iFfFCkHuHQA3y6sYomSTyl/46fr+s62Ate0rhBTPgAzZv1lL53oXZR1OFgdX4+5AW42toVAQxR1 o8D8D2QRFZUgJYUbxEValAxngTrkddg7g50QhijMwxpP5N+PwMC1Zcm7djf0Kq9xtCG3xOocmF8 4RDMD8uuajHQ284GBK79rFa0CUP7MAr5zsUHS5DjcRvjge/1E4ren7bTJr5Vg5wuO9MeE2yIgeK c1XDEzOrlFiUS7LwR25MyvXiIklV3f5Zx1HhHFEIdVXdDUw7tV4qfAqUFwwk90tQlc/XgzQTeKf 3PwvPU2LxVnjGlAjM4uZO1Q96WK2nKhEtSR9iBAYR4f9yrDceb1FIqpU/onkio4owu7DIZ8HHMn THsLuzJAderlBYVejbN0CzpXLiOqmQlhA== X-Received: by 2002:a05:620a:4110:b0:939:72cb:bae9 with SMTP id af79cd13be357-93a34723680mr695610385a.32.1789499010924; Tue, 15 Sep 2026 12:03:30 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93b7825553bsm26431385a.30.2026.09.15.12.03.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:30 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 04/14] meta/lib/oe/tune.py: support profile strings, add rva20u64 Date: Tue, 15 Sep 2026 15:02:34 -0400 Message-ID: <20260915190244.2983746-5-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:15 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245879 Signed-off-by: Trevor Gamblin --- meta/lib/oe/tune.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/meta/lib/oe/tune.py b/meta/lib/oe/tune.py index 7fda19430d..fed593e9af 100644 --- a/meta/lib/oe/tune.py +++ b/meta/lib/oe/tune.py @@ -4,16 +4,25 @@ # SPDX-License-Identifier: GPL-2.0-only # +# RISC-V profile name -> equivalent ISA string. These are determined from compiler output, like: +# tgamblin@alchemist ~ $ riscv64-linux-gnu-gcc -march=rva20u64 -mabi=lp64d -Q --help=target | grep rv64 +# -march=rv64imafdc_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zmmul_za128rs_zaamo_zalrsc_zca_zcd +RISCV_PROFILES = { + 'rva20u64': 'rv64imafdc_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zmmul_za128rs_zaamo_zalrsc_zca_zcd', +} + # riscv_isa_to_tune(isa) # # Automatically translate a RISC-V ISA string to TUNE_FEATURES # # Abbreviations, such as rv32g -> rv32imaffd_zicsr_zifencei are supported. # -# Profiles, such as rva22u64, are NOT supported, you must use ISA strings. +# Profiles are supported for the names listed in RISCV_PROFILES. Otherwise, you +# must use ISA strings. # def riscv_isa_to_tune(isa): _isa = isa.lower() + _isa = RISCV_PROFILES.get(_isa, _isa) feature = [] iter = 0 From patchwork Tue Sep 15 19:02:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98355 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BCD8EC982C1 for ; Tue, 15 Sep 2026 19:38:15 +0000 (UTC) Received: from mail-qv2-f12.google.com (mail-qv2-f12.google.com [74.125.230.140]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4694.1789499014806098963 for ; Tue, 15 Sep 2026 12:03:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=ZOscrAVT; spf=pass (domain: baylibre.com, ip: 74.125.230.140, mailfrom: tgamblin@baylibre.com) Received: by mail-qv2-f12.google.com with SMTP id 6a1803df08f44-91071ba92a8so869316d6.0 for ; Tue, 15 Sep 2026 12:03:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499014; x=1790103814; darn=lists.openembedded.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:content-type; bh=Pt7XdNMN7R3dKHPqM+iiY0UCW4cIn+/tO0VpX++TTq0=; b=ZOscrAVTTBo1IOE9PMmN/PambYi0Kg2jtqf1jhtS8TP52AmiQsf7gn6jejpK59T/T7 yw4evCZ2CNwZaFZdoLtInNWv0IDFZ+AJNUjHGmLp9kL5kG9nSNUQ1VlL9vZ6bvuIqFmI i6ffnttBXnKRYhZfdHF4+hKfr+3NUp/AOIBWWG5lSP8SjD4rXRfHthLzwXwbnzie7Y66 OPZRweB5U1pBn5NqJvJ6Dauy6wbpSPvsvPjYCmIF3EuhpHhLNOJ4lwY7BvE1xuyMYzSY 1z0+P2xD6kyWtCmihJwsOzkZfgit9j/fXyhSOBR4RyS+uDK5oiNWcwWiOTldYSj1DOr4 Wbiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499014; x=1790103814; 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:content-type; bh=Pt7XdNMN7R3dKHPqM+iiY0UCW4cIn+/tO0VpX++TTq0=; b=GyHGTSPL7tEx3Yh1skz/XHluF4YOSA7NPl5NTGx0W7akLXwntjNay8LaIClQ6issAT ShpK0jbXOueeVJt0tYeUUYmBwaxO9VqADFry51h9youcgux72Oh1J3zbe14BcI3ocxTK 69Wfr3+4b3+7YbVAdPynEmtsMdyzqvBTu3SoZWIHqvMuz/oVNPxAS83af3Rx22MLVuuD j873LqvqRW11YI6SjvWG01PklGoZDBu/ROvr+aod/9sMMuxnM3XrT5GvEpVKMwTmPoL/ tW9IztypuYMP5mrqVzaiosdrLh1hga+w4YpweAbUOKrGxO+VfiI2onYKbnTFipbZaodq GvNA== X-Gm-Message-State: AFuF++n/U2e82bsGUpVr0jMIsqFTguaHX8GYXQH0kMAexuaJPkC0Jw1U YiEgBq5EfBA2ToBFxDyP9YSwWFtrs+MQpAJKc9ZmNsdPuWelRj0IMi8yi8VjXXk4MNhUQkjD3a0 HPZiu X-Gm-Gg: AYBFou0srROFYsMhJMqWueiwZzAxd6A2iymG3pN3zdknD6txhZpIYZkV41seb8Bq63T my2tmBnSNTQ7Ya7AIa6qtIS9FPS4pIetJ13GSEcZxw3Jnl2b80EdeY8aStKSv9XiW119dFMf+Kt pmG2/6WXu5iCVbW0KPpRSGenhIABJd6vV946Z9lPvcWW9XIIO4cilIAcrfQiLhrqFssxx64+mXp rhA3dzKnS/r55enpQnZKMgPkCWq0OxxpyvE4mX5IRNyzlnG5OlayGaDr6opw84Bz2SUJNXJQtQz 3e3mhICOYOc6fig0YtrOdeKycEB+bkGe+rXoGkui5njfILzAnq6gFHZRXB6Un0ylUOd+If9N3Bs Mo1uzpklp4Kg6Roi90GqS1kmbGc6DJkZw5RywUqhM8epX9gcORotci1XNY4jy7Eycj9Nh2KTMA0 tXOO0WRWS9Pi9Bk7jq3Rov6Ci9HC0gq1N2sofa13t992WTbP1IlraOIK1G6Ac8F+zKMN4Yb8I4z gSbcvHz5fXoPRxK9g42Cu/LNZZ56kXjzQ== X-Received: by 2002:a05:6214:1304:b0:908:958f:4db with SMTP id 6a1803df08f44-9123a41e504mr42198056d6.3.1789499013489; Tue, 15 Sep 2026 12:03:33 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-9123be7c43bsm5904396d6.23.2026.09.15.12.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:32 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 05/14] tune-riscv.inc: add rva20u64 to AVAILTUNES Date: Tue, 15 Sep 2026 15:02:35 -0400 Message-ID: <20260915190244.2983746-6-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:15 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245880 riscv64gc remains the default for now. Signed-off-by: Trevor Gamblin --- meta/conf/machine/include/riscv/tune-riscv.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc index 3eb057680a..e41a6ccc85 100644 --- a/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/meta/conf/machine/include/riscv/tune-riscv.inc @@ -2,7 +2,10 @@ require conf/machine/include/riscv/arch-riscv.inc DEFAULTTUNE ?= "riscv64gc" -AVAILTUNES += "riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" +AVAILTUNES += "rva20u64 riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" + +TUNE_FEATURES:tune-rva20u64 := "${@oe.tune.riscv_isa_to_tune("rva20u64")}" +PACKAGE_EXTRA_ARCHS:tune-rva20u64 = "${TUNE_RISCV_PKGARCH}" # Default TUNE_FEATURES:tune-riscv64gc := "${@oe.tune.riscv_isa_to_tune("rv64gc")}" From patchwork Tue Sep 15 19:02:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98357 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B14ACC88E77 for ; Tue, 15 Sep 2026 19:38:25 +0000 (UTC) Received: from mail-qk2-f12.google.com (mail-qk2-f12.google.com [74.125.230.204]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4496.1789499018438101016 for ; Tue, 15 Sep 2026 12:03:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=ZgbWFLFu; spf=pass (domain: baylibre.com, ip: 74.125.230.204, mailfrom: tgamblin@baylibre.com) Received: by mail-qk2-f12.google.com with SMTP id d75a77b69052e-52fb769ca02so767001cf.0 for ; Tue, 15 Sep 2026 12:03:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499017; x=1790103817; darn=lists.openembedded.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:content-type; bh=pu8WSdxUuaBYUDhO5RJ3jj+TSz9/TxS1ly1Y8dGX7S8=; b=ZgbWFLFuR4J7t4YdHAxEJacjN52YAYsbWEaHOZNXjuw8uTJ/4VSbaHvFrmtZ84JdoI K2fZvZmO67s0R8/MrTjeAtbHQcvwBVveCyApKw4OYjI+kgGOMw6pi7tkJJZ4+2luit79 kLR7a0X9MQUqTMstYEP+uo2kVXYGueQMHD//WAp5jx+0hXo+AJRxU36JchwnBxVEoJph 2iMdBXI2caA7rlPw/HCs8kcYFURr0wgMmj+WAshDBqFkqUnwd7/8sd7hzSyZjAzr9EEu EQi64QIjwqEzVr8bEf/9yRtbxyXxkLGkdV/3cQGvGWNq+RUDX30B6qyPWKtPAhEDP1XN 3q7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499017; x=1790103817; 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:content-type; bh=pu8WSdxUuaBYUDhO5RJ3jj+TSz9/TxS1ly1Y8dGX7S8=; b=EhNdcRdsGD+tJaJyG6/N0CNsdWSDvZSz4PGTNYp1uluLVUbu127QdJGYKeCOAUPZJ4 qC0zNzYJevnR+OYwGVK0NlRDnx3W2gshxjPSR+QRSLzeMplGzDJZhLoZ5hc/UDIxB/Gy uBlfRjUWTZycTANo9c2IEmZTHIYPHBbe4PSbxfHoh7XPIHushxkdxpwoibT6VtQ43OGt l+TOUsZrjNyJ7ZpORbSRK46nE7nX76R28/rDPGY2e3Nv1IVe06kIxYaVCjt7+i0cjqEZ hpDvsuFHx5OOLMB9wd0DxMKKkHbXT9/2Jd0vwGcEbOxr+eZ9CRBHWOngYhZakawtXBkN rYJA== X-Gm-Message-State: AFuF++lE+3FvQ3Ejr4Zwb7967prmkv+b2eMuig33rie5yiU2sX5bq2He hOseDryRiZk1GMDULKGSvODOONlsnpx2+/zU6msNtRbvo7slDhKNUSl41bbkwcmK8n7tjH0NY+E ig321 X-Gm-Gg: AYBFou1SsJE754YAghHWuSX8FR+rLSC6L+5qAYhAy979zwLxHTaoC46d8qHewr5H+HG MPqrZs4BvtbiHnassgSIP7GTEV3G77kbk4ofFyY6nCDY4bhHqrx7t/CH5jLeLyce2G4ODkUxaoC FmaWJ3r2u3WT9QpROz3/0jZdsxg0aRYSWlLxFEvb3yUDu3JOa7bHIcQNiO0WJ77YikGHCgMaLu0 ec6JeNWw+7Nso2ZSacv4F/lQ0T5KEOQNecCFyCw7/EY50DCC8tuPryKBkxxA1eaZs54iRzKMwUb F+ZlN67EXhrjm8+ie1u5Upg82DJraY8m12utUYqFaPQeS1yZUbUTR/D5EMVkhMnZfJU4Eiuk394 cErwwD7DMMdmoa3tshLtCdLIHmrgOW15WrggKws40X7X3YrtoF311Q1j/d/HT2uGaQSMBdMb8ym UAIftO+C/3DRjxL3g+fXoelBxl3jXtvop/XRbJHMlMWoxwEN6gkcfljbm52MZfGcPgwRlf4rTOy rqnzZWb8tH/bj9CHBEcSte+nijjpiqQUQ== X-Received: by 2002:ac8:5a09:0:b0:52f:acf2:110c with SMTP id d75a77b69052e-5310cf1b729mr145436511cf.3.1789499017067; Tue, 15 Sep 2026 12:03:37 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-5326204cc73sm1612651cf.19.2026.09.15.12.03.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:34 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 06/14] arch-riscv.inc: add rva22u64 extensions Date: Tue, 15 Sep 2026 15:02:36 -0400 Message-ID: <20260915190244.2983746-7-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245881 gcc reports the following extension string for '-march=rva22u64': |tgamblin@megalith ~/workspace/ypbuilds/poky-qemuriscv64/layers/openembedded-core (master)$ riscv64-linux-gnu-gcc -march=rva22u64 -mabi=lp64d -Q --help=target | grep rv64 | -march= rv64imafdcb_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zihintpause_zmmul_za64rs_zaamo_zalrsc_zfhmin_zca_zcd_zba_zbb_zbs_zkt Add the following extensions needed to complete the profile: - za64rs - zfhmin - zic64b - zicbop - zicboz - zihintpause - zkt Signed-off-by: Trevor Gamblin --- .../conf/machine/include/riscv/arch-riscv.inc | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc index 7db400694c..c05cdf8c21 100644 --- a/meta/conf/machine/include/riscv/arch-riscv.inc +++ b/meta/conf/machine/include/riscv/arch-riscv.inc @@ -82,10 +82,22 @@ TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "v", "v", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "v", "v", "", d)}" # Now the special Z extensions +TUNEVALID[zic64b] = "Cache block size is 64 bytes extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zic64b", "_zic64b", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zic64b", "_zic64b", "", d)}" + TUNEVALID[zicbom] = "Cache-block management extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" +TUNEVALID[zicbop] = "Cache-block prefetching extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbop", "_zicbop", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbop", "_zicbop", "", d)}" + +TUNEVALID[zicboz] = "Cache-block zeroing extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicboz", "_zicboz", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicboz", "_zicboz", "", d)}" + TUNEVALID[ziccamoa] = "PMA guarantees for A-extension atomics extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccamoa", "_ziccamoa", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccamoa", "_ziccamoa", "", d)}" @@ -114,10 +126,18 @@ TUNEVALID[zifencei] = "Instruction-fetch fence extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" +TUNEVALID[zihintpause] = "Pause hint extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintpause", "_zihintpause", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintpause", "_zihintpause", "", d)}" + TUNEVALID[zmmul] = "Cheaper M subset (mul only) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" +TUNEVALID[za64rs] = "Reservation set size of at most 64 bytes extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za64rs", "_za64rs", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za64rs", "_za64rs", "", d)}" + TUNEVALID[za128rs] = "Reservation set granularity (128-byte) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za128rs", "_za128rs", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za128rs", "_za128rs", "", d)}" @@ -130,6 +150,10 @@ TUNEVALID[zalrsc] = "Extended LR/SC semantics extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" +TUNEVALID[zfhmin] = "Minimal half-precision floating point extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfhmin", "_zfhmin", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfhmin", "_zfhmin", "", d)}" + TUNEVALID[zca] = "Compressed base integer ops extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" @@ -154,6 +178,10 @@ TUNEVALID[zbs] = "Single-bit manipulation extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", "_zbs", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", "_zbs", "", d)}" +TUNEVALID[zkt] = "Data-independent execution latency extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zkt", "_zkt", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zkt", "_zkt", "", d)}" + # Construct TUNE_CCARGS # This should result in a CCARG similar to: # -march=rv32imac -mabi=ilp32 From patchwork Tue Sep 15 19:02:37 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98358 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B16D9C88E7D for ; Tue, 15 Sep 2026 19:38:35 +0000 (UTC) Received: from mail-qk2-f12.google.com (mail-qk2-f12.google.com [74.125.230.204]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4699.1789499020323391749 for ; Tue, 15 Sep 2026 12:03:40 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=ndSzrAS1; spf=pass (domain: baylibre.com, ip: 74.125.230.204, mailfrom: tgamblin@baylibre.com) Received: by mail-qk2-f12.google.com with SMTP id d75a77b69052e-52fb769ca17so436051cf.2 for ; Tue, 15 Sep 2026 12:03:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499019; x=1790103819; darn=lists.openembedded.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:content-type; bh=LW1NvF+bHo3hl8Is3qX5WbPU030ySSriq5P5jw7Zk3w=; b=ndSzrAS1g9A1dKTwyrU2tDo8cCyykZGOMrvqHcVVsXVjptNsZZRnwtm0SVD55FgsLz NYkBcp6Xu5AAqcOEBb4wH1cRe188QAqlMzB6ZzbibOOMVbl/KrKT0Y5nRHIvmCmYzVCd Ic4RsK+6TsciGKjgeCX3/I37c0nYdGYFCHKCDjDuk2+GXliGt0w7+Kfhewr2lAUhfz8p 0aVclaVzGO5CKLRWk0Qe9QvqfKurVPdSO+5vbVdw9jE2lq4juGeHbg9n42he2EFvk/ga vYoyhfFI39Ix795IkqX0b1lhUtpjqhtDp6pGyvkegmZ997WOyK0lfSz3vX7P9e3hFGKI 30OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499019; x=1790103819; 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:content-type; bh=LW1NvF+bHo3hl8Is3qX5WbPU030ySSriq5P5jw7Zk3w=; b=zZIxr0RbfneZiqeXZAoiTd9TgnXU4RSU76cSQcf0fw+CLYCPo0CySkw1kTuWagUyo6 GVndV/6FSpvi7Z1TCg3r8qr4w8MCYrKlS5ixOpL1MJPcuUDlcgie3HIB5KAPxMIoybxJ yqdzuQaz+qwPmgEdnfTtoJTPfwKEnL/9SYE8h3zaRRWOiqyFVIQJDhA/S9pz1/EChrwI 1a9kRv1ArGjbmgh0eMPldax9K+xhqOn0jnxEoIzQOAUMbpm44Q9OTjQE2pmGI6Mfinsg 81QvYwmv9q7iMNEqfppjwk+xwaqYACpn67WXYXgda7CUf63xhUKcMSMvaJIGScfB+Dzj LcBA== X-Gm-Message-State: AFuF++kXQlDlLgnkKTMt1FmU1VNmlFpqCCSL0JZn98rN4F7Je7t73fvV 9sf6aYUFVvB5GWnr9udsaQT+I9ISnbx/8dZrQYcVLZ+s3seJNvH2b0ZcjxaNkEJGVgZau1aIjvm ugAhN X-Gm-Gg: AYBFou3SUO812ZzQcZMF/dK6/fD0LWXWlb4CvaqAzE8EM+vOaG4htttdbZMaY7djbQX lm6rjN3k2Yy62bt8TDcU+1ntlcsAsFwfgtPil+vYWBrKQDindWf5a1w7+xH9DdlhkAR6Nhcqt/U bt/uMNN8OdIZdQbbYoljLZYnCnPnMUNsbpktO9BVsC7c8EDatAkzXMzD1jv1T6v18MPtv4YxH6w F9DHSA1TOgEfGLU6EuG8Zw0WQl1J4dT+y67RTLI/ha+ruzJXPCPj4FDymtWTI0C3TBdSQwhNwf6 0JnzH7n4gCJYwLfbulyD3JBjb+dcAx+Iu9yuQHVOEu8GhSSz0m63FXZ9e9aBBlis4m+/NjBpeSl XWxoucPBZM2GNy4KYuiU9AltRjRwK6CUmfyRM4SD6uPQjF3OuGcGLgm7pVDH7AcYY6Yzm1OeAZ9 EnS9aeG7T638mq2htnD5MqrNd98DuRuHf/ohwAD4ePq9T1K/u9EnYVgOESfjfciVuRJ785YUlen 1DTJdOn8gLadWOalt4LGnXwZqVTZvnAAK72UcoJDg7l X-Received: by 2002:a05:622a:494:b0:530:313c:292d with SMTP id d75a77b69052e-5310d03c62emr146905791cf.36.1789499019097; Tue, 15 Sep 2026 12:03:39 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-5326200b8d1sm1663871cf.12.2026.09.15.12.03.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:38 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 07/14] meta/lib/oe/tune.py: add rva22u64 profile Date: Tue, 15 Sep 2026 15:02:37 -0400 Message-ID: <20260915190244.2983746-8-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:35 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245882 Signed-off-by: Trevor Gamblin --- meta/lib/oe/tune.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/lib/oe/tune.py b/meta/lib/oe/tune.py index fed593e9af..8827d68a23 100644 --- a/meta/lib/oe/tune.py +++ b/meta/lib/oe/tune.py @@ -9,6 +9,7 @@ # -march=rv64imafdc_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zmmul_za128rs_zaamo_zalrsc_zca_zcd RISCV_PROFILES = { 'rva20u64': 'rv64imafdc_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zmmul_za128rs_zaamo_zalrsc_zca_zcd', + 'rva22u64': 'rv64imafdcb_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zihintpause_zmmul_za64rs_zaamo_zalrsc_zfhmin_zca_zcd_zba_zbb_zbs_zkt', } # riscv_isa_to_tune(isa) From patchwork Tue Sep 15 19:02:38 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98359 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B1767C88E77 for ; Tue, 15 Sep 2026 19:38:45 +0000 (UTC) Received: from mail-qk2-f12.google.com (mail-qk2-f12.google.com [74.125.230.204]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4497.1789499022173599954 for ; Tue, 15 Sep 2026 12:03:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=PoaPEanh; spf=pass (domain: baylibre.com, ip: 74.125.230.204, mailfrom: tgamblin@baylibre.com) Received: by mail-qk2-f12.google.com with SMTP id d75a77b69052e-530de452c33so517451cf.1 for ; Tue, 15 Sep 2026 12:03:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499021; x=1790103821; darn=lists.openembedded.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:content-type; bh=PxNZRZfh3q1orOtYnMN1CqOuxdaiJUhAckG3IiEVP3o=; b=PoaPEanhIXvkQkBDGy6RJRkkjIZH0/fMPhzQHLGJaye13ZwUmSBijEua2d73Cg8FKc GEluzfbNt9PSeQyl9MX0X1TxkQq6W2iFcnfymkH/QmYcIsPhNdLDNOfS6LrM2YF7IopZ HMTmjH97TSTzoQjLxw+IxTWRjzkZSeppG6HCeFwQtOE4NflXQsnWYAZyroaMAQvZKT9t d6kvQ/p/QUw6MiwWCMqzctknpZJbSO6P3fO5PVFq1ppEneVxjJCYZaw5aJtRPd4hL5Wc 4z5VCxHOsAkoNqy3BFTSTDziIMHSOsdqSQmszMySrjIo04irdcdENy4HtQvtHxamKplD Omog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499021; x=1790103821; 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:content-type; bh=PxNZRZfh3q1orOtYnMN1CqOuxdaiJUhAckG3IiEVP3o=; b=sULTiMzZvbDlD+c1ouGzuQDZW7m3wT1CK7nINO663c+UaCu9XCBuLnqcopSptPWVR5 yKiNiaPwQzYxtAqxrg7g29jzgA3lWuEwrJ2nc/CODaojgwPc2QKSHDNjIGUqCFYbTGxi EKhCsnIwiPP0rf/FA6DLkkt4tlQRCJB/TCITPsQXEVvx/WMaxylb1Iknq3aAJ9gYbapI 1ZiTKU5AbSqqrYq+sSQd2TpFI77dTscojTyc1BOFwkwGkUNjXFoGmWqTJ2ocQkOPWcff snowBSXEK3N/tVJyKgjndhWdAa6goL68yWasTsBkxDgyFBjtFoKf2A79MvZ01EysIGmO YBYQ== X-Gm-Message-State: AFuF++m76YVaxaPEmmjk1nwaSS2d4NUTaSeyXrP6OyaT+fSHPT2Xfo9q q7BQz7IZQURWi36XrEJegLBhKgpym/0yXnJFoz0F6bui3//aYZloob4ftkLGMAjvK8Nx9T7ET5E 6/uc7 X-Gm-Gg: AYBFou3FI3JBB3SbxwrUXnDWfKeidIvrS1kttQwdbTftwWt6nTjUKSStSSzcoDiBwv4 XOWHsU8TkfYyuWIfkPZhV8SsBRICE2JmUI28kBMs1LWjrrfkFSzqv3eXtb294ANK2MvsxWzJNlT DzxZDqgpTuEzrnIBSapCNLAFW14P3N5FcNt5UDLjw6aak6pJW6pPVxH9S+aOTul/6dFwEF01tX9 ug6Fz4Ix1uhPnm2cIFybcjQfKO5Fzwz6S/g1Y+o7kWbfLBw1v4GJWOUl8TFTE4zneC87ZOCpX5p jWCGdQNCdaITCEM6Bvjysoy2oKuez6l6uFvO75oiR+az1Vq6/KdGjfB5yKI/yLkznZHB414MeRK Vwpi5OebVQJf/+7urVZpMNB/hfFWoGcLpznLtHFfyC3ZAPGojmiGQ2l0tzBLh8QcYZ6vOttuf0Q LrUcFcUaucTX5F59a7h69zaX2xteFn2GI2Fu819lFATXbpkUP9OY09/hHd7ew0GfQUXTswQkg4g Cw9V7+seVqU8WJgeAtLDgn04l1s75bIJA== X-Received: by 2002:a05:622a:3cb:b0:530:ec4e:67d7 with SMTP id d75a77b69052e-5310cf8c96fmr131978301cf.27.1789499020859; Tue, 15 Sep 2026 12:03:40 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-53259aedff4sm1878951cf.4.2026.09.15.12.03.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:40 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 08/14] tune-riscv.inc: add rva22u64 to AVAILTUNES Date: Tue, 15 Sep 2026 15:02:38 -0400 Message-ID: <20260915190244.2983746-9-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:45 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245883 Signed-off-by: Trevor Gamblin --- meta/conf/machine/include/riscv/tune-riscv.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc index e41a6ccc85..e8544ba8ce 100644 --- a/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/meta/conf/machine/include/riscv/tune-riscv.inc @@ -2,11 +2,14 @@ require conf/machine/include/riscv/arch-riscv.inc DEFAULTTUNE ?= "riscv64gc" -AVAILTUNES += "rva20u64 riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" +AVAILTUNES += "rva22u64 rva20u64 riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" TUNE_FEATURES:tune-rva20u64 := "${@oe.tune.riscv_isa_to_tune("rva20u64")}" PACKAGE_EXTRA_ARCHS:tune-rva20u64 = "${TUNE_RISCV_PKGARCH}" +TUNE_FEATURES:tune-rva22u64 := "${@oe.tune.riscv_isa_to_tune("rva22u64")}" +PACKAGE_EXTRA_ARCHS:tune-rva22u64 = "${TUNE_RISCV_PKGARCH}" + # Default TUNE_FEATURES:tune-riscv64gc := "${@oe.tune.riscv_isa_to_tune("rv64gc")}" PACKAGE_EXTRA_ARCHS:tune-riscv64gc = "${TUNE_RISCV_PKGARCH}" From patchwork Tue Sep 15 19:02:39 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98360 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF76FC982C1 for ; Tue, 15 Sep 2026 19:38:45 +0000 (UTC) Received: from mail-qv2-f37.google.com (mail-qv2-f37.google.com [74.125.230.165]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4700.1789499024137954780 for ; Tue, 15 Sep 2026 12:03:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=kA5cYwAL; spf=pass (domain: baylibre.com, ip: 74.125.230.165, mailfrom: tgamblin@baylibre.com) Received: by mail-qv2-f37.google.com with SMTP id 6a1803df08f44-91235f46716so1279536d6.1 for ; Tue, 15 Sep 2026 12:03:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499023; x=1790103823; darn=lists.openembedded.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:content-type; bh=tYolLxubgV8rmu77vNIUxdTJd2JY5wDDYhbGjNObmuY=; b=kA5cYwALPN4ItNeJQBYQbBAZmu82Tg3391njDbrIKTuUPWSKRkbeJ2elQOPH/CkW7h Z7ckkcjztysFcvGc4WJhAlpqkiORpwbXpgQnfv+dcX0i3m4y+WyX2KiY8ZJTGh0lkZP8 36+mUCkMSl6cGTWx4le8YgfltItO4K2FCKyFrbBs/IGAgE1pk/a+5TvtyWYKl0nDW89+ +m7GfzAaxneu1X/309u1GP+Uh8uHTa3xtUulROtlVKmPMSf1CRlldkwNXX/Hf/8oeAJX 3Qk3hZe+CRe5U5oYx7c0ebMLTPT9TzbjztYuHuWAjA173smz5NdjyRvviQKERkhjSvPX rRnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499023; x=1790103823; 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:content-type; bh=tYolLxubgV8rmu77vNIUxdTJd2JY5wDDYhbGjNObmuY=; b=IXWNtK74xNFQHBkMa4VLSVRuhHU9uL4l9m5lusHpMUnLFkmNFWZB3eAvPG7imLR/2S LvX6WPS0j85a8dEclzf8CW/rjrdDAjcbdLvwJRfcLY7Om1rVwxMq0DcP40qleyxL3GbI xGzlSBo9IL7wId2Yz7FFRDGypMU2WcGugpv1gYWYMcSfNTc5UmEzLE42FLaJYbbW0rfm LZafrWO0UlYvvwNplTMG2QBPYK9X5suDitPAPkVJIHRN/M7gdkEA67o1389DQ/lq73g5 Nv1CVRB1kI8M/7rY3KZaIFaOSt2G4xdA/jjHf6jUfUueH2yyHRaCAvLW2NJTACVYvNEn FGcQ== X-Gm-Message-State: AFuF++nDskWTFrl2LvB4RZj1qK9Zwv77m9m7R5DIlkZ5WfCx/QMPqE8U r0eoQYH3v91qzQcbWG51FywMa8WrPzli6xc2jaSnXsC+EbRQQvrDtQRrO1XtscSDnjHX6cYTS+s Q3y55 X-Gm-Gg: AYBFou1T0ZsjFh3/h6S9hZ3bLDWibL25RJ83GBdNlWY1sysEsO/KTvMVR0Az/mVyA0q M1JL52C9L8nomRzUJCAu2pCZbxXQGNIk0doauT2L/YbUxDCKIuaJ5VPNp0E0h2xSjk9O09tzO7M t1NSliia3nWpUkHG7S4vrxDFTmn5ST0jyFpUfYwBOOoy4ZGhKVybKlT1VdSNSElLRu1K6spQz/x MuRHdkjoCsomLn1YFepumbgXpWEThZLHcXbDZf0pyL5x0nRoSx9YnyPU6usaayaeGnssDPzEoK6 pCvXZD6t1gIFez0nJVSJ3DvtGNhkwie5RO0GlfOcxfmDgE0dITpoY1omb87gJJfIXfxJvrlNOq1 67zc0MgxgEwJQPnoyEFlQXGNU4MEODJgC/MVT84KYSzAUz4wNnvaPJV6bl6vE9c/6oRuyu0dxBU eFcmqSjFxFic+oPBmm+fjMmIdbwa6uKOh2AeRNk1TJaTplAq8MGtm8nuFZwJtnb6M6MxBlWPeb8 7y7AnCrYptOxJtAmt8xHCKLUKUNGWzzdRQ= X-Received: by 2002:a05:6214:cc8:b0:910:705a:2c5e with SMTP id 6a1803df08f44-9122e55d547mr154529376d6.18.1789499022747; Tue, 15 Sep 2026 12:03:42 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-9123beadde6sm5671696d6.35.2026.09.15.12.03.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:42 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 09/14] arch-riscv.inc: add rva23u64 extensions Date: Tue, 15 Sep 2026 15:02:39 -0400 Message-ID: <20260915190244.2983746-10-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:45 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245884 gcc reports the following extension string for '-march=rva32u64': |tgamblin@megalith ~/workspace/ypbuilds/poky-qemuriscv64/layers/openembedded-core (master)$ riscv64-linux-gnu-gcc -march=rva23u64 -mabi=lp64d -Q --help=target | grep rv64 | -march= rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicond_zicsr_zihintntl_zihintpause_zihpm_zimop_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbs_zkt_zvbb_zve32f_zve32x_zve64d_zve64f_zve64x_zvfhmin_z Add the following extensions to complete the profile: - zawrs - zcb - zcmop - zfa - zicond - zihintntl - zihpm - zimop - zvbb - zve32f - zve32x - zve64d - zve64f - zve64x Signed-off-by: Trevor Gamblin --- .../conf/machine/include/riscv/arch-riscv.inc | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc index c05cdf8c21..e60b88fe44 100644 --- a/meta/conf/machine/include/riscv/arch-riscv.inc +++ b/meta/conf/machine/include/riscv/arch-riscv.inc @@ -118,6 +118,10 @@ TUNEVALID[zicntr] = "Cycle and instruction counting for profiling extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicntr", "_zicntr", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicntr", "_zicntr", "", d)}" +TUNEVALID[zicond] = "Conditional zeroing operations extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicond", "_zicond", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicond", "_zicond", "", d)}" + TUNEVALID[zicsr] = "Control and status register access extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" @@ -126,10 +130,22 @@ TUNEVALID[zifencei] = "Instruction-fetch fence extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" +TUNEVALID[zihintntl] = "Non-temporal locality hints extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintntl", "_zihintntl", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintntl", "_zihintntl", "", d)}" + TUNEVALID[zihintpause] = "Pause hint extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintpause", "_zihintpause", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintpause", "_zihintpause", "", d)}" +TUNEVALID[zihpm] = "Hardware performance counters extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihpm", "_zihpm", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihpm", "_zihpm", "", d)}" + +TUNEVALID[zimop] = "Hardware performance counters extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zimop", "_zimop", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zimop", "_zimop", "", d)}" + TUNEVALID[zmmul] = "Cheaper M subset (mul only) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" @@ -150,6 +166,14 @@ TUNEVALID[zalrsc] = "Extended LR/SC semantics extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" +TUNEVALID[zawrs] = "Wait-on-reservation-set instructions extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zawrs", "_zawrs", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zawrs", "_zawrs", "", d)}" + +TUNEVALID[zfa] = "Additional floating point instructions extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfa", "_zfa", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfa", "_zfa", "", d)}" + TUNEVALID[zfhmin] = "Minimal half-precision floating point extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfhmin", "_zfhmin", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfhmin", "_zfhmin", "", d)}" @@ -158,10 +182,18 @@ TUNEVALID[zca] = "Compressed base integer ops extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" +TUNEVALID[zcb] = "Extra compressed integer ops extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcb", "_zcb", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcb", "_zcb", "", d)}" + TUNEVALID[zcd] = "16-bit encodings for 64-bit FP extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcd", "_zcd", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcd", "_zcd", "", d)}" +TUNEVALID[zcmop] = "Compressed may-be-ops extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcmop", "_zcmop", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcmop", "_zcmop", "", d)}" + TUNEVALID[zba] = "Address bit manipulation extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" @@ -182,6 +214,58 @@ TUNEVALID[zkt] = "Data-independent execution latency extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zkt", "_zkt", "", d)}" TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zkt", "_zkt", "", d)}" +TUNEVALID[zvbb] = "Vector basic bit-manipulation extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvbb", "_zvbb", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvbb", "_zvbb", "", d)}" + +TUNEVALID[zve32f] = "Embedded vector computation (32-bit integer, 32-bit FP) extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32f", "_zve32f", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32f", "_zve32f", "", d)}" + +TUNEVALID[zve32x] = "Embedded vector computation (32-bit integer) extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32x", "_zve32x", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32x", "_zve32x", "", d)}" + +TUNEVALID[zve64d] = "Embedded vector computation (64-bit integer, 64-bit FP) extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64d", "_zve64d", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64d", "_zve64d", "", d)}" + +TUNEVALID[zve64f] = "Embedded vector computation (64-bit integer, 32-bit FP) extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64f", "_zve64f", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64f", "_zve64f", "", d)}" + +TUNEVALID[zve64x] = "Embedded vector computation (64-bit integer) extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64x", "_zve64x", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64x", "_zve64x", "", d)}" + +TUNEVALID[zvfhmin] = "Vector half-precision minimal extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvfhmin", "_zvfhmin", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvfhmin", "_zvfhmin", "", d)}" + +TUNEVALID[zvkb] = "Vector cryptography bit-manipulation extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkb", "_zvkb", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkb", "_zvkb", "", d)}" + +TUNEVALID[zvkt] = "Vector data independent execution latency extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkt", "_zvkt", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkt", "_zvkt", "", d)}" + +TUNEVALID[zvl128b] = "Minimum vector length standard extensions (128-bit)." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl128b", "_zvl128b", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl128b", "_zvl128b", "", d)}" + +TUNEVALID[zvl32b] = "Minimum vector length standard extensions (32-bit)." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl32b", "_zvl32b", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl32b", "_zvl32b", "", d)}" + +TUNEVALID[zvl64b] = "Minimum vector length standard extensions (64-bit)." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl64b", "_zvl64b", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl64b", "_zvl64b", "", d)}" + +TUNEVALID[supm] = "User-mode pointer masking extension." +TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "supm", "_supm", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "supm", "_supm", "", d)}" + # Construct TUNE_CCARGS # This should result in a CCARG similar to: # -march=rv32imac -mabi=ilp32 From patchwork Tue Sep 15 19:02:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98361 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B1497C88E77 for ; Tue, 15 Sep 2026 19:38:55 +0000 (UTC) Received: from mail-qk2-f42.google.com (mail-qk2-f42.google.com [74.125.230.234]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4701.1789499026659253025 for ; Tue, 15 Sep 2026 12:03:46 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=K1hD599N; spf=pass (domain: baylibre.com, ip: 74.125.230.234, mailfrom: tgamblin@baylibre.com) Received: by mail-qk2-f42.google.com with SMTP id d75a77b69052e-53122c5bbb4so428401cf.2 for ; Tue, 15 Sep 2026 12:03:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499025; x=1790103825; darn=lists.openembedded.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:content-type; bh=TvsTy+ASW7zkCbtoF0lxateslrz46DDTvVuweRIoar0=; b=K1hD599NDxyIwSSv8k5EYwwKGjdBJsL6hApOswDSHQP7fIRSDXEgdqu6EiIcebyekf yfsFR1kjt4HLHMB8Xn6WCSQ9oaBrb8MhtSx/BdDh0hiVLVZqYy3wl9gA+vvACoExbNzo LhRPYDn0xvsqtfOsJTPXePbRAjXIM9NJxGiz0BDzqnoVYkR5+doPSzXn0U20t4QBA4Kg BGo0ZSSruoHUdN4cClvT5rf0oGlWnIGDaqwaCH49sr6798Bt9qG0DUYNVsPZYEtfx+Ew EmOPvN8CJf+npckrI9uGl1TCew9wPtyMiSt/7R4xExbsiPrPBBulNKSm2jFIYGd+LN4Y RAsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499025; x=1790103825; 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:content-type; bh=TvsTy+ASW7zkCbtoF0lxateslrz46DDTvVuweRIoar0=; b=gHq44ZKEGDb/BTFcG55MZX5ynmJNuky1cRPTcbXqWnEKKfFnoFW46YmW8JbiC1zlxx E/ltzx7TBR+CQa2b1EK7saf3hCq3mRGfhBvbPIhem8gyCOOc/UUdsGzb9UYyWYOyZdjg Sp+fITvX4J40KOtHc3qHJIQjd04z5rLNrC2LCiMwlHsc9uDWTcZ4jM90oC9kD07Q9Cvs TZa6t08C54Xpe1MHZyPjQ758u040HyXLs+5jOsQMwBfW6u0GI4Y8hOBUD91+XjpdwJPF L09m9zfnIqvGso4V/p0rQq1H3MDfESXlXByzvd+MPERNwjjcO6uhjFMEU6uMqzjC3UHU viBQ== X-Gm-Message-State: AFuF++mr339V84EMUikF7lpUKrf7jtQzuwwWXV0RO9q/cjFhm7fS5UVX HjpHO+RwicCoZRaIxid3+dCljBMIFot50COxhFrutFGAkTd9Dv5R8fipRu0mfuUsH1g7PMVfxGx WFAD4 X-Gm-Gg: AYBFou0U75kR7SYGIbmqLBAJAGKmtAxDZI68pu+cWb5qTFPDqd3DtWlOrpyE4mzM3NA 7v+5IG2lJKgP1iP+xcLbGPCDqjlrOvgUl87OePw5AxIjImuwXpTeMvGTvy5fAYkx9RT6T0ntPHx 7DDNoTttoN0ZBd2kmfvhwytFku9tGiMlSVfIjiDODhTlvFoyCN6vF39i4WA9jesu/vlv0VvgPJm Z8CnxLa8pyoTTl09uFMDPw+1Oi01ikTN6CFFqsioHNc84ZpNoqxbvspRsVAez/UJTqjLvSnruOp ddgin1VR3E14pWt63eJ5fmH+1N6EZ1XAqMBcQAXtSZ8KqFfOcQzBEe09X97OlAzkdSd3VrglZ5b 7DUqYdUv+pIPeR3mCaJi0CyQblWT2rgeLN3ArSRVoHxzBKFrOWALhfYyVNWxWYeFWefvusTN2C+ oau9aNGk83LdJPy0KiAGbK8tg0dKxCZxqLqg8KrxnStc5XaF1XzMdZqyzLuZIUQv4M1/MuDvvXc g6G/ucESFZYf+CXsbbOXnqw2+lb13885g== X-Received: by 2002:ac8:5dc6:0:b0:530:42e4:effd with SMTP id d75a77b69052e-5310d031949mr127010031cf.42.1789499025532; Tue, 15 Sep 2026 12:03:45 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-5326204ad36sm1660631cf.18.2026.09.15.12.03.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:43 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 10/14] meta/lib/oe/tune.py: add rva23u64 profile Date: Tue, 15 Sep 2026 15:02:40 -0400 Message-ID: <20260915190244.2983746-11-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:38:55 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245885 Signed-off-by: Trevor Gamblin --- meta/lib/oe/tune.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/lib/oe/tune.py b/meta/lib/oe/tune.py index 8827d68a23..7296f39e66 100644 --- a/meta/lib/oe/tune.py +++ b/meta/lib/oe/tune.py @@ -10,6 +10,7 @@ RISCV_PROFILES = { 'rva20u64': 'rv64imafdc_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zmmul_za128rs_zaamo_zalrsc_zca_zcd', 'rva22u64': 'rv64imafdcb_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zihintpause_zmmul_za64rs_zaamo_zalrsc_zfhmin_zca_zcd_zba_zbb_zbs_zkt', + 'rva23u64': 'rv64imafdcbv_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicond_zicsr_zihintntl_zihintpause_zihpm_zimop_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbs_zkt_zvbb_zve32f_zve32x_zve64d_zve64f_zve64x_zvfhmin_zvkb_zvkt_zvl128b_zvl32b_zvl64b_supm', } # riscv_isa_to_tune(isa) From patchwork Tue Sep 15 19:02:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98362 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B1EA4C88E7D for ; Tue, 15 Sep 2026 19:39:05 +0000 (UTC) Received: from mail-qv2-f12.google.com (mail-qv2-f12.google.com [74.125.230.140]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.4703.1789499028433812474 for ; Tue, 15 Sep 2026 12:03:48 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=FnSB4uLH; spf=pass (domain: baylibre.com, ip: 74.125.230.140, mailfrom: tgamblin@baylibre.com) Received: by mail-qv2-f12.google.com with SMTP id 6a1803df08f44-90cdfc9b6eeso1259406d6.0 for ; Tue, 15 Sep 2026 12:03:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499027; x=1790103827; darn=lists.openembedded.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:content-type; bh=wNJ1jImeqNqlFu+Bef2dd6JJpENfJ/wXA78iy5DuVUo=; b=FnSB4uLH+c5EuPp1E3kSHMs7ijkyQN5TMUtkvmZmJnmi/zZ+Q/nSCdQ9TABxWSdnO9 6WvT17jsuIblbzpYzrwU5MX1mdh4juYJJtP8FKtqMjSiwxStnlt/Bdjtrpmkud92SRGB QeYmYuqn6h/lKJ2m1M61CFhHyJkmv9sIEQ5zLfzWky94CCxjsPaRJrsDWyR3DgDjT/rf d/bVSJcQ0v0O90SmGpha7kNWKZnFQFFHDeURGwHewxIVUHlDqkUVQsEwrxm8TdJOE0pn xTA5ygvpxlqxPcqpGCX6CKbfSFY5dYPijLHcZB3sLLxsqbN2ZsMajCF2VNvCI9NqZFRU cggA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499027; x=1790103827; 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:content-type; bh=wNJ1jImeqNqlFu+Bef2dd6JJpENfJ/wXA78iy5DuVUo=; b=vR0VrU4SKFJkce3tuKXyLE5Zz8CDqCCL1iFFSEGJfCjKxuSTkP4co43gawFP/2jdtw SSxf2nop3b2+1cXqJ6OTQBJYP9BsYkz/Zkq7ajiBeec5EgLycTYk4XhW+evQcxW7zX4J R/AdcrTx5nELmYkHw52otG9riAZa7SjN4jq42R5m2H7zpNZS99+hjrnVl9ibG4qTUIkq p32JgD/Et0yhyd+6KVZSENr0LFYc7eE9fWF4rdD51soZHTolcpBmxEi2lzKhns8Oen5G 7fnquaw4UDVwhhBoPKnY3GpQhK0QjVyHRtkMYc04q5Fwma0SWMbbbQSGcHy3NZyr5ng3 xH6w== X-Gm-Message-State: AFuF++lY9YnKgOlJ0Wuq1YlEm+l559VE3+PLkKGy+RRNB0jMhbZM0YYO n452DTrMejnK4heSixoDrWazl7kZOX6qvIXxJvXVr+CezpS3ZLu8u2MS5J/KLUwZXPaYGzaM6Bt irByg X-Gm-Gg: AYBFou3ZolPHy2QapfbZrgPXHoPueiblETLDWLBm/+AUR2kA0/hzAC8VPi5VHMRSTTG jHsMJ1dlnFKfRy807C9ExTPKDYqfkVNyo4rG3amvgDrx2UVKkG/I+TjbLqSc/6zFhFjpibC5Uz/ VY7UJ/eqOB7o0JEDfVthlZoutstoGv49gj3gLZ6uvr37uYbPXRs1D4BpITJsuA/nLjmNQL0Rgk1 FlkUYdePj4oL4X9ukJSmE/bFqK0ecjd7iW7DdqAnE4wMlCuu0uSmVe5XM3BxT6bwiIy1ukjfDm5 4AD7j2lticm4GIFbD8HX8kDNDr54h1b/ORDpGX3w0wg/AOwCJCid4+7ITtYqIQDSu2vqouf5udc l5nV4iH0QuVQ+wvwo1S1Sn4WEPnesphfMH4v2us27HmqvEFNaECobmxRtD0PHvlsykbMFjwI12H qDlXeCjygFpxZUItg858OdgooFKo54ibXk25vkJ82hnM661q91RyMEuDM684NLq6CSB1gd0CAhx AYa9fIy4IzR0rq9w+B9bf5ue1GM+B0sYA== X-Received: by 2002:a05:620a:2a08:b0:939:69a:4764 with SMTP id af79cd13be357-93a29b97135mr1284086185a.39.1789499027336; Tue, 15 Sep 2026 12:03:47 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93b781deec2sm28944685a.7.2026.09.15.12.03.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:46 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 11/14] tune-riscv.inc: add rva23u64 to AVAILTUNES Date: Tue, 15 Sep 2026 15:02:41 -0400 Message-ID: <20260915190244.2983746-12-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:39:05 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245886 Signed-off-by: Trevor Gamblin --- meta/conf/machine/include/riscv/tune-riscv.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc index e8544ba8ce..64d1f89dc6 100644 --- a/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/meta/conf/machine/include/riscv/tune-riscv.inc @@ -2,7 +2,7 @@ require conf/machine/include/riscv/arch-riscv.inc DEFAULTTUNE ?= "riscv64gc" -AVAILTUNES += "rva22u64 rva20u64 riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" +AVAILTUNES += "rva23u64 rva22u64 rva20u64 riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" TUNE_FEATURES:tune-rva20u64 := "${@oe.tune.riscv_isa_to_tune("rva20u64")}" PACKAGE_EXTRA_ARCHS:tune-rva20u64 = "${TUNE_RISCV_PKGARCH}" @@ -10,6 +10,9 @@ PACKAGE_EXTRA_ARCHS:tune-rva20u64 = "${TUNE_RISCV_PKGARCH}" TUNE_FEATURES:tune-rva22u64 := "${@oe.tune.riscv_isa_to_tune("rva22u64")}" PACKAGE_EXTRA_ARCHS:tune-rva22u64 = "${TUNE_RISCV_PKGARCH}" +TUNE_FEATURES:tune-rva23u64 := "${@oe.tune.riscv_isa_to_tune("rva23u64")}" +PACKAGE_EXTRA_ARCHS:tune-rva23u64 = "${TUNE_RISCV_PKGARCH}" + # Default TUNE_FEATURES:tune-riscv64gc := "${@oe.tune.riscv_isa_to_tune("rv64gc")}" PACKAGE_EXTRA_ARCHS:tune-riscv64gc = "${TUNE_RISCV_PKGARCH}" From patchwork Tue Sep 15 19:02:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98363 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD8F4C982C1 for ; Tue, 15 Sep 2026 19:39:15 +0000 (UTC) Received: from mail-qk2-f12.google.com (mail-qk2-f12.google.com [74.125.230.204]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4503.1789499035001734108 for ; Tue, 15 Sep 2026 12:03:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=KTYVYn64; spf=pass (domain: baylibre.com, ip: 74.125.230.204, mailfrom: tgamblin@baylibre.com) Received: by mail-qk2-f12.google.com with SMTP id af79cd13be357-93910c3d02aso4451985a.1 for ; Tue, 15 Sep 2026 12:03:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499034; x=1790103834; darn=lists.openembedded.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:content-type; bh=553kIQ3mo6f97d775CUh+t2Ca69Tw6qE3sLMZ5ZM6GA=; b=KTYVYn64tJ550Y1IymSIKdepKhJhJc1LIJnKE+H/eXVwrMknFDR+B6hBF25LP21iXV Arqp2Cdq8XWGFgmlamh5Fpuh67BeVS7H4mkr01cb8LBhJEykOHiJj5jVijEeJLFDqh+6 hBE4UOpb6982vdZpWC5KrkZPJamO2mwxfmuugGt4ht9UOaDeRPBxshVyv2k4F0EfXMKc LJesaOH1mD6tI/ZGaq7HiQEwDsub4egkb9Ffx6PSAZaGgXTvzKOZVUd8TqoSAF2TNPAN RJELA7gy3HqMB13Fbb5LAEyZ0ay8wtQxmAlU0RNd7niHVzLMfNrJb85SuqPJXRKrRIXG iOeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499034; x=1790103834; 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:content-type; bh=553kIQ3mo6f97d775CUh+t2Ca69Tw6qE3sLMZ5ZM6GA=; b=R78cgs734bJrn/x+hM/0qynM1zr9vqr1LTPUgIwMOcr79BFR+cf8loEd1puDOMvSpV brAtXpYV0IN/SAHVjLFtGXTPbNX+MqwNEyQ6CROosC6vgObWk8C07/kckFNMIvRQ7sjL iQPy/69kYSqIwwtMC5DXltXI3YkZ0HdpE/y9gQzmKVkNhb+hxHnrGwCnzGGzstAXUJkS 6hDBI1k6GGPx46/AlzblnP85cknF+d3hcAtAXU76cDQFBYpkZZpiD2DzrpNYpfdumwx5 iRA3zrxEFtVIxuzvS2IoxYuUNg7PNXd69yVuHCsgWzd+dyrzaE4erkIbKO4UEoGxdEVw 0J2w== X-Gm-Message-State: AFuF++mFvxZY5VPFv9KOM0yAqts8+z+3bL1A+BckmNT4sSRzYMUURRw7 ezhY9Iubf2uxB6GMACFKooUu74++b2b/sW3e0qWpODpNpnGpIiIA2j8C/b96wH4iB56iDaSaO9/ FZ4ul X-Gm-Gg: AYBFou0yRvQ2neUIusUkuQ+FvjediPpzz9is3H1s4S8QKPcQdsxtWbghnTi1DUCdlIA t9Zb+co/TDBc2YEE+bLwCQ7c4RLFJN+7iPsI0LP/cuKhdfuL+KjMJ800w8l1BGK9RcuKTmBYuYR nLf3qNcpjrCX/k9Kosfa/bHSrwLdv2KWDNKzgJqVGUCyc3n+JjJSq7J4X8iddsB4V/0rYwsruKc Tc+/G3j4VQKEhI442jOAR9D1MobWRLMqDRpjo4WM6t0y5doliRSfB3Apg5yzYseFIKxqaEvcxRW 8N0eiJIU7OZUtGIKdkcflOStl3ATGFoSw1WiPZRIaPeh7dqwaZ66MVb0bIjyGS/ysFDag/HWKQc UGvP0PIYeMVTOAvuKX2JozQnpvRzt25tKuGptC6e+dQ1CwQQhXwKmztilJOSvKO+lk4XUG0maYo OMsO01+/riu4DVDjApEIiW+hXCWD4Pvcq/vySBJgluZI3eJVQ2QzLoCxF2rQTJ0s1Nrj+DlQLa5 hFINy4sgQp8RsSKGZTfhIuZ8AakA/VKjA== X-Received: by 2002:a05:620a:2945:b0:939:b0c8:b068 with SMTP id af79cd13be357-93a346833b5mr693532685a.16.1789499029108; Tue, 15 Sep 2026 12:03:49 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93b81cefc98sm24682785a.33.2026.09.15.12.03.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:48 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 12/14] meta/lib/oe/tune.py: add riscv_pkgarch() Date: Tue, 15 Sep 2026 15:02:42 -0400 Message-ID: <20260915190244.2983746-13-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:39:15 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245888 Create a new function to help match RISC-V ISA extension combinations against recognized profile strings (e.g. 'rva22u64'), so that we can use simpler patterns for naming things like sstate/build paths. Signed-off-by: Trevor Gamblin --- meta/lib/oe/tune.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/meta/lib/oe/tune.py b/meta/lib/oe/tune.py index 7296f39e66..0d8e4417e7 100644 --- a/meta/lib/oe/tune.py +++ b/meta/lib/oe/tune.py @@ -90,3 +90,32 @@ def riscv_isa_to_tune(isa): # Eliminate duplicates, but preserve the order feature = list(dict.fromkeys(feature)) return ' '.join(feature) + +# riscv_pkgarch(features, exact_pkgarch) +# +# Prefer a RISCV_PROFILES name (plus any extensions enabled on top of it) as the +# package arch fragment, since otherwise the full ISA extension list will exceed +# what the sstate class can handle. When several profiles match, the one with +# the most extensions is preferred, as it is the more specific/clearer match. +# If there's no clear profile matching the extension list, then fall back to +# exact_pkgarch. +def riscv_pkgarch(features, exact_pkgarch): + if not features: + return exact_pkgarch + + current = set(features.split()) + + best_match = None + best_features = None + for name in RISCV_PROFILES: + profile_features = set(riscv_isa_to_tune(name).split()) + if profile_features.issubset(current): + if best_features is None or len(profile_features) > len(best_features): + best_match = name + best_features = profile_features + + if best_match is None: + return exact_pkgarch + + extra = sorted(current - best_features) + return '_'.join([best_match] + extra) From patchwork Tue Sep 15 19:02:43 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98364 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2BE3C88E77 for ; Tue, 15 Sep 2026 19:39:15 +0000 (UTC) Received: from mail-qk2-f12.google.com (mail-qk2-f12.google.com [74.125.230.204]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4502.1789499032771389945 for ; Tue, 15 Sep 2026 12:03:52 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=NKqEm4kq; spf=pass (domain: baylibre.com, ip: 74.125.230.204, mailfrom: tgamblin@baylibre.com) Received: by mail-qk2-f12.google.com with SMTP id af79cd13be357-939eb3249c1so12195485a.2 for ; Tue, 15 Sep 2026 12:03:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499032; x=1790103832; darn=lists.openembedded.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:content-type; bh=tEDWsKmpOciytvrmuo5IvSz9VsvPNnag+KZi31GDj/k=; b=NKqEm4kqvsZkAmrfzZX7rHuEIOzmh5U5lgfjhD/MxP89Pb1REujCwwX6mt4qATFjAU nzJiF1PWEq+1aEYu8SCVlV4OYxa6WF3s0ki9G75MX35GH3U8l6dA8aPgTXPCU/k1sosv UuJOK6vIIg/NQJqmxRDgn5GrQ+hRxaYscRIh7vJh/6ZGqxL3zJFckm4UZsIY7sBf6OTG F/QjoEmI81H2xJCFAypPTSa0iL/SkO2FIcT/TQ8sBvgz0t6sCrYlRoqOFqD9WedXsYND OXK28SAAFzMLom7QJksHalJzkx/gnSKqCHBtix4QY3ZY9jjU2AP98EbPDDaWBm/Qmi0L PPyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499032; x=1790103832; 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:content-type; bh=tEDWsKmpOciytvrmuo5IvSz9VsvPNnag+KZi31GDj/k=; b=09m7E2T0LQUaWopxfRn4LbjILlQWaISwOLA8/ANKa7d8aGd9Hqqcw+vOCWYcsBBDvw pl7J6gRbw+Vh9epah0ykJq1+rBirvrRsi2vI8DdlEi55C2nRhLiVasNFNI9MTVC0MaF+ Z0IEd5gL7HV7tkrJJfOUDy/17wqea/W32FMp2ogyEVidVpu07uWzGuXToEhlzIUxT1RW A1bTjVXHq/kGDljqyo1kaTH7amq2veLr0ffPTh7rJUdYgfm4LYAoHVI+xOZOJ0TeHQUL a/aBT5EevHwUWXY+M6uH4OB2Aa63kqIxbMUgerEOlQladlRUdrjp9vrdNGrgW17BXWF/ t+YQ== X-Gm-Message-State: AFuF++mTCC9qFFCDh9Tp+wgdIMub7jEZagK++iiXphgtS/BYRdcB1B4r 0fqj3PXvQYqtJlmYRwupcn41iPBfBvP3pqaxTpDthWU/IjMZAkxt1OMPysKdZWc1Kll69AswqqJ VpR7X X-Gm-Gg: AYBFou1GQFUD92tfAuPHl/RjgPLoM7rGMreJG9rnEF8mAtSB7D+RBOkRNGK5uQgWjvI Ih0wKBY+85dADsx+fhzJN4ReNd4RF23JOFV5+eKWIKfFzFw3ci7gssb0w6F+LFWRQ5e3mbxerv7 DUjKWu8VqqyLN/EnMbXJ7pARIYBKE9SuUBb6ew0xDFAEVScvi7OZkCUBdfg9CLys8KgHNSkC+8g Kw4T2062q0NwtCegcV7Ga6ZtVyhJQWq2ojTMxN3uSYmPfe33wK3pnUhNoe9Mz4W3fKlXrszNWQ1 ib9iV2Yko4UVLeH66SEnS7CAtvNKoxI6UTqIYUs+kzABjnx9Kau7xzlZteg10ejxoERetDiHTb9 xRAcjt4KYn6SjVEAfwl1RN5zZ1Vmr08EgCFWKRqpxL810NxgGCIrgRXXIG4hezySbCykpN32gfh f9zS74kgSagKteOjK7nzO2+U//lmIOKi8JNeqK3+Fh6ndG1dHsPAp2mPLbAVNdr5o/3Ls+d7Wnc wqSNGcdTalt62zm+cJ8j0EGjzmgaCGPGOqzSthok+Aw X-Received: by 2002:a05:620a:1a06:b0:939:f7e4:4f8a with SMTP id af79cd13be357-93a297666a4mr1426188885a.5.1789499031296; Tue, 15 Sep 2026 12:03:51 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93b780ca630sm27449485a.4.2026.09.15.12.03.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:50 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 13/14] arch-riscv.inc: rename TUNE_RISCV_PKGARCH -> TUNE_RISCV_PKGARCH_EXACT in assignments Date: Tue, 15 Sep 2026 15:02:43 -0400 Message-ID: <20260915190244.2983746-14-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:39:15 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245887 Change the naming convention we use when determining TUNE_RISCV_PKGARCH, so that we have the option of relying on a known RISC-V profile name (e.g. 'rva22u64') as a baseline, rather than always specifying the full ISA extension set. An example from 'bitbake -e opensbi' with 'DEFAULTTUNE = "rva22u64" in conf/local.conf: |TUNE_RISCV_PKGARCH="rva22u64" |# $TUNE_RISCV_PKGARCH_EXACT [48 operations] |TUNE_RISCV_PKGARCH_EXACT="riscv64imafdc_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zihintpause_zmmul_za64rs_zaamo_zalrsc_zfhmin_zca_zcd_zba_zbb_zbs_zkt" Signed-off-by: Trevor Gamblin --- .../conf/machine/include/riscv/arch-riscv.inc | 118 +++++++++--------- 1 file changed, 62 insertions(+), 56 deletions(-) diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc index e60b88fe44..b0c2460f26 100644 --- a/meta/conf/machine/include/riscv/arch-riscv.inc +++ b/meta/conf/machine/include/riscv/arch-riscv.inc @@ -32,7 +32,7 @@ TUNE_RISCV_ABI .= "${@bb.utils.contains("TUNE_FEATURES", "64", "lp64", "", d)}" # The package arch starts with the canonical arch, but adds some extensions to make # package compatibility clear -TUNE_RISCV_PKGARCH = "${TUNE_RISCV_ARCH}" +TUNE_RISCV_PKGARCH_EXACT = "${TUNE_RISCV_ARCH}" # i, e, or g are defined by gcc, but 'g' refers to 'i' + extensions 'MAFD Zicsr Zifencei' # So 'g' will not be defined here as it is an abbreviation of the expanded version @@ -40,231 +40,237 @@ TUNEVALID[e] = "Reduced register base integer extension" TUNECONFLICTS[e] = "i" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "e", "e", "", d)}" TUNE_RISCV_ABI .= "${@bb.utils.contains("TUNE_FEATURES", "e", "e", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "e", "e", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "e", "e", "", d)}" TUNEVALID[i] = "Base integer extension" TUNECONFLICTS[i] = "e" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "i", "i", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "i", "i", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "i", "i", "", d)}" # Extensions TUNEVALID[m] = "Integer multiplication and division extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m", "m", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m", "m", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "m", "m", "", d)}" TUNEVALID[a] = "Atomic extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a", "a", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a", "a", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "a", "a", "", d)}" TUNEVALID[f] = "Single-precision floating-point extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "f d", "f", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "f d", "f", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "f d", "f", "", d)}" TUNEVALID[d] = "Double-precision floating-point extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "d", "d", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "d", "d", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "d", "d", "", d)}" # Only f OR d, but just one TUNE_RISCV_ABI .= "${@bb.utils.contains("TUNE_FEATURES", "d", "d", bb.utils.contains("TUNE_FEATURES", "f", "f", "", d), d)}" TUNEVALID[c] = "Compressed extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c", "c", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c", "c", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "c", "c", "", d)}" TUNEVALID[b] = "Bit Manipulation extension" # Handled below via zba, zbb, zbs # This matches current Linux kernel behavior #TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "b", "b", "", d)}" -#TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "b", "b", "", d)}" +#TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "b", "b", "", d)}" TUNEVALID[v] = "Vector operations extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "v", "v", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "v", "v", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "v", "v", "", d)}" # Now the special Z extensions TUNEVALID[zic64b] = "Cache block size is 64 bytes extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zic64b", "_zic64b", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zic64b", "_zic64b", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zic64b", "_zic64b", "", d)}" TUNEVALID[zicbom] = "Cache-block management extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zicbom", "", d)}" TUNEVALID[zicbop] = "Cache-block prefetching extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbop", "_zicbop", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbop", "_zicbop", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbop", "_zicbop", "", d)}" TUNEVALID[zicboz] = "Cache-block zeroing extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicboz", "_zicboz", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicboz", "_zicboz", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicboz", "_zicboz", "", d)}" TUNEVALID[ziccamoa] = "PMA guarantees for A-extension atomics extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccamoa", "_ziccamoa", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccamoa", "_ziccamoa", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "ziccamoa", "_ziccamoa", "", d)}" TUNEVALID[ziccif] = "Patching instructions at run time extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccif", "_ziccif", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccif", "_ziccif", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "ziccif", "_ziccif", "", d)}" TUNEVALID[zicclsm] = "Software that assumes misaligned access works extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicclsm", "_zicclsm", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicclsm", "_zicclsm", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zicclsm", "_zicclsm", "", d)}" TUNEVALID[ziccrse] = "Guarantees LR/SC forward progress extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccrse", "_ziccrse", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "ziccrse", "_ziccrse", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "ziccrse", "_ziccrse", "", d)}" TUNEVALID[zicntr] = "Cycle and instruction counting for profiling extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicntr", "_zicntr", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicntr", "_zicntr", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zicntr", "_zicntr", "", d)}" TUNEVALID[zicond] = "Conditional zeroing operations extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicond", "_zicond", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zicond", "_zicond", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zicond", "_zicond", "", d)}" TUNEVALID[zicsr] = "Control and status register access extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" TUNEVALID[zifencei] = "Instruction-fetch fence extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" TUNEVALID[zihintntl] = "Non-temporal locality hints extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintntl", "_zihintntl", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintntl", "_zihintntl", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zihintntl", "_zihintntl", "", d)}" TUNEVALID[zihintpause] = "Pause hint extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintpause", "_zihintpause", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihintpause", "_zihintpause", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zihintpause", "_zihintpause", "", d)}" TUNEVALID[zihpm] = "Hardware performance counters extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihpm", "_zihpm", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zihpm", "_zihpm", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zihpm", "_zihpm", "", d)}" TUNEVALID[zimop] = "Hardware performance counters extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zimop", "_zimop", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zimop", "_zimop", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zimop", "_zimop", "", d)}" TUNEVALID[zmmul] = "Cheaper M subset (mul only) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "m zmmul", "_zmmul", "", d)}" TUNEVALID[za64rs] = "Reservation set size of at most 64 bytes extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za64rs", "_za64rs", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za64rs", "_za64rs", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "za64rs", "_za64rs", "", d)}" TUNEVALID[za128rs] = "Reservation set granularity (128-byte) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za128rs", "_za128rs", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "za128rs", "_za128rs", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "za128rs", "_za128rs", "", d)}" TUNEVALID[zaamo] = "Atomic read-modify-write memory operations extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zaamo", "_zaamo", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zaamo", "_zaamo", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "a zaamo", "_zaamo", "", d)}" TUNEVALID[zalrsc] = "Extended LR/SC semantics extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "a zalrsc", "_zalrsc", "", d)}" TUNEVALID[zawrs] = "Wait-on-reservation-set instructions extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zawrs", "_zawrs", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zawrs", "_zawrs", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zawrs", "_zawrs", "", d)}" TUNEVALID[zfa] = "Additional floating point instructions extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfa", "_zfa", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfa", "_zfa", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zfa", "_zfa", "", d)}" TUNEVALID[zfhmin] = "Minimal half-precision floating point extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfhmin", "_zfhmin", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zfhmin", "_zfhmin", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zfhmin", "_zfhmin", "", d)}" TUNEVALID[zca] = "Compressed base integer ops extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "c zca", "_zca", "", d)}" TUNEVALID[zcb] = "Extra compressed integer ops extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcb", "_zcb", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcb", "_zcb", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zcb", "_zcb", "", d)}" TUNEVALID[zcd] = "16-bit encodings for 64-bit FP extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcd", "_zcd", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcd", "_zcd", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zcd", "_zcd", "", d)}" TUNEVALID[zcmop] = "Compressed may-be-ops extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcmop", "_zcmop", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zcmop", "_zcmop", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains("TUNE_FEATURES", "zcmop", "_zcmop", "", d)}" TUNEVALID[zba] = "Address bit manipulation extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" TUNEVALID[zbb] = "Basic bit manipulation extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", "_zbb", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", "_zbb", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", "_zbb", "", d)}" TUNEVALID[zbc] = "Carry-less multiplication extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zbc", "_zbc", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zbc", "_zbc", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zbc", "_zbc", "", d)}" TUNEVALID[zbs] = "Single-bit manipulation extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", "_zbs", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", "_zbs", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zbs", "_zbs", "", d)}" TUNEVALID[zkt] = "Data-independent execution latency extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zkt", "_zkt", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zkt", "_zkt", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zkt", "_zkt", "", d)}" TUNEVALID[zvbb] = "Vector basic bit-manipulation extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvbb", "_zvbb", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvbb", "_zvbb", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvbb", "_zvbb", "", d)}" TUNEVALID[zve32f] = "Embedded vector computation (32-bit integer, 32-bit FP) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32f", "_zve32f", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32f", "_zve32f", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32f", "_zve32f", "", d)}" TUNEVALID[zve32x] = "Embedded vector computation (32-bit integer) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32x", "_zve32x", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32x", "_zve32x", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve32x", "_zve32x", "", d)}" TUNEVALID[zve64d] = "Embedded vector computation (64-bit integer, 64-bit FP) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64d", "_zve64d", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64d", "_zve64d", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64d", "_zve64d", "", d)}" TUNEVALID[zve64f] = "Embedded vector computation (64-bit integer, 32-bit FP) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64f", "_zve64f", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64f", "_zve64f", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64f", "_zve64f", "", d)}" TUNEVALID[zve64x] = "Embedded vector computation (64-bit integer) extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64x", "_zve64x", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64x", "_zve64x", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zve64x", "_zve64x", "", d)}" TUNEVALID[zvfhmin] = "Vector half-precision minimal extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvfhmin", "_zvfhmin", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvfhmin", "_zvfhmin", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvfhmin", "_zvfhmin", "", d)}" TUNEVALID[zvkb] = "Vector cryptography bit-manipulation extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkb", "_zvkb", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkb", "_zvkb", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkb", "_zvkb", "", d)}" TUNEVALID[zvkt] = "Vector data independent execution latency extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkt", "_zvkt", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkt", "_zvkt", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvkt", "_zvkt", "", d)}" TUNEVALID[zvl128b] = "Minimum vector length standard extensions (128-bit)." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl128b", "_zvl128b", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl128b", "_zvl128b", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl128b", "_zvl128b", "", d)}" TUNEVALID[zvl32b] = "Minimum vector length standard extensions (32-bit)." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl32b", "_zvl32b", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl32b", "_zvl32b", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl32b", "_zvl32b", "", d)}" TUNEVALID[zvl64b] = "Minimum vector length standard extensions (64-bit)." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl64b", "_zvl64b", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl64b", "_zvl64b", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "zvl64b", "_zvl64b", "", d)}" TUNEVALID[supm] = "User-mode pointer masking extension." TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "supm", "_supm", "", d)}" -TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "supm", "_supm", "", d)}" +TUNE_RISCV_PKGARCH_EXACT .= "${@bb.utils.contains_any("TUNE_FEATURES", "supm", "_supm", "", d)}" + +# Prefer a known RVA profile name (e.g. "rva22u64"), plus any extensions on +# top of the profile (e.g. "rva22u64_zvbb"), over the fully expanded exact +# extension list, when TUNE_FEATURES clearly matches a profile. Falls back +# to TUNE_RISCV_PKGARCH_EXACT for combinations that don't match a profile. +TUNE_RISCV_PKGARCH = "${@oe.tune.riscv_pkgarch(d.getVar('TUNE_FEATURES'), d.getVar('TUNE_RISCV_PKGARCH_EXACT'))}" # Construct TUNE_CCARGS # This should result in a CCARG similar to: From patchwork Tue Sep 15 19:02:44 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 98365 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B20F5C88E77 for ; Tue, 15 Sep 2026 19:39:25 +0000 (UTC) Received: from mail-qv2-f18.google.com (mail-qv2-f18.google.com [74.125.230.146]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4506.1789499035488957495 for ; Tue, 15 Sep 2026 12:03:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre.com header.s=google header.b=UyEG3bwm; spf=pass (domain: baylibre.com, ip: 74.125.230.146, mailfrom: tgamblin@baylibre.com) Received: by mail-qv2-f18.google.com with SMTP id 6a1803df08f44-90cdfc6db0bso1200836d6.3 for ; Tue, 15 Sep 2026 12:03:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1789499034; x=1790103834; darn=lists.openembedded.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:content-type; bh=z/rS4Y2yXCQBaYZZBkyBOePfX0wWIOU+dcfGEUnHsmg=; b=UyEG3bwmXaag3CqEj9pcL+NEFROB7oi0tV8Fufur7qzYzrw3Fim4DZk7LALUTUwRbY PQ0y9ORutAYZXSm6+0AyPuv8HOAeE4GD8hrTcyf11Y6GJRSsyBPXIDP/zx8ngLoY57wk YDHxOlnIfKG247SDci/TAEFgoDTb5hGW0RQ7rU5e6HyRu29wVinXVO2Nmmxj1gy1W3hk 1JCk+2kwVF9IxTQNA1Jw4Y2ILtzI37Uis6mwXUcsjhWm3GmBqSnOlS68bnMAxspSp6Um A0lNpvkwgy3xVUVQlMbGOGAGbpy+K8mhVcYAnJLfEImD6FWbGf0ZwyEteRibDdKCBq+W YsjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789499034; x=1790103834; 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:content-type; bh=z/rS4Y2yXCQBaYZZBkyBOePfX0wWIOU+dcfGEUnHsmg=; b=VKREsz9saQp+THrrPD3Ce2Z8d44MZa1VdwbBya+tRzrmGmZ2xAFklveM54nmPByhyp fRaHCnKLkTa/hXQym5/cq75sLm4Ktclpv+qoIdLB7tw7OuEpoit0XM4s+IJr7xylkI+R y6gV9mZD5THeZBqgI4A4ZGfE7QvGxUrNWYe2Bi4YvXR02uCMLTwWO8rtsFOsQosmWvzx sYajGpr1Y9cN0+BCms7+l8gy8Qka8m9WVJVtSubZtIVeL4b/DQL6UeVGi6jVzFtxN3AV R2JruIqK3fKzZS2jNhuFYw6yvbow779FB0BdWbTNkqc/B4N4V7uZVT4+49DfEVJ7rEbd aOTA== X-Gm-Message-State: AFuF++kpSllU4LlNA7BOVN0IW15CPBAzNehLJzYrPeAPcR0wXQwP91bH y1pxlhrmMwGHQEAJnHQyD2G32MMUNUCXW0FcGP77/X8CTYFchwL/E+nIYiAOqKx2UaLKh1FO+Zo yH8l7 X-Gm-Gg: AYBFou0ypVStFNwVRmZ/JeygrBopQyTZwHlSZf3NzOQ+NlP2opQIOT8aos10tKrcyW/ /+ELyJvCYgAefYCNLNHnzo1ho6URzqLGd/XC4OmW/lACs2qK2N4T5nFA897Bl+YGA+QkMjLPTJZ c6OJ91Fa/zdTzaJL7qYE2Gy8jm5J1MsAlHZLI1A+k+Kdyf1Kk36Z9p9kUf2YDcwXndJeNeZvOD3 v8inTjgUwHkrEj7dW0+nE4RM+KZcRxPbKxiwjPbBnXmyGSBzvgDOnC+QTmX9mbSvOUu2jBjo1p1 A5CiRoyAnlI4NGExgJXR+rGohpL0ZE3ZPQgZC4LjGTkuu0tTrmes9LQK2V0XHtT9pTI/mjL3HPq AcIsdU+QFXAoMW1alnVdfm9WJsp04NQdcRTYc5C4P0dI2yCeN3L40pYD7KTeCvho/BhNDPh9vCe cerJytXPQMYrqq9/xYJCgTcdeODPfSDSb5cGMq/22+amE0sc6yvGBvFodstfDv0kkuFZUoFzoL5 LkKRkza2ragtm1AMtCf7lYhmqptCo8RfQ== X-Received: by 2002:ad4:5e8f:0:b0:910:4874:66e5 with SMTP id 6a1803df08f44-9122e552ef6mr156527366d6.21.1789499034162; Tue, 15 Sep 2026 12:03:54 -0700 (PDT) Received: from localhost ([2001:1970:3847:e000:e8bd:ca0f:c232:9f10]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-9123be925a5sm5697786d6.28.2026.09.15.12.03.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2026 12:03:52 -0700 (PDT) From: "Trevor Gamblin" To: openembedded-core@lists.openembedded.org Cc: raj.khem@gmail.com, mark.hatle@kernel.crashing.org Subject: [OE-core][RFC PATCH 14/14] tune-riscv.inc: append zifencei extension to profiles Date: Tue, 15 Sep 2026 15:02:44 -0400 Message-ID: <20260915190244.2983746-15-tgamblin@baylibre.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260915190244.2983746-1-tgamblin@baylibre.com> References: <20260915190244.2983746-1-tgamblin@baylibre.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Sep 2026 19:39:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/245889 Only riscv64gc enables this by default, but we need it for the Linux Kernel. Append it to the official profile strings. Signed-off-by: Trevor Gamblin --- meta/conf/machine/include/riscv/tune-riscv.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/conf/machine/include/riscv/tune-riscv.inc b/meta/conf/machine/include/riscv/tune-riscv.inc index 64d1f89dc6..9357dc67a0 100644 --- a/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/meta/conf/machine/include/riscv/tune-riscv.inc @@ -4,13 +4,15 @@ DEFAULTTUNE ?= "riscv64gc" AVAILTUNES += "rva23u64 rva22u64 rva20u64 riscv64gcv riscv64gc riscv32gc riscv64nc riscv64nf riscv32nf" -TUNE_FEATURES:tune-rva20u64 := "${@oe.tune.riscv_isa_to_tune("rva20u64")}" +# zifencei isn't part of these profiles per gcc's -march expansion, but the +# Linux kernel requires it, so add it on top of the profile's extensions. +TUNE_FEATURES:tune-rva20u64 := "${@oe.tune.riscv_isa_to_tune("rva20u64")} zifencei" PACKAGE_EXTRA_ARCHS:tune-rva20u64 = "${TUNE_RISCV_PKGARCH}" -TUNE_FEATURES:tune-rva22u64 := "${@oe.tune.riscv_isa_to_tune("rva22u64")}" +TUNE_FEATURES:tune-rva22u64 := "${@oe.tune.riscv_isa_to_tune("rva22u64")} zifencei" PACKAGE_EXTRA_ARCHS:tune-rva22u64 = "${TUNE_RISCV_PKGARCH}" -TUNE_FEATURES:tune-rva23u64 := "${@oe.tune.riscv_isa_to_tune("rva23u64")}" +TUNE_FEATURES:tune-rva23u64 := "${@oe.tune.riscv_isa_to_tune("rva23u64")} zifencei" PACKAGE_EXTRA_ARCHS:tune-rva23u64 = "${TUNE_RISCV_PKGARCH}" # Default