Eran Mitrani has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/82790?usp=email )
Change subject: WIP! libpayload: add cse_bp info pointer ......................................................................
WIP! libpayload: add cse_bp info pointer
Set a pointer in CBMEM header for CSE_BP_INFO
BUG: 343022317 TEST: not tested yet
Signed-off-by: Eran Mitrani mitrani@google.com Change-Id: I3aa64d1e439a0596e732a3c0608d60913cefd19f --- M payloads/libpayload/include/coreboot_tables.h M payloads/libpayload/include/sysinfo.h M payloads/libpayload/libc/coreboot.c M src/commonlib/include/commonlib/coreboot_tables.h M src/lib/coreboot_table.c 5 files changed, 6 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/90/82790/1
diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h index 5b19ca8..4bae921 100644 --- a/payloads/libpayload/include/coreboot_tables.h +++ b/payloads/libpayload/include/coreboot_tables.h @@ -85,6 +85,7 @@ CB_TAG_TYPE_C_INFO = 0x0042, CB_TAG_ACPI_RSDP = 0x0043, CB_TAG_PCIE = 0x0044, + CB_TAG_CSE_BP_INFO = 0x0045, CB_TAG_CMOS_OPTION_TABLE = 0x00c8, CB_TAG_OPTION = 0x00c9, CB_TAG_OPTION_ENUM = 0x00ca, @@ -325,7 +326,6 @@ cb_uint64_t boot_media_size; };
- struct cb_cbmem_entry { uint32_t tag; uint32_t size; @@ -435,7 +435,6 @@ cb_uint64_t rsdp_pointer; /* Address of the ACPI RSDP */ };
- /* Helpful inlines */
static inline u16 cb_checksum(const void *ptr, unsigned len) diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h index d5f5073..1dd8569 100644 --- a/payloads/libpayload/include/sysinfo.h +++ b/payloads/libpayload/include/sysinfo.h @@ -114,6 +114,7 @@ uintptr_t acpi_cnvs; uintptr_t acpi_rsdp; uintptr_t smbios; + uintptr_t cse_bp_info;
#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 3c49484..35c6574 100644 --- a/payloads/libpayload/libc/coreboot.c +++ b/payloads/libpayload/libc/coreboot.c @@ -262,6 +262,8 @@ case CBMEM_ID_MEM_CHIP_INFO: info->mem_chip_base = cbmem_entry->address; break; + case CBMEM_ID_CSE_BP_INFO: + info->cse_bp_info = cbmem_entry->address; default: break; } diff --git a/src/commonlib/include/commonlib/coreboot_tables.h b/src/commonlib/include/commonlib/coreboot_tables.h index 94985b1..3edb4b8 100644 --- a/src/commonlib/include/commonlib/coreboot_tables.h +++ b/src/commonlib/include/commonlib/coreboot_tables.h @@ -87,6 +87,7 @@ LB_TAG_TYPE_C_INFO = 0x0042, LB_TAG_ACPI_RSDP = 0x0043, LB_TAG_PCIE = 0x0044, + LB_TAG_CSE_BP_INFO = 0x0045, /* The following options are CMOS-related */ LB_TAG_CMOS_OPTION_TABLE = 0x00c8, LB_TAG_OPTION = 0x00c9, @@ -568,7 +569,6 @@ uint8_t pad[2]; };
- /* * Handoff the ACPI RSDP */ diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c index d7b6126..22d808e 100644 --- a/src/lib/coreboot_table.c +++ b/src/lib/coreboot_table.c @@ -273,6 +273,7 @@ {CBMEM_ID_FMAP, LB_TAG_FMAP}, {CBMEM_ID_VBOOT_WORKBUF, LB_TAG_VBOOT_WORKBUF}, {CBMEM_ID_TYPE_C_INFO, LB_TAG_TYPE_C_INFO}, + {CBMEM_ID_CSE_BP_INFO, LB_TAG_CSE_BP_INFO}, }; int i;