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>
This commit is contained in:
Julius Werner
2024-03-06 13:34:44 -08:00
parent 092a1398f6
commit 06e3dcac45
6 changed files with 14 additions and 91 deletions

View File

@@ -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

View File

@@ -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);