From nobody Sat Sep 26 20:52:37 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789352039540326.51286854099396; Sun, 13 Sep 2026 19:13:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wCE-0001H7-Hd; Sun, 13 Sep 2026 22:13:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x5wC1-0001CI-Ag for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:13 -0400 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wBw-0007C4-Ma for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:10 -0400 Received: from loongson.cn (unknown [10.40.46.54]) by gateway (Coremail) with SMTP id _____8BxLtMvWKdqf6ULAA--.33681S3; Mon, 14 Sep 2026 10:13:03 +0800 (CST) Received: from fedora.loongson.cn (unknown [10.40.46.54]) by front1 (Coremail) with SMTP id qMiowJDxTs8rWKdqC2ggAA--.4739S3; Mon, 14 Sep 2026 10:13:02 +0800 (CST) From: Bibo Mao To: Song Gao <17746591750@163.com> Cc: Xianglai Li , Jiaxun Yang , qemu-devel@nongnu.org Subject: [PATCH 1/6] hw/intc/loongarch_dintc: Check irqchip in kernel mode firstly Date: Mon, 14 Sep 2026 10:14:15 +0800 Message-ID: <20260914021420.4065683-2-maobibo@loongson.cn> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260914021420.4065683-1-maobibo@loongson.cn> References: <20260914021420.4065683-1-maobibo@loongson.cn> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qMiowJDxTs8rWKdqC2ggAA--.4739S3 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoW7Cr1xJrW5Jw17CF4UZw15ZFc_yoW8Gw13pr W7u390gF4rA398XFs3ta48Zr15Crsa9342qFsIkFyxCF4kXrn8Wr1xJr1xXFyUK34UWayj vrn5G3W5uF15AFcCm3ZEXasCq-sJn29KB7ZKAUJUUUU5529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk0b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r126r13M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Jr0_Gr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I 8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E87Iv67AK xVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64 vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8G jcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2I x0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK 8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I 0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxU7TKZDUUUU Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=114.242.206.163; envelope-from=maobibo@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1789352041166158500 Content-Type: text/plain; charset="utf-8" when inject MSI interrupt, check irqchip in kernel mode at first and then check validity of MSI message in TCG mode, since irqchip in kernel is used at most popular. Signed-off-by: Bibo Mao --- hw/intc/loongarch_dintc.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/hw/intc/loongarch_dintc.c b/hw/intc/loongarch_dintc.c index c01f1fe07e..dd6fe6e241 100644 --- a/hw/intc/loongarch_dintc.c +++ b/hw/intc/loongarch_dintc.c @@ -72,6 +72,15 @@ static void loongarch_dintc_mem_write(void *opaque, hwad= dr addr, DINTCCore *core; CPUState *cs; =20 + if (kvm_irqchip_in_kernel()) { + MSIMessage msg; + + msg.address =3D msg_addr; + msg.data =3D val; + kvm_irqchip_send_msi(kvm_state, msg); + return; + } + arch_id =3D FIELD_EX64(msg_addr, MSG_ADDR, CPU_NUM); core =3D loongarch_dintc_cpu_by_arch_id(s, arch_id); if (!core || !core->cpu) { @@ -83,16 +92,6 @@ static void loongarch_dintc_mem_write(void *opaque, hwad= dr addr, cpu_num =3D core - s->cpu; cs =3D core->cpu; irq_num =3D FIELD_EX64(msg_addr, MSG_ADDR, IRQ_NUM); - - if (kvm_irqchip_in_kernel()) { - MSIMessage msg; - - msg.address =3D msg_addr; - msg.data =3D val; - kvm_irqchip_send_msi(kvm_state, msg); - return; - } - async_run_on_cpu(cs, do_set_vcpu_dintc_irq, RUN_ON_CPU_HOST_INT(irq_num)); qemu_set_irq(s->cpu[cpu_num].parent_irq, 1); --=20 2.54.0 From nobody Sat Sep 26 20:52:37 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789352031576324.64922906004074; Sun, 13 Sep 2026 19:13:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wC4-0001DU-FI; Sun, 13 Sep 2026 22:13:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x5wC1-0001CM-Bo for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:13 -0400 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wBw-0007Dx-NH for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:11 -0400 Received: from loongson.cn (unknown [10.40.46.54]) by gateway (Coremail) with SMTP id _____8AxS_AwWKdqgqULAA--.33935S3; Mon, 14 Sep 2026 10:13:04 +0800 (CST) Received: from fedora.loongson.cn (unknown [10.40.46.54]) by front1 (Coremail) with SMTP id qMiowJDxTs8rWKdqC2ggAA--.4739S4; Mon, 14 Sep 2026 10:13:03 +0800 (CST) From: Bibo Mao To: Song Gao <17746591750@163.com> Cc: Xianglai Li , Jiaxun Yang , qemu-devel@nongnu.org Subject: [PATCH 2/6] target/loongarch/kvm: Check LoongArch Instruction Set version 1.1 Date: Mon, 14 Sep 2026 10:14:16 +0800 Message-ID: <20260914021420.4065683-3-maobibo@loongson.cn> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260914021420.4065683-1-maobibo@loongson.cn> References: <20260914021420.4065683-1-maobibo@loongson.cn> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qMiowJDxTs8rWKdqC2ggAA--.4739S4 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoWxWry7ZF1ruw13Xw4fWFWDWrX_yoW5Ar48pr 4UCrs0grWrtFZ7CwnxJrWqvrs8ZF48K3yIyFyxArySvwn8JrnrZFyIya1DZFn8G34rZrs3 WF4kAFZ8uF1DAwcCm3ZEXasCq-sJn29KB7ZKAUJUUUU5529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk0b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r126r13M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I 8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1q6rW5McIj6I8E87Iv67AK xVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64 vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8G jcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2I x0cI8IcVAFwI0_JFI_Gr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK 8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6xkF7I 0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxU7JKsUUUUU Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=114.242.206.163; envelope-from=maobibo@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1789352034239158500 Content-Type: text/plain; charset="utf-8" Besides PTW and DINTC features, there are some small features about LoongArch Instruction Set version 1.1, mainly they are about atomic instruction enhancement. For these features, there are no special property selection, and they are enabled from CPU type selection such as host or max CPU type. Here adds these features if host supports and they are enabled from the specified CPU type. Signed-off-by: Bibo Mao --- target/loongarch/kvm/kvm.c | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/target/loongarch/kvm/kvm.c b/target/loongarch/kvm/kvm.c index 15082a01f8..0626c553d5 100644 --- a/target/loongarch/kvm/kvm.c +++ b/target/loongarch/kvm/kvm.c @@ -1234,6 +1234,65 @@ static int kvm_cpu_check_msgint(CPUState *cs, Error = **errp) return 0; } =20 +/* Check LoongArch Instruction Set 1.1 others feature */ +static int kvm_cpu_check_misc_v1_1(CPUState *cs, Error **errp) +{ + int ret; + uint64_t val, field; + struct kvm_device_attr attr; + LoongArchCPU *cpu =3D LOONGARCH_CPU(cs); + uint32_t data; + + val =3D 0; + attr.group =3D KVM_LOONGARCH_VCPU_CPUCFG; + attr.attr =3D 2; + attr.addr =3D (uint64_t)&val; + ret =3D kvm_vcpu_ioctl(cs, KVM_HAS_DEVICE_ATTR, &attr); + if (!ret) { + ret =3D kvm_vcpu_ioctl(cs, KVM_GET_DEVICE_ATTR, &attr); + } + + /* Disable LA 1.1 features if host cpucfg2 get not supported */ + if (ret) { + val =3D 0; + } + + data =3D cpu->env.cpucfg[2]; + val &=3D data; + field =3D FIELD_EX32((uint32_t)val, CPUCFG2, FRECIPE); + data =3D FIELD_DP32(data, CPUCFG2, FRECIPE, field); + field =3D FIELD_EX32((uint32_t)val, CPUCFG2, LAM_BH); + data =3D FIELD_DP32(data, CPUCFG2, LAM_BH, field); + field =3D FIELD_EX32((uint32_t)val, CPUCFG2, LAMCAS); + data =3D FIELD_DP32(data, CPUCFG2, LAMCAS, field); + field =3D FIELD_EX32((uint32_t)val, CPUCFG2, LLACQ_SCREL); + data =3D FIELD_DP32(data, CPUCFG2, LLACQ_SCREL, field); + field =3D FIELD_EX32((uint32_t)val, CPUCFG2, SCQ); + data =3D FIELD_DP32(data, CPUCFG2, SCQ, field); + cpu->env.cpucfg[2] =3D data; + + val =3D 0; + attr.group =3D KVM_LOONGARCH_VCPU_CPUCFG; + attr.attr =3D 3; + attr.addr =3D (uint64_t)&val; + ret =3D kvm_vcpu_ioctl(cs, KVM_HAS_DEVICE_ATTR, &attr); + if (!ret) { + ret =3D kvm_vcpu_ioctl(cs, KVM_GET_DEVICE_ATTR, &attr); + } + + /* Disable LA 1.1 features if host cpucfg3 get not supported */ + if (ret) { + val =3D 0; + } + + data =3D cpu->env.cpucfg[3]; + val &=3D data; + field =3D FIELD_EX32((uint32_t)val, CPUCFG3, DBAR_HINTS); + data =3D FIELD_DP32(data, CPUCFG3, DBAR_HINTS, field); + cpu->env.cpucfg[3] =3D data; + return 0; +} + int kvm_arch_pre_create_vcpu(CPUState *cpu, Error **errp) { return 0; @@ -1295,6 +1354,12 @@ int kvm_arch_init_vcpu(CPUState *cs) return ret; } =20 + ret =3D kvm_cpu_check_misc_v1_1(cs, &local_err); + if (ret < 0) { + error_report_err(local_err); + return ret; + } + return 0; } =20 --=20 2.54.0 From nobody Sat Sep 26 20:52:37 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789352031377398.672949412217; Sun, 13 Sep 2026 19:13:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wC4-0001Dc-Py; Sun, 13 Sep 2026 22:13:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x5wC1-0001CJ-At for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:13 -0400 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wBw-0007CA-Oq for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:11 -0400 Received: from loongson.cn (unknown [10.40.46.54]) by gateway (Coremail) with SMTP id _____8Cx+9EwWKdqhaULAA--.34000S3; Mon, 14 Sep 2026 10:13:04 +0800 (CST) Received: from fedora.loongson.cn (unknown [10.40.46.54]) by front1 (Coremail) with SMTP id qMiowJDxTs8rWKdqC2ggAA--.4739S5; Mon, 14 Sep 2026 10:13:04 +0800 (CST) From: Bibo Mao To: Song Gao <17746591750@163.com> Cc: Xianglai Li , Jiaxun Yang , qemu-devel@nongnu.org Subject: [PATCH 3/6] target/loongarch: Enable LoongArch Instruction Set version 1.1 Date: Mon, 14 Sep 2026 10:14:17 +0800 Message-ID: <20260914021420.4065683-4-maobibo@loongson.cn> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260914021420.4065683-1-maobibo@loongson.cn> References: <20260914021420.4065683-1-maobibo@loongson.cn> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qMiowJDxTs8rWKdqC2ggAA--.4739S5 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoW7Kry7Wr4DArW8Cr1DGF4xKrX_yoW8uF18pr ZrArsIg39rtFs7AwnrJayYqrn5XF4xGw42yF4xtrW7Zw4DJFn7Xa4kJa18AF9Fy3s5AF1I 9FW8AFZxGFs8AFcCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUkYb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1a6r1DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6r4j6r4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI0UMc 02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUtVWrXwAv7VC2z280aVAF wI0_Gr0_Cr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw28IcxkI7V AKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCj r7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6x IIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAI w20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY1x 0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7IUbCzuJUUUUU== Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=114.242.206.163; envelope-from=maobibo@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1789352034144158500 Content-Type: text/plain; charset="utf-8" Now LoongArch Instruction Set version 1.1 is enabled in TCG mode, disabled in KVM mode. After LoongArch Instruction Set version 1.1 detection is added in KVM mode, it can be enabled with max cpu type. Signed-off-by: Bibo Mao --- target/loongarch/cpu.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index 18d73ebc1b..50fcbabc71 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -460,6 +460,8 @@ static void loongarch_la132_initfn(Object *obj) static void loongarch_max_initfn(Object *obj) { LoongArchCPU *cpu =3D LOONGARCH_CPU(obj); + uint32_t data; + /* '-cpu max': use it for max supported CPU features */ loongarch_la464_initfn(obj); =20 @@ -467,20 +469,25 @@ static void loongarch_max_initfn(Object *obj) if (kvm_enabled()){ cpu->msgint=3DON_OFF_AUTO_OFF; } + + /* Enable LA v1.1 instructions */ + data =3D cpu->env.cpucfg[2]; + data =3D FIELD_DP32(data, CPUCFG2, FRECIPE, 1); + data =3D FIELD_DP32(data, CPUCFG2, LAM_BH, 1); + data =3D FIELD_DP32(data, CPUCFG2, LAMCAS, 1); + data =3D FIELD_DP32(data, CPUCFG2, LLACQ_SCREL, 1); + data =3D FIELD_DP32(data, CPUCFG2, SCQ, 1); + cpu->env.cpucfg[2] =3D data; + + data =3D cpu->env.cpucfg[3]; + data =3D FIELD_DP32(data, CPUCFG3, DBAR_HINTS, 1); + cpu->env.cpucfg[3] =3D data; + if (tcg_enabled()) { - uint32_t data =3D cpu->env.cpucfg[2]; + data =3D cpu->env.cpucfg[2]; data =3D FIELD_DP32(data, CPUCFG2, HPTW, 1); - /* Enable LA v1.1 instructions */ - data =3D FIELD_DP32(data, CPUCFG2, FRECIPE, 1); - data =3D FIELD_DP32(data, CPUCFG2, LAM_BH, 1); - data =3D FIELD_DP32(data, CPUCFG2, LAMCAS, 1); - data =3D FIELD_DP32(data, CPUCFG2, LLACQ_SCREL, 1); - data =3D FIELD_DP32(data, CPUCFG2, SCQ, 1); cpu->env.cpucfg[2] =3D data; =20 - data =3D cpu->env.cpucfg[3]; - data =3D FIELD_DP32(data, CPUCFG3, DBAR_HINTS, 1); - cpu->env.cpucfg[3] =3D data; cpu->env.cpucfg[1] =3D FIELD_DP32(cpu->env.cpucfg[1], CPUCFG1, MSG_INT, = 1); cpu->msgint =3D ON_OFF_AUTO_AUTO; } --=20 2.54.0 From nobody Sat Sep 26 20:52:37 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789352049037219.88318688201582; Sun, 13 Sep 2026 19:14:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wC5-0001Ek-UN; Sun, 13 Sep 2026 22:13:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x5wC3-0001Dd-K5 for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:15 -0400 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wBx-0007Eg-2T for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:15 -0400 Received: from loongson.cn (unknown [10.40.46.54]) by gateway (Coremail) with SMTP id _____8CxvtIyWKdqiqULAA--.33735S3; Mon, 14 Sep 2026 10:13:06 +0800 (CST) Received: from fedora.loongson.cn (unknown [10.40.46.54]) by front1 (Coremail) with SMTP id qMiowJBx5cwyWKdqDmggAA--.43217S2; Mon, 14 Sep 2026 10:13:06 +0800 (CST) From: Bibo Mao To: Song Gao <17746591750@163.com> Cc: Xianglai Li , Jiaxun Yang , qemu-devel@nongnu.org Subject: [PATCH 4/6] target/loongarch: Set msgint property with auto detected Date: Mon, 14 Sep 2026 10:14:18 +0800 Message-ID: <20260914021420.4065683-5-maobibo@loongson.cn> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260914021420.4065683-1-maobibo@loongson.cn> References: <20260914021420.4065683-1-maobibo@loongson.cn> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qMiowJBx5cwyWKdqDmggAA--.43217S2 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj9xXoWrKw4fXFWxWw18uryxWrWDZFc_yoWkCFg_Xa yaqasag3WDCas8KF429r95J34rCry8GFnakF4DXF1fAw1UAF15Zw409rWDAwnFqw4UZF15 urW3Z34rC3Z2yosvyTuYvTs0mTUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUj1kv1TuYvT s0mT0YCTnIWjqI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUI cSsGvfJTRUUUb7kYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1xkIjI8I6I8E6xAIw20EY4v20x vaj40_Wr0E3s1l1IIY67AEw4v_Jrv_JF1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxS w2x7M28EF7xvwVC0I7IYx2IY67AKxVW8JVW5JwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxV W8JVWxJwA2z4x0Y4vEx4A2jsIE14v26F4j6r4UJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I 8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1q6rW5McIj6I8E87Iv67AK xVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64 vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8G jcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2I x0cI8IcVAFwI0_Gr0_Xr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42xK 8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6xkF7I 0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUcCD7UUUUU Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=114.242.206.163; envelope-from=maobibo@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1789352051092158500 Content-Type: text/plain; charset="utf-8" Linux kernel and KVM has supported msgint irqchip, set msgint property with value ON_OFF_AUTO_AUTO with max CPU type in both KVM and TCG mode. Signed-off-by: Bibo Mao --- target/loongarch/cpu.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index 50fcbabc71..3072ebfd09 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -466,9 +466,8 @@ static void loongarch_max_initfn(Object *obj) loongarch_la464_initfn(obj); =20 cpu->ptw =3D ON_OFF_AUTO_AUTO; - if (kvm_enabled()){ - cpu->msgint=3DON_OFF_AUTO_OFF; - } + cpu->env.cpucfg[1] =3D FIELD_DP32(cpu->env.cpucfg[1], CPUCFG1, MSG_INT= , 1); + cpu->msgint =3D ON_OFF_AUTO_AUTO; =20 /* Enable LA v1.1 instructions */ data =3D cpu->env.cpucfg[2]; @@ -487,9 +486,6 @@ static void loongarch_max_initfn(Object *obj) data =3D cpu->env.cpucfg[2]; data =3D FIELD_DP32(data, CPUCFG2, HPTW, 1); cpu->env.cpucfg[2] =3D data; - - cpu->env.cpucfg[1] =3D FIELD_DP32(cpu->env.cpucfg[1], CPUCFG1, MSG_INT, = 1); - cpu->msgint =3D ON_OFF_AUTO_AUTO; } } =20 --=20 2.54.0 From nobody Sat Sep 26 20:52:37 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789352036297632.8536390259032; Sun, 13 Sep 2026 19:13:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wC8-0001FP-KU; Sun, 13 Sep 2026 22:13:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x5wC2-0001Cx-3a for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:14 -0400 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wBw-0007En-V5 for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:13 -0400 Received: from loongson.cn (unknown [10.40.46.54]) by gateway (Coremail) with SMTP id _____8CxutEyWKdqjaULAA--.33825S3; Mon, 14 Sep 2026 10:13:06 +0800 (CST) Received: from fedora.loongson.cn (unknown [10.40.46.54]) by front1 (Coremail) with SMTP id qMiowJBx5cwyWKdqDmggAA--.43217S3; Mon, 14 Sep 2026 10:13:06 +0800 (CST) From: Bibo Mao To: Song Gao <17746591750@163.com> Cc: Xianglai Li , Jiaxun Yang , qemu-devel@nongnu.org Subject: [PATCH 5/6] target/loongarch: Enable hw ptw feature by default Date: Mon, 14 Sep 2026 10:14:19 +0800 Message-ID: <20260914021420.4065683-6-maobibo@loongson.cn> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260914021420.4065683-1-maobibo@loongson.cn> References: <20260914021420.4065683-1-maobibo@loongson.cn> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qMiowJBx5cwyWKdqDmggAA--.43217S3 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoW7CFWrXF4kJr47Aw4ftw1fuFX_yoW8Cr1Dpr ZxZw12grWftrZrJw1kJa90qrs8Xr4UGr42q3Wftry7A3Z8JF17uFyktan3tF9rA3s5JFyI qFW0yrs8WF4DXabCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUkYb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6r4j6r4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI0UMc 02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUtVWrXwAv7VC2z280aVAF wI0_Gr0_Cr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw28IcxkI7V AKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCj r7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6x IIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6xAI w20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY1x 0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7IU8l38UUUUUU== Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=114.242.206.163; envelope-from=maobibo@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1789352037139158500 Content-Type: text/plain; charset="utf-8" With max CPU type, PTW feature is enabled in TCG mode and auto detected in KVM mode. Enable this feature in both TCG and KVM mode in the beginning, and detect it in late with KVM mode. Signed-off-by: Bibo Mao --- target/loongarch/cpu.c | 7 +------ target/loongarch/kvm/kvm.c | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index 3072ebfd09..f4d3d75e16 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -465,6 +465,7 @@ static void loongarch_max_initfn(Object *obj) /* '-cpu max': use it for max supported CPU features */ loongarch_la464_initfn(obj); =20 + cpu->env.cpucfg[2] =3D FIELD_DP32(cpu->env.cpucfg[2], CPUCFG2, HPTW, 1= ); cpu->ptw =3D ON_OFF_AUTO_AUTO; cpu->env.cpucfg[1] =3D FIELD_DP32(cpu->env.cpucfg[1], CPUCFG1, MSG_INT= , 1); cpu->msgint =3D ON_OFF_AUTO_AUTO; @@ -481,12 +482,6 @@ static void loongarch_max_initfn(Object *obj) data =3D cpu->env.cpucfg[3]; data =3D FIELD_DP32(data, CPUCFG3, DBAR_HINTS, 1); cpu->env.cpucfg[3] =3D data; - - if (tcg_enabled()) { - data =3D cpu->env.cpucfg[2]; - data =3D FIELD_DP32(data, CPUCFG2, HPTW, 1); - cpu->env.cpucfg[2] =3D data; - } } =20 #if defined(CONFIG_KVM) diff --git a/target/loongarch/kvm/kvm.c b/target/loongarch/kvm/kvm.c index 0626c553d5..941142305e 100644 --- a/target/loongarch/kvm/kvm.c +++ b/target/loongarch/kvm/kvm.c @@ -1150,6 +1150,7 @@ static int kvm_cpu_check_ptw(CPUState *cs, Error **er= rp) CPULoongArchState *env =3D cpu_env(cs); bool kvm_supported; =20 + env->cpucfg[2] =3D FIELD_DP32(env->cpucfg[2], CPUCFG2, HPTW, 0); kvm_supported =3D kvm_feature_supported(cs, LOONGARCH_FEATURE_PTW); if (cpu->ptw =3D=3D ON_OFF_AUTO_ON) { if (!kvm_supported) { --=20 2.54.0 From nobody Sat Sep 26 20:52:37 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789352065735994.8478914914597; Sun, 13 Sep 2026 19:14:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wCA-0001G6-2E; Sun, 13 Sep 2026 22:13:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x5wC2-0001D0-7U for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:14 -0400 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x5wBx-0007FV-Gc for qemu-devel@nongnu.org; Sun, 13 Sep 2026 22:13:13 -0400 Received: from loongson.cn (unknown [10.40.46.54]) by gateway (Coremail) with SMTP id _____8AxHNIzWKdqkqULAA--.33726S3; Mon, 14 Sep 2026 10:13:07 +0800 (CST) Received: from fedora.loongson.cn (unknown [10.40.46.54]) by front1 (Coremail) with SMTP id qMiowJBx5cwyWKdqDmggAA--.43217S4; Mon, 14 Sep 2026 10:13:06 +0800 (CST) From: Bibo Mao To: Song Gao <17746591750@163.com> Cc: Xianglai Li , Jiaxun Yang , qemu-devel@nongnu.org Subject: [PATCH 6/6] target/loongarch: Add la664 CPU type Date: Mon, 14 Sep 2026 10:14:20 +0800 Message-ID: <20260914021420.4065683-7-maobibo@loongson.cn> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260914021420.4065683-1-maobibo@loongson.cn> References: <20260914021420.4065683-1-maobibo@loongson.cn> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qMiowJBx5cwyWKdqDmggAA--.43217S4 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoW7CrW8Kr1xJF4UuF4rWw1DCFX_yoW8Ww4DpF 9xZw42gFWxJFZrAa4DAa98Wrs8Jrs3W3y2vFy3tw4kArs3Xry7X3W8J398ZF1Dt3y8WF1I vr40y3WY9F4UJ3XCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUv2b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6r4j6r4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI0UMc 02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUtVWrXwAv7VC2z280aVAF wI0_Gr0_Cr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw28IcxkI7V AKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMxCIbckI1I0E14v26r1Y6r17MI8I3I0E5I8C rVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtw CIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x02 67AKxVW8JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Gr 0_Cr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7IU8l3 8UUUUUU== Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=114.242.206.163; envelope-from=maobibo@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1789352067251158500 Content-Type: text/plain; charset="utf-8" Most features about LA664 CPU hardware is finished in TCG and KVM mode, add la664 CPU type and it is similar with max CPU type. Signed-off-by: Bibo Mao --- target/loongarch/cpu.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index f4d3d75e16..759fee0b26 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -457,12 +457,11 @@ static void loongarch_la132_initfn(Object *obj) cpu->ptw =3D ON_OFF_AUTO_OFF; } =20 -static void loongarch_max_initfn(Object *obj) +static void loongarch_la664_initfn(Object *obj) { LoongArchCPU *cpu =3D LOONGARCH_CPU(obj); uint32_t data; =20 - /* '-cpu max': use it for max supported CPU features */ loongarch_la464_initfn(obj); =20 cpu->env.cpucfg[2] =3D FIELD_DP32(cpu->env.cpucfg[2], CPUCFG2, HPTW, 1= ); @@ -484,6 +483,12 @@ static void loongarch_max_initfn(Object *obj) cpu->env.cpucfg[3] =3D data; } =20 +static void loongarch_max_initfn(Object *obj) +{ + /* '-cpu max': use it for max supported CPU features */ + loongarch_la664_initfn(obj); +} + #if defined(CONFIG_KVM) static int read_cpuinfo(const char *field, char *value, int len) { @@ -940,6 +945,8 @@ static const TypeInfo loongarch_cpu_type_infos[] =3D { .abstract =3D true, .class_init =3D loongarch64_cpu_class_init, }, + + DEFINE_LOONGARCH_CPU_TYPE(64, "la664", loongarch_la664_initfn), DEFINE_LOONGARCH_CPU_TYPE(64, "la464", loongarch_la464_initfn), DEFINE_LOONGARCH_CPU_TYPE(32, "la132", loongarch_la132_initfn), DEFINE_LOONGARCH_CPU_TYPE(64, "max", loongarch_max_initfn), --=20 2.54.0