RFC tagged payload

steven james pyro at linuxlabs.com
Fri Oct 25 11:04:02 CEST 2002


I've been working with a tagging system so that multiple payloads in
firmware can be selected from serial at boot time.

The scheme adds a 16 byte tag block in front of each payload containing a
$TAG$ signature, additional block count, a payload length (optional, may
be 0), and a name string.

The idea is to search for tags in the ROM, present the name strings in a
list and allow selection of a particular target. The stream is then
positioned just past the tag and passed to elfboot.

elfboot no longer calls stream->init(), it presumes that has been done

add stream methods:

search tags performs the search and specifies the neded buffer size to
hold the result.

gettags loads the tags into a provided buffer for presentation

loadtag positions the stream just after the selected tag index (0 based)

for backwards compatability:
Where no tags are found, the stream is positioned at the beginning

where the stream->searchtags == NULL, presume the stream object doesn't
support tags. Just call init and pass it to elfboot.

Yes, No, Comments?


-------------------------steven james, director of research, linux labs
... ........ ..... ....                     230 peachtree st nw ste 701
the original linux labs                             atlanta.ga.us 30303
      -since 1995                              http://www.linuxlabs.com
                                   office 404.577.7747 fax 404.577.7743

More information about the coreboot mailing list