Difference between revisions of "Firmware Upstreaming"

From RCS Wiki
Jump to navigation Jump to search
(note merge of basic support upstream)
Line 39: Line 39:
 
* adds openpower/scripts/talos-extra-cleanup script - could be generally useful
 
* adds openpower/scripts/talos-extra-cleanup script - could be generally useful
 
* adds pnv_lpc tool - possibly could be omitted for Talos if skiboot uses LPC observer same as Blackbird
 
* adds pnv_lpc tool - possibly could be omitted for Talos if skiboot uses LPC observer same as Blackbird
 +
** No, sending the IPL complete code from skiboot is a UX violation.  That particular code fires off a number of user visible events including the IPL complete beep, and it must only be sent once petitboot's userspace is online (i.e. the chance of something firmware-related having gone wrong is vanishingly small).  Sending it from skiboot not only adds significant delay from the purposefully attention-getting beep to anything showing up on the screen (the boot delay with no graphical output is already a major problem on POWER), but it also allows a lot of things to potentially go wrong after we've just told the user "the system passed all of its boot checks and is online".  I'm working on a lockdown-compliant LPC driver module to be upstreamed, but won't have it before Jan. 2020.
  
 
=== ... ===
 
=== ... ===
  
 
== OpenBMC firmware ==
 
== OpenBMC firmware ==

Revision as of 12:30, 26 December 2019

This page should cover firmware upstreaming for Talos and other RaptorCS systems. Because it would be very useful to be able to build new firmware directly from upstream sources.

Host firmware

working with the 04-16-2019 branch, which is in the v2 firmware

SBE

same for Blackbird and Talos = https://git.raptorcs.com/git/talos-sbe/log/

HCODE

same for Blackbird and Talos = https://git.raptorcs.com/git/talos-hcode/log/

-> no changes needed

Hostboot

same for Blackbird and Talos = https://git.raptorcs.com/git/blackbird-hostboot/log/, resp. https://git.raptorcs.com/git/talos-hostboot/log/, but they carry the same patches

  • cap voltage offset when biased
  • Add detailed ISTEP output option to hostboot
  • Don't try to add proprietary CAPP microcode image to PNOR (could be skipped in upstream)

OCC

same for Blackbird and Talos = https://git.raptorcs.com/git/talos-occ/log/

  • remove prebuilt GPU1 binary - not required for upstream
  • Fix build failure on GCC8

skiboot

Tracked in patchwork: https://patchwork.ozlabs.org/patch/1210958/

op-build

Other things to consider from Raptor's branch:

  • skiroot kernel config changes
  • adds openpower/scripts/talos-extra-cleanup script - could be generally useful
  • adds pnv_lpc tool - possibly could be omitted for Talos if skiboot uses LPC observer same as Blackbird
    • No, sending the IPL complete code from skiboot is a UX violation. That particular code fires off a number of user visible events including the IPL complete beep, and it must only be sent once petitboot's userspace is online (i.e. the chance of something firmware-related having gone wrong is vanishingly small). Sending it from skiboot not only adds significant delay from the purposefully attention-getting beep to anything showing up on the screen (the boot delay with no graphical output is already a major problem on POWER), but it also allows a lot of things to potentially go wrong after we've just told the user "the system passed all of its boot checks and is online". I'm working on a lockdown-compliant LPC driver module to be upstreamed, but won't have it before Jan. 2020.

...

OpenBMC firmware