[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 1/3] smbios: Rename SMBIOS_ENTRY_POINT_* enums
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v3 1/3] smbios: Rename SMBIOS_ENTRY_POINT_* enums |
Date: |
Wed, 27 Oct 2021 03:43:43 -0400 |
On Tue, Oct 26, 2021 at 11:10:58AM -0400, Eduardo Habkost wrote:
> Rename the enums to match the naming style used by QAPI, and to
> use "32" and "64" instead of "20" and "31". This will allow us
> to more easily move the enum to the QAPI schema later.
>
> About the naming choice: "SMBIOS 2.1 entry point"/"SMBIO 3.0
typo in commit log
> entry point" and "32-bit entry point"/"64-bit entry point" are
> synonymous in the SMBIOS specification. However, the phrases
> "32-bit entry point" and "64-bit entry point" are used more often.
>
> The new names also avoid confusion between the entry point format
> and the actual SMBIOS version reported in the entry point
> structure. For example: currently the 32-bit entry point
> actually report SMBIOS 2.8 support, not 2.1.
>
> Based on portions of a patch submitted by Daniel P. Berrangé.
I think you need the original S.O.B here too then.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> First version of this code was submitted at:
> https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berrange@redhat.com
>
> Changes from v2:
> * Use "32" and "64" instead of "2_0" and "3_1"
>
> 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 5a0dd0c8cff..d916baed6a9 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_32,
> + SMBIOS_ENTRY_POINT_TYPE_64,
> } SmbiosEntryPointType;
>
> /* SMBIOS Entry Point
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index ca433adb5b1..2bd73d501da 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1589,7 +1589,7 @@ static void virt_build_smbios(VirtMachineState *vms)
>
> 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_64);
>
> smbios_get_tables(MACHINE(vms), NULL, 0,
> &smbios_tables, &smbios_tables_len,
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 6ad0d763c57..17c050694f5 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -177,7 +177,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_32);
> }
>
> /* allocate ram and load rom/bios */
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index fcc6e4eb2b8..48419ebfd5f 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -199,7 +199,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_32);
> }
>
> /* allocate ram and load rom/bios */
> diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
> index 7397e567373..6013df1698e 100644
> --- a/hw/smbios/smbios.c
> +++ b/hw/smbios/smbios.c
> @@ -62,7 +62,7 @@ uint8_t *smbios_tables;
> size_t smbios_tables_len;
> unsigned smbios_table_max;
> unsigned smbios_table_cnt;
> -static SmbiosEntryPointType smbios_ep_type = SMBIOS_ENTRY_POINT_21;
> +static SmbiosEntryPointType smbios_ep_type = SMBIOS_ENTRY_POINT_TYPE_32;
>
> static SmbiosEntryPoint ep;
>
> @@ -432,7 +432,7 @@ static void smbios_validate_table(MachineState *ms)
> exit(1);
> }
>
> - if (smbios_ep_type == SMBIOS_ENTRY_POINT_21 &&
> + if (smbios_ep_type == SMBIOS_ENTRY_POINT_TYPE_32 &&
> 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);
> @@ -927,7 +927,7 @@ void smbios_set_defaults(const char *manufacturer, const
> char *product,
> static void smbios_entry_point_setup(void)
> {
> switch (smbios_ep_type) {
> - case SMBIOS_ENTRY_POINT_21:
> + case SMBIOS_ENTRY_POINT_TYPE_32:
> memcpy(ep.ep21.anchor_string, "_SM_", 4);
> memcpy(ep.ep21.intermediate_anchor_string, "_DMI_", 5);
> ep.ep21.length = sizeof(struct smbios_21_entry_point);
> @@ -950,7 +950,7 @@ static void smbios_entry_point_setup(void)
> ep.ep21.structure_table_address = cpu_to_le32(0);
>
> break;
> - case SMBIOS_ENTRY_POINT_30:
> + case SMBIOS_ENTRY_POINT_TYPE_64:
> memcpy(ep.ep30.anchor_string, "_SM3_", 5);
> ep.ep30.length = sizeof(struct smbios_30_entry_point);
> ep.ep30.entry_point_revision = 1;
> --
> 2.32.0