[{"id":3680144,"web_url":"http://patchwork.ozlabs.org/comment/3680144/","msgid":"<CAKmqyKMOoL94khSzCUb7h9xfCN9H0hkuLGf-BjNTTWjxgbhf-g@mail.gmail.com>","list_archive_url":null,"date":"2026-04-22T00:01:38","subject":"Re: [PATCH v3 2/2] target/riscv: Update MISA.X for non-standard\n extensions","submitter":{"id":64571,"url":"http://patchwork.ozlabs.org/api/people/64571/","name":"Alistair Francis","email":"alistair23@gmail.com"},"content":"On Tue, Apr 21, 2026 at 6:00 PM <frank.chang@sifive.com> wrote:\n>\n> From: Frank Chang <frank.chang@sifive.com>\n>\n> MISA.X is set if there are any non-standard extensions.\n> We should set MISA.X when any of the vendor extensions is enabled.\n>\n> Signed-off-by: Frank Chang <frank.chang@sifive.com>\n> Reviewed-by: Max Chou <max.chou@sifive.com>\n> Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>\n\nReviewed-by: Alistair Francis <alistair.francis@wdc.com>\n\nAlistair\n\n> ---\n>  target/riscv/cpu.h         |  1 +\n>  target/riscv/tcg/tcg-cpu.c | 15 +++++++++++++++\n>  2 files changed, 16 insertions(+)\n>\n> diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h\n> index 4c0676ed53b..175e877f90a 100644\n> --- a/target/riscv/cpu.h\n> +++ b/target/riscv/cpu.h\n> @@ -69,6 +69,7 @@ typedef struct CPUArchState CPURISCVState;\n>  #define RVH RV('H')\n>  #define RVG RV('G')\n>  #define RVB RV('B')\n> +#define RVX RV('X')\n>\n>  extern const uint32_t misa_bits[];\n>  const char *riscv_get_misa_ext_name(uint32_t bit);\n> diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c\n> index 0f68560bac1..44d948b5dca 100644\n> --- a/target/riscv/tcg/tcg-cpu.c\n> +++ b/target/riscv/tcg/tcg-cpu.c\n> @@ -1194,6 +1194,20 @@ static void riscv_cpu_update_misa_c(RISCVCPU *cpu)\n>      }\n>  }\n>\n> +/* MISA.X is set when any of the non-standard extensions is enabled. */\n> +static void riscv_cpu_update_misa_x(RISCVCPU *cpu)\n> +{\n> +    CPURISCVState *env = &cpu->env;\n> +    const RISCVCPUMultiExtConfig *arr = riscv_cpu_vendor_exts;\n> +\n> +    for (int i = 0; arr[i].name != NULL; i++) {\n> +        if (isa_ext_is_enabled(cpu, arr[i].offset)) {\n> +            riscv_cpu_set_misa_ext(env, env->misa_ext | RVX);\n> +            break;\n> +        }\n> +    }\n> +}\n> +\n>  void riscv_tcg_cpu_finalize_features(RISCVCPU *cpu, Error **errp)\n>  {\n>      CPURISCVState *env = &cpu->env;\n> @@ -1202,6 +1216,7 @@ void riscv_tcg_cpu_finalize_features(RISCVCPU *cpu, Error **errp)\n>      riscv_cpu_init_implied_exts_rules();\n>      riscv_cpu_enable_implied_rules(cpu);\n>      riscv_cpu_update_misa_c(cpu);\n> +    riscv_cpu_update_misa_x(cpu);\n>\n>      riscv_cpu_validate_misa_priv(env, &local_err);\n>      if (local_err != NULL) {\n> --\n> 2.43.0\n>\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=ryVtc/FY;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0fYh5lkWz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 10:02:47 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wFL2g-0001tv-Dw; Tue, 21 Apr 2026 20:02:10 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <alistair23@gmail.com>)\n id 1wFL2f-0001te-ND\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 20:02:09 -0400","from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <alistair23@gmail.com>)\n id 1wFL2e-0003LG-5Q\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 20:02:09 -0400","by mail-ej1-x62a.google.com with SMTP id\n a640c23a62f3a-ba388bc0a9dso853683266b.1\n for <qemu-devel@nongnu.org>; Tue, 21 Apr 2026 17:02:07 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; t=1776816126; cv=none;\n d=google.com; s=arc-20240605;\n b=KUT+GO3QFUZyTzRtdBEY+oa3J7xlwc2YRB3Hi+G7O+uYVT5v59puOL86FFs7G754cN\n Aa5t58s69B8zyy9ifxIwhWq+Vc83YLaKxiesh2CP9fa/lltHzofUthbj0w9H9aOA4i9O\n Y8K7GNOj9x3g4wnktmQpUjQmiC7oWE+wQNrIVtoAGrYYi+UikQ/Iv8ZvvtAPRkCGvZ1Z\n j6bHbcexSfdAK1Fd60F0VGwN/sfL9r6x2Zgx/r0GSsr2g6UU2TgTspJ12EjxdLo7Yzcx\n th9ffa7Lf7VXtlrKyvIezLnR331CfipGaJRp7KZvK7clVj08feUDQFTnCAGhOzP27te6\n hunw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:dkim-signature;\n bh=4GMnvMgPoPIPJSzxHbcY/A3zsDlmols0y0fDIQhH1nQ=;\n fh=UtBZNt6Y6N8SDSGGMxyoFI04MddI+MyqrqBbP2A8k94=;\n b=jbyIaneHswFMuMZ91NpKAitGnAU9MePdC6cLKKvMOLVylBfYDlfoNRTu39uSdZ2Ctj\n 1Y2TGPtTEM5PLoyxkLV50vElaYNaUu/zxMs8FtrVK6dtiUQXBYwXTOKIb7yKrDQquBga\n TJr/sNb+Ryihh0t+PFDiNO6q/3Ch8iccLPE3sNZ5UumPbR7XLphKe4xBq+wIewl+jOhQ\n 82xNFRBcnekyTrBlegLLCJ6XXEAeEJWwAY7bGjHcNVUiSfWG2sTF19iivgkRxg8Lex0S\n ThTOoirG5b2tjuqN16yjITbZA3bYU62ojKa2by8f0KVTPecXiFtri3jGXwnN7G5sumRC\n XKUA==; darn=nongnu.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776816126; x=1777420926; darn=nongnu.org;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=4GMnvMgPoPIPJSzxHbcY/A3zsDlmols0y0fDIQhH1nQ=;\n b=ryVtc/FYCDH+fAuD5X6/+Jmf2Rq6j7jkhydimiUYv2mgKsEqZjvEQ/EdLFVk/X9gXL\n ECtI+P48d068zVWvnsX9CJqvfTX3RNINVye3zZ4ab8pmH/Qx8U2WYjupwoqb3x6Y7fXq\n Cok9dgDoTzS10tOIasRDJcRgEezo1f1nQ1NiyLlVxty3I9PXLOea2i/x5vMf7IqrN99t\n 8hYbqMnosRNR4XMGONGNyeB8z/XkuBiQs6YbB1XZFSOPOtAHv0BevvxKBKpskm1vuduU\n IOigTlkCWaIEKZdMVOtgZO5QtcGkbzvcRktkgG6VvMgjLvqllgyQ71/VEJI1pwMDrVyL\n hW2g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776816126; x=1777420926;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=4GMnvMgPoPIPJSzxHbcY/A3zsDlmols0y0fDIQhH1nQ=;\n b=nPzFj35mvGQiUY1yluR129ZvjPURsmC4ilTRHZSnKUjyaxC4v9sgzkFajhpaTE0d/U\n JijWu8dHR4D6Nm9YzXNPkqL23dP1KQPn06XT9eulx6XCs7dIh7+eyyMQ7OD6nEpm4709\n /xFqnHWSVzqcjCtsy1K0EZ517/qZNG/DV21WPBuihhQmAwhFyGP2m9pcjj5p6MGRAjJ0\n HziWF2pfVaGSPtRc4jd/fI4qEYYxM0Xb2QQAwGnnuIujOh1t5YvzXdLkDhGRFRKI0bOj\n iLctDdm6rQ3Y8xbv4goZcqJ166thjmqtX1eW1Fv5G2uUFStTlwgK92PcePWpvjLP3ZKD\n 24Sw==","X-Gm-Message-State":"AOJu0YzeLevVFvFRoyy3QPkzw45Y31wzGMyKql2Ae3taaBb3N/1f1cK4\n epUAFW8zVnWd6YlI0bzycKQwg/musJdu9cbD7CY1m/k7y6Q8R/0YP/Mf4vvis6l+fFIqYT9agRV\n kpEbFpEkOPvdJyIerWg7dlStbyk2PSQg=","X-Gm-Gg":"AeBDies8TJtwkwfbTG0HOvPF1EZfi5pW71zahKSzb1eCgE36MMKJR42egwx0Frv9iiC\n 3kA6BprIFnTKPoaSlTdjc9TT9NQZXrBPz7qIKdkczucYjpnDZ4bH5+VBOAFKqhRpfdPlODD53v6\n c6WGHi6s41O7W3r91736KmAU0tcQrVM6w73Ipnb9oxLumUWZ9/CGpLJekfxUQwNjd3Ywd0z+Y3w\n 2Z3UBB+yW3N7z84tFfiZdn8otEPOHleg5KlayBJDDsUekmeMK2skK6lhpxjEbP/9geDGB5uY4/H\n fwHDSKtivrOQHUQ5CiTIj3/FGesZ209A4K+bWWLBHjdsO3ai","X-Received":"by 2002:a17:907:3e9f:b0:ba7:3578:f628 with SMTP id\n a640c23a62f3a-ba7357901e9mr615724566b.38.1776816126123; Tue, 21 Apr 2026\n 17:02:06 -0700 (PDT)","MIME-Version":"1.0","References":"<20260421075906.2928317-1-frank.chang@sifive.com>\n <20260421075906.2928317-3-frank.chang@sifive.com>","In-Reply-To":"<20260421075906.2928317-3-frank.chang@sifive.com>","From":"Alistair Francis <alistair23@gmail.com>","Date":"Wed, 22 Apr 2026 10:01:38 +1000","X-Gm-Features":"AQROBzDEOco3Bmh2O14i43dhuSa_0qD0QqhTo8Q4jClG-cpou-KTjrfNMrki7fk","Message-ID":"\n <CAKmqyKMOoL94khSzCUb7h9xfCN9H0hkuLGf-BjNTTWjxgbhf-g@mail.gmail.com>","Subject":"Re: [PATCH v3 2/2] target/riscv: Update MISA.X for non-standard\n extensions","To":"frank.chang@sifive.com","Cc":"qemu-devel@nongnu.org, Palmer Dabbelt <palmer@dabbelt.com>,\n Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>,\n Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>,\n Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,\n Chao Liu <chao.liu.zevorn@gmail.com>,\n \"open list:RISC-V TCG CPUs\" <qemu-riscv@nongnu.org>,\n Max Chou <max.chou@sifive.com>,\n Daniel Henrique Barboza <dbarboza@ventanamicro.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","Received-SPF":"pass client-ip=2a00:1450:4864:20::62a;\n envelope-from=alistair23@gmail.com; helo=mail-ej1-x62a.google.com","X-Spam_score_int":"-17","X-Spam_score":"-1.8","X-Spam_bar":"-","X-Spam_report":"(-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]