diff options
Diffstat (limited to 'payloads')
-rw-r--r-- | payloads/libpayload/include/coreboot_tables.h | 1 | ||||
-rw-r--r-- | payloads/libpayload/include/sysinfo.h | 1 | ||||
-rw-r--r-- | payloads/libpayload/libc/coreboot.c | 8 |
3 files changed, 10 insertions, 0 deletions
diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h index e042a900b9..91f848654f 100644 --- a/payloads/libpayload/include/coreboot_tables.h +++ b/payloads/libpayload/include/coreboot_tables.h @@ -81,6 +81,7 @@ enum { CB_TAG_FMAP = 0x0037, CB_TAG_SMMSTOREV2 = 0x0039, CB_TAG_BOARD_CONFIG = 0x0040, + CB_TAG_ACPI_CNVS = 0x0041, CB_TAG_CMOS_OPTION_TABLE = 0x00c8, CB_TAG_OPTION = 0x00c9, CB_TAG_OPTION_ENUM = 0x00ca, diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h index 5a24e1405f..26dece7ce1 100644 --- a/payloads/libpayload/include/sysinfo.h +++ b/payloads/libpayload/include/sysinfo.h @@ -109,6 +109,7 @@ struct sysinfo_t { uintptr_t cbmem_cons; uintptr_t mrc_cache; uintptr_t acpi_gnvs; + uintptr_t acpi_cnvs; #define UNDEFINED_STRAPPING_ID (~0) #define UNDEFINED_FW_CONFIG ~((uint64_t)0) diff --git a/payloads/libpayload/libc/coreboot.c b/payloads/libpayload/libc/coreboot.c index 7e23afe2e5..269275d604 100644 --- a/payloads/libpayload/libc/coreboot.c +++ b/payloads/libpayload/libc/coreboot.c @@ -143,6 +143,11 @@ static void cb_parse_acpi_gnvs(unsigned char *ptr, struct sysinfo_t *info) info->acpi_gnvs = get_cbmem_addr(ptr); } +static void cb_parse_acpi_cnvs(unsigned char *ptr, struct sysinfo_t *info) +{ + info->acpi_cnvs = get_cbmem_addr(ptr); +} + static void cb_parse_board_config(unsigned char *ptr, struct sysinfo_t *info) { struct cb_board_config *const config = (struct cb_board_config *)ptr; @@ -380,6 +385,9 @@ int cb_parse_header(void *addr, int len, struct sysinfo_t *info) case CB_TAG_ACPI_GNVS: cb_parse_acpi_gnvs(ptr, info); break; + case CB_TAG_ACPI_CNVS: + cb_parse_acpi_cnvs(ptr, info); + break; case CB_TAG_BOARD_CONFIG: cb_parse_board_config(ptr, info); break; |