Difference between revisions of "OpenPOWER Firmware"
Jump to navigation
Jump to search
(Major revision, add more firmware pieces) |
|||
Line 131: | Line 131: | ||
* [https://github.com/open-power/docs OpenPOWER firmware source code on GitHub] | * [https://github.com/open-power/docs OpenPOWER firmware source code on GitHub] | ||
− | * For a better understanding of OpenPOWER firmware and boot processes, see: | + | * '''For a better understanding of OpenPOWER firmware and boot processes, see:''' |
** [https://github.com/open-power/docs/blob/master/hostboot/HostBoot_PG.md Overview of Boot Process] | ** [https://github.com/open-power/docs/blob/master/hostboot/HostBoot_PG.md Overview of Boot Process] | ||
** [https://github.com/open-power/docs/blob/master/hostboot/P9_Boot_Flow_OpenPOWER.pdf P9 Boot Flow] | ** [https://github.com/open-power/docs/blob/master/hostboot/P9_Boot_Flow_OpenPOWER.pdf P9 Boot Flow] |
Revision as of 12:35, 2 August 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 | Executed on | Loaded from | Function |
---|---|---|---|
OTPROM | SBE core (on CPU chip) | eFuses |
|
Self-Boot Engine (SBE) firmware | SBE core (on CPU chip) | SBE SEEPROM |
|
Hostboot Bootloader (HBBL) | CPU core | SBE SEEPROM |
|
Hostboot | CPU core | PNOR SPI Flash |
|
Skiboot | CPU core | PNOR SPI Flash |
|
Skiroot/Petitboot | CPU core | PNOR SPI Flash | |
On-Chip Controller (OCC) firmware | OCC core (on CPU chip) | PNOR SPI Flash |
|
CME HCODE | CME cores (on CPU chip) | PNOR SPI Flash |
|
SGPE and PGPE HCODE | General Purpose Engine cores (on CPU chip) | PNOR SPI Flash |
|
IOPPE HCODE | IOPPE cores (on CPU chip) | PNOR SPI Flash |
|
OpenBMC | BMC chip | BMC SPI Flash |
(This is not part of OpenPOWER firmware, but is mentioned to give a picture of the division of responsibilities. Not all POWER9 systems use a BMC; IBM systems use a FSP.)
|
Process
- SBE executes OTPROM, which loads SEEPROM firmware into SBE PIBMEM
- SBE executes SEEPROM firmware
- OpenBMC uses FSI interface to start SBE
- SBE loads Hostboot
- Hostboot loads Skiboot
- Skiboot loads OCC, Skiroot
- Petitboot application within Skiroot loads the operating system
- OS 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
See also
External Links
- OpenPOWER firmware source code on GitHub
- For a better understanding of OpenPOWER firmware and boot processes, see: