ACPI: Add vmgenid blob storage to the build tables
This allows them to be centrally initialized and destroyed The "AcpiBuildTables.vmgenid" array will be used to construct the "etc/vmgenid_guid" fw_cfg blob. Its contents will be linked into fw_cfg after being built on the pc_machine_done() -> acpi_setup() -> acpi_build() call path, and dropped without use on the subsequent, guest triggered, acpi_build_update() -> acpi_build() call path. Signed-off-by: Ben Warren <ben@skyportsystems.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Tested-by: Laszlo Ersek <lersek@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
20f5d14dc9
commit
c7809e6cd7
|
@ -1559,6 +1559,7 @@ void acpi_build_tables_init(AcpiBuildTables *tables)
|
||||||
tables->rsdp = g_array_new(false, true /* clear */, 1);
|
tables->rsdp = g_array_new(false, true /* clear */, 1);
|
||||||
tables->table_data = g_array_new(false, true /* clear */, 1);
|
tables->table_data = g_array_new(false, true /* clear */, 1);
|
||||||
tables->tcpalog = g_array_new(false, true /* clear */, 1);
|
tables->tcpalog = g_array_new(false, true /* clear */, 1);
|
||||||
|
tables->vmgenid = g_array_new(false, true /* clear */, 1);
|
||||||
tables->linker = bios_linker_loader_init();
|
tables->linker = bios_linker_loader_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1568,6 +1569,7 @@ void acpi_build_tables_cleanup(AcpiBuildTables *tables, bool mfre)
|
||||||
g_array_free(tables->rsdp, true);
|
g_array_free(tables->rsdp, true);
|
||||||
g_array_free(tables->table_data, true);
|
g_array_free(tables->table_data, true);
|
||||||
g_array_free(tables->tcpalog, mfre);
|
g_array_free(tables->tcpalog, mfre);
|
||||||
|
g_array_free(tables->vmgenid, mfre);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Build rsdt table */
|
/* Build rsdt table */
|
||||||
|
|
|
@ -210,6 +210,7 @@ struct AcpiBuildTables {
|
||||||
GArray *table_data;
|
GArray *table_data;
|
||||||
GArray *rsdp;
|
GArray *rsdp;
|
||||||
GArray *tcpalog;
|
GArray *tcpalog;
|
||||||
|
GArray *vmgenid;
|
||||||
BIOSLinker *linker;
|
BIOSLinker *linker;
|
||||||
} AcpiBuildTables;
|
} AcpiBuildTables;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue