soc/intel/common: Update CrashLog data length tracking

The CrashLog raw_data_length, previously used to track the length for
the Intel CrashLog decoder, is causing noises in the Linux kernel
for AMD. Hence this update made at the soc level which will enable the
pulling put of the tracking from x86/acpi_bert_storage.c.

BUG=None
TEST=Built, and BERT successfully generated in the crashLog flow.

Signed-off-by: Francois Toguo Fotso <francois.toguo.fotso@intel.com>
Change-Id: I97ff14d62bda69389c7647fcbbf23d5cab2b36e6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55006
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Francois Toguo Fotso 2021-05-27 01:10:16 -07:00 committed by Felix Held
parent d288d8c0b1
commit c175146b15
1 changed files with 4 additions and 1 deletions

View File

@ -31,6 +31,7 @@ enum cb_err acpi_soc_get_bert_region(void **region, size_t *length)
{
acpi_generic_error_status_t *status = NULL;
size_t cpu_record_size, pmc_record_size;
size_t gesb_header_size;
void *cl_data = NULL;
if (!boot_error_src_present()) {
@ -43,6 +44,8 @@ enum cb_err acpi_soc_get_bert_region(void **region, size_t *length)
}
status = bert_new_event(&CPER_SEC_FW_ERR_REC_REF_GUID);
gesb_header_size = sizeof(*status);
if (!status) {
printk(BIOS_ERR, "Error: unable to allocate GSB\n");
return CB_ERR;
@ -89,7 +92,7 @@ enum cb_err acpi_soc_get_bert_region(void **region, size_t *length)
cl_fill_pmc_records(cl_data);
}
*length = status->raw_data_length;
*length = status->data_length + gesb_header_size;
*region = (void *)status;
return CB_SUCCESS;