From nobody Tue Nov 18 05:57:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607979157; cv=none; d=zohomail.com; s=zohoarc; b=m5w4lZVnl/7CUUNSAYrFHdHPCfCjG5LceHD9niNhpjDzMfhkzAQMoyapy5lE/Ufi3EuhJJnM2eLQa1D5kwhW9obbnJTdnFH1JpXKE2mVHbQPIgWCJkOO/kgwx3WFmYUUP0OIjEAmv1ESOOb4E2Wx4f4nS7KDCCfoYTaOpB3p/TQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607979157; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=e26mtVT6oJiALaiWbrN5Qd2wsXgiWEYHgEqYyFSB5u4=; b=chnSISodYmRiwOyMcMbD30ejN+cXs4IsDLNPIwehNBLQ1JFgbGLre0b9O65ytfHg8qzbgmLjQsvz7LT5tJy0f7han+hPpJr4NBne3ebH39HhoQxNEJck39HcLyPhFk2Ty8jn4rk6fVRrNeDWOgwVu07pmp/uTAumQOWqdHHEzkE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607979157338705.908612118561; Mon, 14 Dec 2020 12:52:37 -0800 (PST) Received: from localhost ([::1]:49072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koupg-00087F-7c for importer@patchew.org; Mon, 14 Dec 2020 15:52:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50862) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kounv-0006GY-LR for qemu-devel@nongnu.org; Mon, 14 Dec 2020 15:50:48 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:21100) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kounr-0001gG-KI for qemu-devel@nongnu.org; Mon, 14 Dec 2020 15:50:47 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-467-Z4HBRxOuN9GDvmBPfDBnTQ-1; Mon, 14 Dec 2020 15:50:41 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C44BE8735CC; Mon, 14 Dec 2020 20:50:39 +0000 (UTC) Received: from localhost (ovpn-116-160.rdu2.redhat.com [10.10.116.160]) by smtp.corp.redhat.com (Postfix) with ESMTP id 426105D6AB; Mon, 14 Dec 2020 20:50:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607979043; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=e26mtVT6oJiALaiWbrN5Qd2wsXgiWEYHgEqYyFSB5u4=; b=SxC2IruAX08GTDJvEbccmjnayvEPT5O0QqZYfg0o+IsT8NZDdLv4eel16C0sCmNVoxzvvi Jjh+hLeB0PeczY2CQ9No4Rj0gnVqmiYhIUiyKyQyQChSzfEDAjv+opmrm7RuX7DyJLrCLB nemZB44oGObq+zqFG82xDy0+XL6174Q= X-MC-Unique: Z4HBRxOuN9GDvmBPfDBnTQ-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v2 1/3] smbios: Rename SMBIOS_ENTRY_POINT_* enums Date: Mon, 14 Dec 2020 15:50:27 -0500 Message-Id: <20201214205029.2991222-2-ehabkost@redhat.com> In-Reply-To: <20201214205029.2991222-1-ehabkost@redhat.com> References: <20201214205029.2991222-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , "Daniel P. Berrange" , Eduardo Habkost , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Michael Roth , Markus Armbruster , qemu-arm@nongnu.org, Paolo Bonzini , Igor Mammedov , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Rename the enums to match the naming style used by QAPI. This will allow us to more easily move the enum to the QAPI schema later. Based on portions of a patch submitted by Daniel P. Berrang=C3=A9. Signed-off-by: Daniel P. Berrang=C3=A9 Signed-off-by: Eduardo Habkost Reviewed-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- First version of this code was submitted at: https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berrange@redhat= .com Changes from v1: * Patch was split in two * Hunks included this patch are not changed from v1 --- include/hw/firmware/smbios.h | 4 ++-- hw/arm/virt.c | 2 +- hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 2 +- hw/smbios/smbios.c | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/hw/firmware/smbios.h b/include/hw/firmware/smbios.h index 02a0ced0a0..5467ecec78 100644 --- a/include/hw/firmware/smbios.h +++ b/include/hw/firmware/smbios.h @@ -27,8 +27,8 @@ struct smbios_phys_mem_area { * SMBIOS spec defined tables */ typedef enum SmbiosEntryPointType { - SMBIOS_ENTRY_POINT_21, - SMBIOS_ENTRY_POINT_30, + SMBIOS_ENTRY_POINT_TYPE_2_1, + SMBIOS_ENTRY_POINT_TYPE_3_0, } SmbiosEntryPointType; =20 /* SMBIOS Entry Point diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 556592012e..af53e09d1e 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1445,7 +1445,7 @@ static void virt_build_smbios(VirtMachineState *vms) =20 smbios_set_defaults("QEMU", product, vmc->smbios_old_sys_ver ? "1.0" : mc->name, false, - true, SMBIOS_ENTRY_POINT_30); + true, SMBIOS_ENTRY_POINT_TYPE_3_0); =20 smbios_get_tables(MACHINE(vms), NULL, 0, &smbios_tables, &smbios_table= s_len, &smbios_anchor, &smbios_anchor_len); diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 6188c3e97e..08b82df4d1 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -179,7 +179,7 @@ static void pc_init1(MachineState *machine, smbios_set_defaults("QEMU", "Standard PC (i440FX + PIIX, 1996)", mc->name, pcmc->smbios_legacy_mode, pcmc->smbios_uuid_encoded, - SMBIOS_ENTRY_POINT_21); + SMBIOS_ENTRY_POINT_TYPE_2_1); } =20 /* allocate ram and load rom/bios */ diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 0a212443aa..f71b1e2dcf 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -198,7 +198,7 @@ static void pc_q35_init(MachineState *machine) smbios_set_defaults("QEMU", "Standard PC (Q35 + ICH9, 2009)", mc->name, pcmc->smbios_legacy_mode, pcmc->smbios_uuid_encoded, - SMBIOS_ENTRY_POINT_21); + SMBIOS_ENTRY_POINT_TYPE_2_1); } =20 /* allocate ram and load rom/bios */ diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index f22c4f5b73..930cf52c6b 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -61,7 +61,7 @@ uint8_t *smbios_tables; size_t smbios_tables_len; unsigned smbios_table_max; unsigned smbios_table_cnt; -static SmbiosEntryPointType smbios_ep_type =3D SMBIOS_ENTRY_POINT_21; +static SmbiosEntryPointType smbios_ep_type =3D SMBIOS_ENTRY_POINT_TYPE_2_1; =20 static SmbiosEntryPoint ep; =20 @@ -383,7 +383,7 @@ static void smbios_validate_table(MachineState *ms) exit(1); } =20 - if (smbios_ep_type =3D=3D SMBIOS_ENTRY_POINT_21 && + if (smbios_ep_type =3D=3D SMBIOS_ENTRY_POINT_TYPE_2_1 && smbios_tables_len > SMBIOS_21_MAX_TABLES_LEN) { error_report("SMBIOS 2.1 table length %zu exceeds %d", smbios_tables_len, SMBIOS_21_MAX_TABLES_LEN); @@ -831,7 +831,7 @@ void smbios_set_defaults(const char *manufacturer, cons= t char *product, static void smbios_entry_point_setup(void) { switch (smbios_ep_type) { - case SMBIOS_ENTRY_POINT_21: + case SMBIOS_ENTRY_POINT_TYPE_2_1: memcpy(ep.ep21.anchor_string, "_SM_", 4); memcpy(ep.ep21.intermediate_anchor_string, "_DMI_", 5); ep.ep21.length =3D sizeof(struct smbios_21_entry_point); @@ -854,7 +854,7 @@ static void smbios_entry_point_setup(void) ep.ep21.structure_table_address =3D cpu_to_le32(0); =20 break; - case SMBIOS_ENTRY_POINT_30: + case SMBIOS_ENTRY_POINT_TYPE_3_0: memcpy(ep.ep30.anchor_string, "_SM3_", 5); ep.ep30.length =3D sizeof(struct smbios_30_entry_point); ep.ep30.entry_point_revision =3D 1; --=20 2.28.0 From nobody Tue Nov 18 05:57:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607979260; cv=none; d=zohomail.com; s=zohoarc; b=DwxDBFHW5O4+JQ+T7Utiy3So0Sryk8wgMDeJs8v4cxxrKFXRYnUNEden/VrEkJhixvSQkEG232Wu/NAcck9LPo85tIBCtUlh6qTg2eU2clKeawu9JiK2M2LTrbsC/r8JrgghbLYkMyW5C4IZr7xk+UmqEMezdwqXrQJRsnztI5M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607979260; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rfaEH6sgDHoSlrILw4Wuv5je3FxkaJ8a2vJZFK/cGs8=; b=YAyyjdPHdA3CLulfasFqeBHjPYz49U3V1G4njpbWqaCGPOWvaLFvcBWp2XoTdhUTEKE56PBeioZHDlF/j7lgoDNHUfBxXDVQWofOZvBDa6WdOFJ1HiEzkMB3UggucprxCc346GMsFtPsaT8i2LH9nXRnv2nIoAtgvi7ekF3yO+s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607979260573312.62861627871746; Mon, 14 Dec 2020 12:54:20 -0800 (PST) Received: from localhost ([::1]:56282 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kourL-0002l2-Ie for importer@patchew.org; Mon, 14 Dec 2020 15:54:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50892) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kounz-0006HV-JB for qemu-devel@nongnu.org; Mon, 14 Dec 2020 15:50:54 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:28998) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kounv-0001gf-Df for qemu-devel@nongnu.org; Mon, 14 Dec 2020 15:50:51 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-105-Dn-pCn3gMZaWg7eaSyo-og-1; Mon, 14 Dec 2020 15:50:42 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4225B8143E5; Mon, 14 Dec 2020 20:50:41 +0000 (UTC) Received: from localhost (ovpn-116-160.rdu2.redhat.com [10.10.116.160]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0196760BE2; Mon, 14 Dec 2020 20:50:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607979046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rfaEH6sgDHoSlrILw4Wuv5je3FxkaJ8a2vJZFK/cGs8=; b=IDFvDl63Vylgdmy9CU7KAhA0U+KzO5uzLcffk25g/+IN1z+eOQvT+fGQK4NfMznC0RHpDg 7FWG4pWjJ0NwCI4YJ+bYvx8+oTnt3KTNh97KWK5toucsGcLkUSELDKDF3DsIe/9ZwFF2In P6YLiUqwb/RHGxiD29qeKieTD4TuGvA= X-MC-Unique: Dn-pCn3gMZaWg7eaSyo-og-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v2 2/3] hw/smbios: Use qapi for SmbiosEntryPointType Date: Mon, 14 Dec 2020 15:50:28 -0500 Message-Id: <20201214205029.2991222-3-ehabkost@redhat.com> In-Reply-To: <20201214205029.2991222-1-ehabkost@redhat.com> References: <20201214205029.2991222-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , "Daniel P. Berrange" , Eduardo Habkost , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Michael Roth , Markus Armbruster , qemu-arm@nongnu.org, Paolo Bonzini , Igor Mammedov , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) This prepares for exposing the SMBIOS entry point type as a machine property on x86. Based on a patch from Daniel P. Berrang=C3=A9. Signed-off-by: Daniel P. Berrang=C3=A9 Signed-off-by: Eduardo Habkost Reviewed-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- First version of this code was submitted at: https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berrange@redhat= .com Changes from v1: * Patch was split in two * Declarations were moved to qapi/smbios.json * Documentation was updated to use the same terminology used in SMBIOS documentation * Documentation was updated to "Since: 6.0" --- qapi/qapi-schema.json | 1 + qapi/smbios.json | 11 +++++++++++ include/hw/firmware/smbios.h | 10 ++-------- qapi/meson.build | 1 + 4 files changed, 15 insertions(+), 8 deletions(-) create mode 100644 qapi/smbios.json diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json index 0b444b76d2..87a183fb13 100644 --- a/qapi/qapi-schema.json +++ b/qapi/qapi-schema.json @@ -86,6 +86,7 @@ { 'include': 'machine.json' } { 'include': 'machine-target.json' } { 'include': 'replay.json' } +{ 'include': 'smbios.json' } { 'include': 'misc.json' } { 'include': 'misc-target.json' } { 'include': 'audio.json' } diff --git a/qapi/smbios.json b/qapi/smbios.json new file mode 100644 index 0000000000..55b3bd2e83 --- /dev/null +++ b/qapi/smbios.json @@ -0,0 +1,11 @@ +## +# @SmbiosEntryPointType: +# +# @2_1: SMBIOS version 2.1 (32-bit) Entry Point +# +# @3_0: SMBIOS version 3.0 (64-bit) Entry Point +# +# Since: 6.0 +## +{ 'enum': 'SmbiosEntryPointType', + 'data': [ '2_1', '3_0' ] } diff --git a/include/hw/firmware/smbios.h b/include/hw/firmware/smbios.h index 5467ecec78..b3beef1606 100644 --- a/include/hw/firmware/smbios.h +++ b/include/hw/firmware/smbios.h @@ -1,6 +1,8 @@ #ifndef QEMU_SMBIOS_H #define QEMU_SMBIOS_H =20 +#include "qapi/qapi-types-smbios.h" + /* * SMBIOS Support * @@ -23,14 +25,6 @@ struct smbios_phys_mem_area { uint64_t length; }; =20 -/* - * SMBIOS spec defined tables - */ -typedef enum SmbiosEntryPointType { - SMBIOS_ENTRY_POINT_TYPE_2_1, - SMBIOS_ENTRY_POINT_TYPE_3_0, -} SmbiosEntryPointType; - /* SMBIOS Entry Point * There are two types of entry points defined in the SMBIOS specification * (see below). BIOS must place the entry point(s) at a 16-byte-aligned diff --git a/qapi/meson.build b/qapi/meson.build index 0e98146f1f..f7fb73d41b 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -42,6 +42,7 @@ qapi_all_modules =3D [ 'replay', 'rocker', 'run-state', + 'smbios', 'sockets', 'tpm', 'trace', --=20 2.28.0 From nobody Tue Nov 18 05:57:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1607979299; cv=none; d=zohomail.com; s=zohoarc; b=DMpma8jczbgtJbVgJ+Jkv5W/ps1h5d6pUiazY4AuC8sLNG4RB8gnqjCdhtobwi6sRoOMqe8C3rVta+GWUuTJLLeyt2Gt+FfJn7LLftbtjOFneVWZkfw4rr03jdB9SSYehUGHJIxZL+wf4A48jbRB3EMWUnm6TbJA8OcyBgRzFjY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1607979299; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RtdSpy+EuJ3LZzqelkFJA7fB+vcxup1ngl3sortIzSs=; b=gAcbXgpSHJmCte0VKIENBC8ZkX8HkkSWzCwgMpMsDwhzzTbx2TB2IISmp55Y4To+O6sAjK0exKKkIrVlVhfH1g+9Gd8iosFGdqXKKWzSyQ1lSvUnwcMKNceyzsKpaHaRZtR7sWetf8H400wi3QshBL2pmKzmMAylH7VdD6+KVzI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1607979299316736.1873289225376; Mon, 14 Dec 2020 12:54:59 -0800 (PST) Received: from localhost ([::1]:58690 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koury-0003jX-8x for importer@patchew.org; Mon, 14 Dec 2020 15:54:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50906) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kouo2-0006IV-Gz for qemu-devel@nongnu.org; Mon, 14 Dec 2020 15:50:55 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:26929) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kouny-0001i4-Cg for qemu-devel@nongnu.org; Mon, 14 Dec 2020 15:50:54 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-174-zjNiDgKcMfW_rJqo8TTuVg-1; Mon, 14 Dec 2020 15:50:46 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6D9AF8735D0; Mon, 14 Dec 2020 20:50:45 +0000 (UTC) Received: from localhost (ovpn-116-160.rdu2.redhat.com [10.10.116.160]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2CEC11001901; Mon, 14 Dec 2020 20:50:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607979048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RtdSpy+EuJ3LZzqelkFJA7fB+vcxup1ngl3sortIzSs=; b=AUsec5rREaSqMuGTKrJjGZv5ui6UNwwUjCaN18ou6dtDUeDg/uVlPV/8OM2ojvZqsVs2wa UzDdmNe2lipKgJhjdesqjpSCcuRdw3HozlsWQmhQRnlO7kMsGlQ6UDpqAQp7JlU7M8vEvD DCjZTY1XkBjx1C0j27U2LZCVk13KiYU= X-MC-Unique: zjNiDgKcMfW_rJqo8TTuVg-1 From: Eduardo Habkost To: qemu-devel@nongnu.org Subject: [PATCH v2 3/3] hw/i386: expose a "smbios-ep" PC machine property Date: Mon, 14 Dec 2020 15:50:29 -0500 Message-Id: <20201214205029.2991222-4-ehabkost@redhat.com> In-Reply-To: <20201214205029.2991222-1-ehabkost@redhat.com> References: <20201214205029.2991222-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=63.128.21.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , "Daniel P. Berrange" , Eduardo Habkost , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Michael Roth , Markus Armbruster , qemu-arm@nongnu.org, Paolo Bonzini , Igor Mammedov , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Daniel P. Berrang=C3=A9 The i440fx and Q35 machine types are both hardcoded to use the legacy SMBIOS 2.1 entry point. This is a sensible conservative choice because SeaBIOS only supports SMBIOS 2.1 EDK2, however, can also support SMBIOS 3.0 and QEMU already uses this on the ARM virt machine type. This adds a property to allow the choice of SMBIOS entry point versions For example to opt in to version 3.0 $QEMU -machine q35,smbios-ep=3D3_0 Signed-off-by: Daniel P. Berrang=C3=A9 Signed-off-by: Eduardo Habkost Reviewed-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- This is patch was previously submitted at: https://lore.kernel.org/qemu-devel/20200908165438.1008942-6-berrange@redhat= .com Changes from v1: * Include qapi-visit-smbios.h instead of qapi-visit-machine.h * Commit message fix: s/smbios_ep/smbios-ep/ --- include/hw/i386/pc.h | 3 +++ hw/i386/pc.c | 26 ++++++++++++++++++++++++++ hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 2 +- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 2aa8797c6e..2075093b32 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -11,6 +11,7 @@ #include "hw/acpi/acpi_dev_interface.h" #include "hw/hotplug.h" #include "qom/object.h" +#include "hw/firmware/smbios.h" =20 #define HPET_INTCAP "hpet-intcap" =20 @@ -38,6 +39,7 @@ typedef struct PCMachineState { /* Configuration options: */ uint64_t max_ram_below_4g; OnOffAuto vmport; + SmbiosEntryPointType smbios_ep; =20 bool acpi_build_enabled; bool smbus_enabled; @@ -62,6 +64,7 @@ typedef struct PCMachineState { #define PC_MACHINE_SATA "sata" #define PC_MACHINE_PIT "pit" #define PC_MACHINE_MAX_FW_SIZE "max-fw-size" +#define PC_MACHINE_SMBIOS_EP "smbios-ep" =20 /** * PCMachineClass: diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 640fb5b0b7..3cc559e0d9 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -81,6 +81,7 @@ #include "hw/mem/nvdimm.h" #include "qapi/error.h" #include "qapi/qapi-visit-common.h" +#include "qapi/qapi-visit-smbios.h" #include "qapi/visitor.h" #include "hw/core/cpu.h" #include "hw/usb.h" @@ -1532,6 +1533,23 @@ static void pc_machine_set_hpet(Object *obj, bool va= lue, Error **errp) pcms->hpet_enabled =3D value; } =20 +static void pc_machine_get_smbios_ep(Object *obj, Visitor *v, const char *= name, + void *opaque, Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + SmbiosEntryPointType smbios_ep =3D pcms->smbios_ep; + + visit_type_SmbiosEntryPointType(v, name, &smbios_ep, errp); +} + +static void pc_machine_set_smbios_ep(Object *obj, Visitor *v, const char *= name, + void *opaque, Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + + visit_type_SmbiosEntryPointType(v, name, &pcms->smbios_ep, errp); +} + static void pc_machine_get_max_ram_below_4g(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) @@ -1621,6 +1639,8 @@ static void pc_machine_initfn(Object *obj) pcms->vmport =3D ON_OFF_AUTO_OFF; #endif /* CONFIG_VMPORT */ pcms->max_ram_below_4g =3D 0; /* use default */ + pcms->smbios_ep =3D SMBIOS_ENTRY_POINT_TYPE_2_1; + /* acpi build is enabled by default if machine supports it */ pcms->acpi_build_enabled =3D PC_MACHINE_GET_CLASS(pcms)->has_acpi_buil= d; pcms->smbus_enabled =3D true; @@ -1759,6 +1779,12 @@ static void pc_machine_class_init(ObjectClass *oc, v= oid *data) NULL, NULL); object_class_property_set_description(oc, PC_MACHINE_MAX_FW_SIZE, "Maximum combined firmware size"); + + object_class_property_add(oc, PC_MACHINE_SMBIOS_EP, "str", + pc_machine_get_smbios_ep, pc_machine_set_smbios_ep, + NULL, NULL); + object_class_property_set_description(oc, PC_MACHINE_SMBIOS_EP, + "SMBIOS Entry Point version [v2_1, v3_0]"); } =20 static const TypeInfo pc_machine_info =3D { diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 08b82df4d1..30ae7f27af 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -179,7 +179,7 @@ static void pc_init1(MachineState *machine, smbios_set_defaults("QEMU", "Standard PC (i440FX + PIIX, 1996)", mc->name, pcmc->smbios_legacy_mode, pcmc->smbios_uuid_encoded, - SMBIOS_ENTRY_POINT_TYPE_2_1); + pcms->smbios_ep); } =20 /* allocate ram and load rom/bios */ diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index f71b1e2dcf..9974426806 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -198,7 +198,7 @@ static void pc_q35_init(MachineState *machine) smbios_set_defaults("QEMU", "Standard PC (Q35 + ICH9, 2009)", mc->name, pcmc->smbios_legacy_mode, pcmc->smbios_uuid_encoded, - SMBIOS_ENTRY_POINT_TYPE_2_1); + pcms->smbios_ep); } =20 /* allocate ram and load rom/bios */ --=20 2.28.0