libpayload is a small BSD-licensed static library (a lightweight implementation of common and useful functions) intended to be used as a basis for coreboot payloads.
The benefits of linking a coreboot payload against libpayload are:
* Payloads do not have to implement and maintain low-level code for I/O, common functions, etc.
* Payloads can be recompiled and deployed for CPU architectures supported by coreboot in the future.
* The libpayload functions can be tested and scrutinized outside payload development.
* Payloads themselves may be partly host-tested, e.g. against an emulation libpayload.