smbios: cleanup smbios_get_tables() from legacy handling
smbios_get_tables() bails out right away if leagacy mode is enabled and won't generate any SMBIOS tables. At the same time x86 specific fw_cfg_build_smbios() will genarate legacy tables and then proceed to preparing temporary mem_array for useless call to smbios_get_tables() and then discard it. Drop legacy related check in smbios_get_tables() and return from fw_cfg_build_smbios() early if legacy tables where built without proceeding to non legacy part of the function. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Ani Sinha <anisinha@redhat.com> Tested-by: Fiona Ebner <f.ebner@proxmox.com> Message-Id: <20240314152302.2324164-5-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
579094cb99
commit
a7bdf7186f
|
@ -74,6 +74,7 @@ void fw_cfg_build_smbios(PCMachineState *pcms, FWCfgState *fw_cfg)
|
||||||
if (smbios_tables) {
|
if (smbios_tables) {
|
||||||
fw_cfg_add_bytes(fw_cfg, FW_CFG_SMBIOS_ENTRIES,
|
fw_cfg_add_bytes(fw_cfg, FW_CFG_SMBIOS_ENTRIES,
|
||||||
smbios_tables, smbios_tables_len);
|
smbios_tables, smbios_tables_len);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* build the array of physical mem area from e820 table */
|
/* build the array of physical mem area from e820 table */
|
||||||
|
|
|
@ -1229,12 +1229,6 @@ void smbios_get_tables(MachineState *ms,
|
||||||
{
|
{
|
||||||
unsigned i, dimm_cnt, offset;
|
unsigned i, dimm_cnt, offset;
|
||||||
|
|
||||||
if (smbios_legacy) {
|
|
||||||
*tables = *anchor = NULL;
|
|
||||||
*tables_len = *anchor_len = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!smbios_immutable) {
|
if (!smbios_immutable) {
|
||||||
smbios_build_type_0_table();
|
smbios_build_type_0_table();
|
||||||
smbios_build_type_1_table();
|
smbios_build_type_1_table();
|
||||||
|
|
Loading…
Reference in New Issue