Igore,
On 6/6/2023 2:45 PM, Igor Mammedov wrote:
On Mon, 5 Jun 2023 16:39:04 -0500
Suravee Suthikulpanit<suravee.suthikulpa...@amd.com> wrote:
In preparation for subsequent code to upgrade default SMBIOS
entry point type. There is no functional change.
Signed-off-by: Suravee Suthikulpanit<suravee.suthikulpa...@amd.com>
---
hw/i386/pc.c | 12 ++++++++++++
hw/i386/pc_piix.c | 9 ---------
hw/i386/pc_q35.c | 8 --------
3 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index bb62c994fa..8fc34f5454 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -781,6 +781,18 @@ void pc_machine_done(Notifier *notifier, void *data)
acpi_setup();
if (x86ms->fw_cfg) {
+ PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);
+
+ if (pcmc->smbios_defaults) {
+ MachineClass *mc = MACHINE_GET_CLASS(pcms);
+
+ /* These values are guest ABI, do not change */
+ smbios_set_defaults("QEMU", mc->desc,
+ mc->name, pcmc->smbios_legacy_mode,
+ pcmc->smbios_uuid_encoded,
+ pcms->smbios_entry_point_type);
+ }
well, pc_machine_done() is the hack for the last minute changes to
board that can't done earlier otherwise (during machine_initfn time).
So I'd prefer not adding anything there unless we have to.
Originally, I put it here because pc_machine_set_smbios_ep() is called
between the pc_machine_init_fn() and pc_machine_done().
In this case, I'll move this code to the end of pc_machine_init_fn().
Then, I can call smbios_set_defaults() from pc_machine_set_smbios_ep()
to override the previously set defaults.
Thanks,
Suravee