libpayload: Parse the ACPI RSDP table entry

Change-Id: I583cda63c3f0b58f8d198ed5ecea7c4619c7a897
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62576
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
Arthur Heymans
2022-03-03 22:59:23 +01:00
committed by Felix Held
parent 4a3331d93c
commit cddba4528d
3 changed files with 21 additions and 0 deletions

View File

@ -268,6 +268,12 @@ static void cb_parse_cbmem_entry(void *ptr, struct sysinfo_t *info)
}
}
static void cb_parse_rsdp(void *ptr, struct sysinfo_t *info)
{
const struct cb_acpi_rsdp *cb_acpi_rsdp = ptr;
info->acpi_rsdp = cb_unpack64(cb_acpi_rsdp->rsdp_pointer);
}
int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
{
struct cb_header *header;
@ -408,6 +414,9 @@ int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
cb_parse_tsc_info(ptr, info);
break;
#endif
case CB_TAG_ACPI_RSDP:
cb_parse_rsdp(ptr, info);
break;
default:
cb_parse_arch_specific(rec, info);
break;