<div dir="ltr"><div>On 10/28/2015 04:56 AM, Alex Gagniuc wrote:</div><div>></div><div>> How will moving [AGESA] code [to a separate branch] affect supported [AMD] boards?</div><div>></div><div><br></div><div>The biggest problem here is:</div><div><br></div><div>Various improvements and important bug fixes, that will be introduced to a master branch and affect all the coreboot boards, will not be automatically applied to that separate AMD branch. Those coreboot developers which have AMD boards and want to constantly use and test latest and greatest coreboot builds, they will have to constantly check the coreboot commit log and backport all these improvements and fixes to their separate (and soon to be abandoned) AMD branch. That will be adding lots of unnecessary manual work and draining lots of workhours, which otherwise could have been spent on writing the bug reports or improving a coreboot code which is common for all the coreboot-supported boards.</div><div><br></div><div>As result, moving AGESA code will affect - and not only AMD boards: all the coreboot supported boards will be indirectly negatively affected by that change...</div><div><br></div><div style="">Luckily Timothy Pearson has advised a perfect solution for this issue:</div><div style=""><br></div><div style=""><div>On 28 October 2015 at 02:23, Timothy Pearson wrote:</div><div>></div><div>> Perhaps in the short term we can port the remaining AGESA Fam15h boards</div><div>> to native init, and look into moving Fam14h to as much native as</div><div>> possible while still keeping the PSP happy with its blobs?</div><div>></div></div><div><br></div><div style="">If the AGESA boards will be ported to a native init, they will be able to continue to be supported by a master branch! That approach will allow coreboot developers with AMD boards to avoid spending time on backporting the changes and concentrate on developing and testing the latest coreboot builds from a master branch</div><div><br></div><div>Best regards,</div><div>Vladimir Shipovalov</div><div class="gmail_extra"><br><div class="gmail_quote">On 28 October 2015 at 11:32, Patrick Georgi <span dir="ltr"><<a href="mailto:pgeorgi@google.com" target="_blank">pgeorgi@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">2015-10-28 4:56 GMT+01:00 Alex G. <<a href="mailto:mr.nuke.me@gmail.com">mr.nuke.me@gmail.com</a>>:<br>
> Here's a list of things I think should be moved to branches, right after<br>
> the 4.2 release:<br>
</span>So far the idea was to drop things in master after a release, and<br>
create branches for releases (as I did for 4.1 yesterday, in addition<br>
to the tag).<br>
So, when dropping stuff after the 4.2 release, to go back to these<br>
things, you start from the 4.2 branch.<br>
<span class=""><br>
> Now remember, this assumes branches are as first class<br>
> citizens as 'master'. Look at chromiumos coreboot: plenty of branches.<br>
> That shows it can work.<br>
</span>There's a significant difference (and a problem that we'd inherit by<br>
adopting the chromium gerrit model):<br>
<br>
The difference is that Chromium firmware branches are made per-board<br>
for devices where not many changes are expected.<br>
The items you point out are most interesting for adding new boards<br>
(nevermind if this actually happens - but the Lenovo *60 stuff wasn't<br>
predicted a year before it happened either, 945 was "dead" then).<br>
If we go for branches for that, developing FSP1.0 coreboot will look<br>
quite different from master-coreboot.<br>
<br>
The problem we have with firmware branches over at Chromium is that,<br>
as far non-ChromeOS development is concerned, branches are where<br>
commits are pushed to die. They're not folded back into mainline<br>
Chromium nor <a href="http://coreboot.org" rel="noreferrer" target="_blank">coreboot.org</a>. We don't really have a good solution for<br>
that.<br>
<br>
If we spawn tons of branches every time something becomes a bit<br>
inconvenient to deal with, we're quickly devolving into u-boot:<br>
vendors will just start maintaining their own branches, and porting<br>
high level features between those requires an immense amount of effort<br>
because there are many years of divergence between them.<br>
If you want a taste of that, try building something on Chromium's<br>
chromeos-2013.04 branch and then port it to upstream master. And that<br>
was just 2.5 years.<br>
<br>
tl;dr: hiding problems in branches won't serve us long-term.<br>
<span class=""><font color="#888888"><br>
<br>
Patrick<br>
--<br>
Google Germany GmbH, ABC-Str. 19, 20354 Hamburg<br>
Registergericht und -nummer: Hamburg, HRB 86891, Sitz der Gesellschaft: Hamburg<br>
Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle<br>
</font></span><div class=""><div class="h5"><br>
--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
<a href="http://www.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">http://www.coreboot.org/mailman/listinfo/coreboot</a></div></div></blockquote></div><br></div></div>