smbios: Rename SMBIOS_ENTRY_POINT_* enums

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"/"SMBIOS 3.0
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é.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20211026151100.1691925-2-ehabkost@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Eduardo Habkost 2021-10-26 11:10:58 -04:00 committed by Michael S. Tsirkin
parent 20766514d6
commit 10be11d0b4
5 changed files with 9 additions and 9 deletions

View File

@ -1589,7 +1589,7 @@ static void virt_build_smbios(VirtMachineState *vms)
smbios_set_defaults("QEMU", product, smbios_set_defaults("QEMU", product,
vmc->smbios_old_sys_ver ? "1.0" : mc->name, false, 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_get_tables(MACHINE(vms), NULL, 0,
&smbios_tables, &smbios_tables_len, &smbios_tables, &smbios_tables_len,

View File

@ -177,7 +177,7 @@ static void pc_init1(MachineState *machine,
smbios_set_defaults("QEMU", "Standard PC (i440FX + PIIX, 1996)", smbios_set_defaults("QEMU", "Standard PC (i440FX + PIIX, 1996)",
mc->name, pcmc->smbios_legacy_mode, mc->name, pcmc->smbios_legacy_mode,
pcmc->smbios_uuid_encoded, pcmc->smbios_uuid_encoded,
SMBIOS_ENTRY_POINT_21); SMBIOS_ENTRY_POINT_TYPE_32);
} }
/* allocate ram and load rom/bios */ /* allocate ram and load rom/bios */

View File

@ -200,7 +200,7 @@ static void pc_q35_init(MachineState *machine)
smbios_set_defaults("QEMU", "Standard PC (Q35 + ICH9, 2009)", smbios_set_defaults("QEMU", "Standard PC (Q35 + ICH9, 2009)",
mc->name, pcmc->smbios_legacy_mode, mc->name, pcmc->smbios_legacy_mode,
pcmc->smbios_uuid_encoded, pcmc->smbios_uuid_encoded,
SMBIOS_ENTRY_POINT_21); SMBIOS_ENTRY_POINT_TYPE_32);
} }
/* allocate ram and load rom/bios */ /* allocate ram and load rom/bios */

View File

@ -62,7 +62,7 @@ uint8_t *smbios_tables;
size_t smbios_tables_len; size_t smbios_tables_len;
unsigned smbios_table_max; unsigned smbios_table_max;
unsigned smbios_table_cnt; 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; static SmbiosEntryPoint ep;
@ -432,7 +432,7 @@ static void smbios_validate_table(MachineState *ms)
exit(1); 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) { smbios_tables_len > SMBIOS_21_MAX_TABLES_LEN) {
error_report("SMBIOS 2.1 table length %zu exceeds %d", error_report("SMBIOS 2.1 table length %zu exceeds %d",
smbios_tables_len, SMBIOS_21_MAX_TABLES_LEN); 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) static void smbios_entry_point_setup(void)
{ {
switch (smbios_ep_type) { 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.anchor_string, "_SM_", 4);
memcpy(ep.ep21.intermediate_anchor_string, "_DMI_", 5); memcpy(ep.ep21.intermediate_anchor_string, "_DMI_", 5);
ep.ep21.length = sizeof(struct smbios_21_entry_point); 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); ep.ep21.structure_table_address = cpu_to_le32(0);
break; break;
case SMBIOS_ENTRY_POINT_30: case SMBIOS_ENTRY_POINT_TYPE_64:
memcpy(ep.ep30.anchor_string, "_SM3_", 5); memcpy(ep.ep30.anchor_string, "_SM3_", 5);
ep.ep30.length = sizeof(struct smbios_30_entry_point); ep.ep30.length = sizeof(struct smbios_30_entry_point);
ep.ep30.entry_point_revision = 1; ep.ep30.entry_point_revision = 1;

View File

@ -27,8 +27,8 @@ struct smbios_phys_mem_area {
* SMBIOS spec defined tables * SMBIOS spec defined tables
*/ */
typedef enum SmbiosEntryPointType { typedef enum SmbiosEntryPointType {
SMBIOS_ENTRY_POINT_21, SMBIOS_ENTRY_POINT_TYPE_32,
SMBIOS_ENTRY_POINT_30, SMBIOS_ENTRY_POINT_TYPE_64,
} SmbiosEntryPointType; } SmbiosEntryPointType;
/* SMBIOS Entry Point /* SMBIOS Entry Point