diff options
author | Julius Werner <jwerner@chromium.org> | 2024-03-06 13:34:44 -0800 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2024-03-13 18:51:11 +0000 |
commit | 06e3dcac453e7011c3c878d63352c30424392d14 (patch) | |
tree | a84caaa216e24002c283afbaa3f01302da184f45 /payloads | |
parent | 092a1398f6af4700e28dc47c16556f885da579d3 (diff) |
cbfs: Remove broken remnants of PAYLOAD_INFO feature
PAYLOAD_INFO is a very old feature that can add a key/value information
section to a payload file. It seems to have only ever been generated by
coreinfo and never really read by anything.
Since CB:1721 in 2012, the feature has been inadvertently broken in
practice since the `.note.pinfo` sections that contain the information
get discarded from the payload before cbfstool gets to see them. Since
CB:28647 in 2018, support for the section in the SELF loader was
(inadvertently?) dropped, so if someone actually fed cbfstool a payload
ELF that did have a `.note.pinfo` section, modern coreboot would refuse
to boot the payload entirely (which is probably not a good state to
leave things in).
This patch removes the code to generate PAYLOAD_INFO entries entirely,
but leaves the support to parse and extract those sections from old
payloads in place in cbfstool.
Change-Id: I40d8e9b76a171ebcdaa2eae02d54a1ca5e592c85
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81087
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'payloads')
-rw-r--r-- | payloads/coreinfo/Kconfig | 16 | ||||
-rw-r--r-- | payloads/coreinfo/coreinfo.c | 6 | ||||
-rw-r--r-- | payloads/libpayload/include/libpayload.h | 12 |
3 files changed, 3 insertions, 31 deletions
diff --git a/payloads/coreinfo/Kconfig b/payloads/coreinfo/Kconfig index 2c1f91c874..c0e314e08d 100644 --- a/payloads/coreinfo/Kconfig +++ b/payloads/coreinfo/Kconfig @@ -18,25 +18,13 @@ config SHOW_DATE_TIME This option will increase the ELF file size by ca. 250 bytes. -config PAYLOAD_INFO_NAME +config COREINFO_NAME string "Payload name" default "coreinfo" help The name of this payload for use in (e.g.) Bayou. -config PAYLOAD_INFO_LISTNAME - string "Payload menu entry name" - default "System Information" - help - The name of this payload's menu entry for use in (e.g.) Bayou. - -config PAYLOAD_INFO_DESC - string "Payload description" - default "Display information about the system" - help - The description of this payload for use in (e.g.) Bayou. - -config PAYLOAD_INFO_VERSION +config COREINFO_VERSION string "Payload version" default "0.1" help diff --git a/payloads/coreinfo/coreinfo.c b/payloads/coreinfo/coreinfo.c index b357f97988..b01dfebd88 100644 --- a/payloads/coreinfo/coreinfo.c +++ b/payloads/coreinfo/coreinfo.c @@ -229,7 +229,7 @@ static void loop(void) { int key; - center(0, CONFIG_PAYLOAD_INFO_NAME " " CONFIG_PAYLOAD_INFO_VERSION); + center(0, CONFIG_COREINFO_NAME " " CONFIG_COREINFO_VERSION); print_no_modules_selected(); refresh(); @@ -319,7 +319,3 @@ int main(int argc, char **argv) halt(); return 0; } - -PAYLOAD_INFO(name, CONFIG_PAYLOAD_INFO_NAME); -PAYLOAD_INFO(listname, CONFIG_PAYLOAD_INFO_LISTNAME); -PAYLOAD_INFO(desc, CONFIG_PAYLOAD_INFO_DESC); diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h index 61dbd274b3..05164e5da9 100644 --- a/payloads/libpayload/include/libpayload.h +++ b/payloads/libpayload/include/libpayload.h @@ -84,18 +84,6 @@ static inline u32 div_round_up(u32 n, u32 d) { return (n + d - 1) / d; } #define MAX_ARGC_COUNT 32 -/* - * Payload information parameters - these are used to pass information - * to the entity loading the payload. - * Usage: PAYLOAD_INFO(key, value) - * Example: PAYLOAD_INFO(name, "CoreInfo!") - */ -#define _pstruct(key) __pinfo_ ##key -#define PAYLOAD_INFO(key, value) \ -static const char _pstruct(key)[] \ - __attribute__((__used__)) \ - __attribute__((section(".note.pinfo"),unused)) = #key "=" value - /** * @defgroup nvram NVRAM and RTC functions * @{ |