Difference between revisions of "OpenPOWER Firmware"
Jump to navigation
Jump to search
(add video links) |
(→Components: rewrite into table and process sections; add info from Stewart Smith talk at LCA 2016) |
||
Line 5: | Line 5: | ||
== Components == | == Components == | ||
− | + | {| class="wikitable sortable" | |
− | * [[Hostboot|Hostboot]] | + | ! Firmware |
− | * [[Skiboot|Skiboot]] | + | ! Runtime Location |
− | + | ! Function | |
− | + | |- | |
+ | | [[Self-Boot Engine|Self-Boot Engine]] (SBE) | ||
+ | | SBE core (on CPU chip) | ||
+ | | | ||
+ | * initialises CPU core | ||
+ | * loads Hostboot | ||
+ | |- | ||
+ | | [[Hostboot|Hostboot]] | ||
+ | | CPU core | ||
+ | | | ||
+ | * loads Skiboot | ||
+ | * inits DRAM (zeroing for ECC mem.), Processor Bus, Memory buffer | ||
+ | |- | ||
+ | | [[Skiboot|Skiboot]] | ||
+ | | CPU core | ||
+ | | | ||
+ | * implements [[OpenPOWER Abstraction Layer|OpenPOWER Abstraction Layer]] (OPAL) for OS runtime services | ||
+ | * setup PCIe, device tree, real time clock, NVlink, sensors | ||
+ | * loads Petitboot, OCC | ||
+ | |- | ||
+ | | [[Petitboot|Petitboot]] | ||
+ | | CPU core | ||
+ | | | ||
+ | * boot menu | ||
+ | * loads operating system | ||
+ | |- | ||
+ | | [[On-Chip Controller|On-Chip Controller]] (OCC) | ||
+ | | OCC core (on CPU chip) | ||
+ | | | ||
+ | * thermal regulation on CPU chip | ||
+ | |} | ||
+ | |||
+ | == Process == | ||
+ | |||
+ | # [[OpenBMC|OpenBMC]] starts SBE | ||
+ | # [[Self-Boot Engine|SBE]] loads Hostboot | ||
+ | # [[Hostboot|Hostboot]] loads Skiboot | ||
+ | # [[Skiboot|Skiboot]] loads OCC, Petitboot | ||
+ | # [[Petitboot|Petitboot]] loads the operating system | ||
+ | # operating system talks to firmware through [[OpenPOWER Abstraction Layer|OPAL]] | ||
== References == | == References == |
Revision as of 18:39, 21 February 2018
OpenPOWER Firmware is an open-source alternative to OpenFirmware and proprietary IBM firmware used on Power machines.[1] It is a general name for many separate pieces of software used to start recent Power Architecture chips made by IBM.[2]
OpenBMC is a separate project that creates firmware for the Baseboard Management Controller.
Components
Firmware | Runtime Location | Function |
---|---|---|
Self-Boot Engine (SBE) | SBE core (on CPU chip) |
|
Hostboot | CPU core |
|
Skiboot | CPU core |
|
Petitboot | CPU core |
|
On-Chip Controller (OCC) | OCC core (on CPU chip) |
|
Process
- OpenBMC starts SBE
- SBE loads Hostboot
- Hostboot loads Skiboot
- Skiboot loads OCC, Petitboot
- Petitboot loads the operating system
- operating system talks to firmware through OPAL
References
- ↑ Kerr, Jeremy. OpenPOWER: building an open-source software stack from bare metal. LCA 2015 - video on YouTube
- ↑ Smith, Stewart. Adventures in OpenPOWER Firmware. LCA 2016 - video on YouTube