acpi: rename acpi_soc_fill_bert and add return value

The return value indicates if the function has found valid BERT data and
wrote them to the region and length parameters. This will be used in a
follow-up patch to remove the acpi_is_boot_error_src_present function
call in the common code.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Iaaa3eed51645e1b3bc904c6279d171e3a10d59be
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55053
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Lance Zhao
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Felix Held
2021-05-28 16:01:57 +02:00
parent 8c8b4d26db
commit 29405483ce
3 changed files with 14 additions and 10 deletions

View File

@@ -1565,7 +1565,10 @@ bool __weak acpi_is_boot_error_src_present(void)
return false;
}
__weak void acpi_soc_fill_bert(void **region, size_t *length) {}
__weak enum cb_err acpi_soc_get_bert_region(void **region, size_t *length)
{
return CB_ERR;
}
unsigned long __weak fw_cfg_acpi_tables(unsigned long start)
{
@@ -1815,7 +1818,7 @@ unsigned long write_acpi_tables(unsigned long start)
size_t size;
printk(BIOS_DEBUG, "ACPI: * BERT\n");
bert = (acpi_bert_t *) current;
acpi_soc_fill_bert(&region, &size);
acpi_soc_get_bert_region(&region, &size);
acpi_write_bert(bert, (uintptr_t)region, size);
if (bert->header.length >= sizeof(acpi_bert_t)) {
current += bert->header.length;