# 25 April 2022 Self Describing Blob Discussion
* Next meeting: 2022-05-09 * Meeting minutes Doc [1]
## Attendees: Sheng, Jay Talbott, Martin Roth, Werner, Ron, Zhiguang, Dun.tan
## Minutes:
Continue discussion over New UPL (Universal Payload) document. These are a list of proposed fields and not so much a discussion about the encoding right now.
Currently, the only thing being discussed is the format for passing data from init firmware (coreboot/UEFI/U-Boot/ X) to a payload. Not all payloads will need all fields, and all fields are optional. If a field that a payload needs is not given, the expectation is that the receiver will do its best to continue. If a field is passed, it should be treated as the
As mentioned in the last meeting, there are 2 levels in the definition:
* Key * Subkey
General Format for data structure - Maximum of two levels.
Example: ``` | Key | Subkey | CBOR type | Native type | |---------|--------|-----------|--------------| | Example | | Integer | Unsigned int | ```
CBOR requires a different field type for positive and negative values, so all ints are explicitly signed.
The oreboot mailing list is suggesting something more coreboot-tables like. * The tables can have issues if not using the same compiler version.
CBOR is just a definition for serialized data - it should be read in by the recipient once and copied to memory to put into a native structure.
With either CBOR or CBTables, the structure needs to be known by both the sender and the receiver.
An open source library will be provided that may be used to encode/decode the data into structures.
We need to try to get representatives from ARM, AMD, RISC-V present for future discussions. We need different viewpoints in this discussion so that it isn't Intel & x86-centric.
Graphics has a number of fields to pass to the payload. If these are not present, the payload should assume that graphics has not been initialized.
The Universal Payload spec will be released as a Google Doc shortly and will be open for comments. * The Spec needs definitions of all fields. Pointers to other documents where they are defined are fine.
[1]: https://docs.google.com/document/d/1IDQqr4cv8dQHa9faSxBc29xHSeKuXNTiMP3a3bLJ...