COSCUP 2023

Common Firmware Handoff Design: Universal Payload Specification
2023-07-30, 14:10–14:40 (Asia/Taipei), TR 412-2
Language: Traditional Chinese (Taiwan)

This presentation will provide a brief update on what is Universal Payload Design (UPL), and most importantly the journey there: as the UPL is a cross-projects Firmware Industrial Standard for the first time ever, where Silicon vendors and firmware communities (EDK2, coreboot, U-Boot, LinuxBoot, Slim Bootloader) come together to work on common open specification. We will share the technical part of what UPL is, and the impacts it will bring to open source firmware industry. Then we will share the 1 year journey of how this came together and many roadblocks faced, it would be a valuable sharing for open system firmware community.


Most modern platforms rely on system firmware to initialize the hardware and launch an Operating System (OS). The system firmware is responsible for initializing the platform hardware including CPU and other silicon functional blocks, detecting and initializing the memory subsystem, boot media initialization and setting up hardware abstractions for use by the operating systems.
A design methodology of viewing system firmware functionality as made up of two distinct phases (Here and following, Platform Init and OS Loader) is gaining traction resulting in newer implementations of system firmware. This approach calls for modular phases with an initialization phase in firmware which completes the system initialization and gets the hardware to a usable state and then an OS Loader phase. The OS Loader can provide/implement many different functionalities including media and file system drivers, operating system boot, diagnostics, etc.
While certain system-firmware implementations combine both the initialization and OS boot logic in a single code base, the distinction lies in the functionality provided.
This specification describes an interface between the Platform Init phase that initializes the system hardware and the OS Loader phase. It includes how to format and pass parameters to the OS Loader, OS Loader image format, OS Loader boot mode and stack usage, register settings etc. The intent for this specification is to provide interoperability between spec-compliant Platform Init stage and spec compliant OS Loader stage.


Difficulty

入門

Target Audience

every firmware developer, project manager, program lead, head of firmware department

Firmware developer from 9elements. Love electronic instrumental music & frisbee.

This speaker also appears in: