aboutsummaryrefslogtreecommitdiff
path: root/payloads
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2024-03-06 13:34:44 -0800
committerJulius Werner <jwerner@chromium.org>2024-03-13 18:51:11 +0000
commit06e3dcac453e7011c3c878d63352c30424392d14 (patch)
treea84caaa216e24002c283afbaa3f01302da184f45 /payloads
parent092a1398f6af4700e28dc47c16556f885da579d3 (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/Kconfig16
-rw-r--r--payloads/coreinfo/coreinfo.c6
-rw-r--r--payloads/libpayload/include/libpayload.h12
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
* @{