From nobody Mon May 20 14:38:34 2024 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16854493373291013.0129845316508; Tue, 30 May 2023 05:22:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3yLr-0001dC-S5; Tue, 30 May 2023 08:21:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q3yLC-0001Wi-5q for qemu-devel@nongnu.org; Tue, 30 May 2023 08:20:42 -0400 Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3yL8-0007Tq-Tm for qemu-devel@nongnu.org; Tue, 30 May 2023 08:20:41 -0400 Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8Cx7+sS6nVk_ZUCAA--.5590S3; Tue, 30 May 2023 20:20:34 +0800 (CST) Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8AxQbQS6nVk5ZeAAA--.13145S2; Tue, 30 May 2023 20:20:34 +0800 (CST) From: Tianrui Zhao To: qemu-devel@nongnu.org Cc: "Michael S . Tsirkin" , Igor Mammedov , Ani Sinha , maobibo@loongson.cn, zhaotianrui@loongson.cn, gaosong@loongson.cn Subject: [PATCH] hw/smbios: fix thead count field in type 4 table Date: Tue, 30 May 2023 20:20:34 +0800 Message-Id: <20230530122034.547109-1-zhaotianrui@loongson.cn> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: AQAAf8AxQbQS6nVk5ZeAAA--.13145S2 X-CM-SenderInfo: p2kd03xldq233l6o00pqjv00gofq/ X-Coremail-Antispam: 1Uk129KBjvJXoW7WFy7uFW7Gw1kurWfJF1kZrb_yoW8CF4rpr yDArWkWr1fCr1I9w47Za4UWFyrJwsYgayUJ39Fq3yFywsxKw45Xa4kKay7tF92yF1vqa42 qrs8uF4SvFWkZr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bn8Fc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r1I6r4UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r1j6r4UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I 0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xAC xx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x8ErcxFaVAv8VWrMcvjeVCFs4IE7xkEbV WUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x0EwIxGrwCF04k20xvE74AGY7Cv6cx2 6rWl4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8Gjc xK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2Ix0 cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8V AvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8Jr0_Cr1UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvj4RC_MaUUUUU 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=lists.gnu.org; Received-SPF: pass client-ip=114.242.206.163; envelope-from=zhaotianrui@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, T_SCC_BODY_TEXT_LINE=-0.01 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: 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: 1685449338911100003 Content-Type: text/plain; charset="utf-8" The thread_count value in smbios type_4 table should be (ms->smp.cores * ms->smp.threads). As according to smbios spec 7.5 Processor Information (Type 4), the field "Thread Count" means the "Number of threads per processor socket" rather than number of threads per core. When apply this patch, use "-smp 4,sockets=3D1,cores=3D2,threads=3D2" to boot VM, the dmidecode -t 4 shows like: Handle 0x0400, DMI type 4, 48 bytes Processor Information Socket Designation: CPU 0 ... Core Count: 2 Core Enabled: 2 Thread Count: 4 Characteristics: None Signed-off-by: Tianrui Zhao --- hw/smbios/smbios.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index d2007e70fb..56aeaa069d 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -713,6 +713,7 @@ static void smbios_build_type_4_table(MachineState *ms,= unsigned instance) { char sock_str[128]; size_t tbl_len =3D SMBIOS_TYPE_4_LEN_V28; + int count; =20 if (smbios_ep_type =3D=3D SMBIOS_ENTRY_POINT_TYPE_64) { tbl_len =3D SMBIOS_TYPE_4_LEN_V30; @@ -749,15 +750,15 @@ static void smbios_build_type_4_table(MachineState *m= s, unsigned instance) =20 t->core_count =3D (ms->smp.cores > 255) ? 0xFF : ms->smp.cores; t->core_enabled =3D t->core_count; - - t->thread_count =3D (ms->smp.threads > 255) ? 0xFF : ms->smp.threads; + count =3D ms->smp.cores * ms->smp.threads; + t->thread_count =3D (count > 255) ? 0xFF : count; =20 t->processor_characteristics =3D cpu_to_le16(0x02); /* Unknown */ t->processor_family2 =3D cpu_to_le16(0x01); /* Other */ =20 if (tbl_len =3D=3D SMBIOS_TYPE_4_LEN_V30) { t->core_count2 =3D t->core_enabled2 =3D cpu_to_le16(ms->smp.cores); - t->thread_count2 =3D cpu_to_le16(ms->smp.threads); + t->thread_count2 =3D cpu_to_le16(count); } =20 SMBIOS_BUILD_TABLE_POST; --=20 2.39.1