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 <ehabk...@redhat.com> > --- > First version of this code was submitted at: > https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berra...@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