mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
acpi/ghes: simplify the per-arch caller to build HEST table
The GHES driver requires not only a HEST table, but also a separate firmware file to store Error Structure records. It can't do one without the other. Simplify the caller logic for it to require one function. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <9584bb8953385e165681d5d185c503f8df8ef42f.1736945236.git.mchehab+huawei@kernel.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
872b69f21f
commit
606a42c4c1
3 changed files with 9 additions and 7 deletions
|
@ -233,7 +233,7 @@ static int acpi_ghes_record_mem_error(uint64_t error_block_address,
|
|||
* Initialize "etc/hardware_errors" and "etc/hardware_errors_addr" fw_cfg blobs.
|
||||
* See docs/specs/acpi_hest_ghes.rst for blobs format.
|
||||
*/
|
||||
void build_ghes_error_table(GArray *hardware_errors, BIOSLinker *linker)
|
||||
static void build_ghes_error_table(GArray *hardware_errors, BIOSLinker *linker)
|
||||
{
|
||||
int i, error_status_block_offset;
|
||||
|
||||
|
@ -356,12 +356,15 @@ static void build_ghes_v2(GArray *table_data, int source_id, BIOSLinker *linker)
|
|||
}
|
||||
|
||||
/* Build Hardware Error Source Table */
|
||||
void acpi_build_hest(GArray *table_data, BIOSLinker *linker,
|
||||
void acpi_build_hest(GArray *table_data, GArray *hardware_errors,
|
||||
BIOSLinker *linker,
|
||||
const char *oem_id, const char *oem_table_id)
|
||||
{
|
||||
AcpiTable table = { .sig = "HEST", .rev = 1,
|
||||
.oem_id = oem_id, .oem_table_id = oem_table_id };
|
||||
|
||||
build_ghes_error_table(hardware_errors, linker);
|
||||
|
||||
acpi_table_begin(&table, table_data);
|
||||
|
||||
/* Error Source Count */
|
||||
|
|
|
@ -946,10 +946,9 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables)
|
|||
build_dbg2(tables_blob, tables->linker, vms);
|
||||
|
||||
if (vms->ras) {
|
||||
build_ghes_error_table(tables->hardware_errors, tables->linker);
|
||||
acpi_add_table(table_offsets, tables_blob);
|
||||
acpi_build_hest(tables_blob, tables->linker, vms->oem_id,
|
||||
vms->oem_table_id);
|
||||
acpi_build_hest(tables_blob, tables->hardware_errors, tables->linker,
|
||||
vms->oem_id, vms->oem_table_id);
|
||||
}
|
||||
|
||||
if (ms->numa_state->num_nodes > 0) {
|
||||
|
|
|
@ -68,8 +68,8 @@ typedef struct AcpiGhesState {
|
|||
bool present; /* True if GHES is present at all on this board */
|
||||
} AcpiGhesState;
|
||||
|
||||
void build_ghes_error_table(GArray *hardware_errors, BIOSLinker *linker);
|
||||
void acpi_build_hest(GArray *table_data, BIOSLinker *linker,
|
||||
void acpi_build_hest(GArray *table_data, GArray *hardware_errors,
|
||||
BIOSLinker *linker,
|
||||
const char *oem_id, const char *oem_table_id);
|
||||
void acpi_ghes_add_fw_cfg(AcpiGhesState *vms, FWCfgState *s,
|
||||
GArray *hardware_errors);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue