So I just saw this change.

I am fully aware that emotions are hard to control, and that it's too easy for them to run out of control, and end up taking matters personally. Because attacking each other is futile, I would encourage everyone to be constructive: work towards finding a solution that satisfies everyone's needs as much as possible.

After reading the conversations, I understood the following:

Reasons to drop FSP-T:

Reasons against dropping FSP-T:

I may have missed something from either side, or understood something the wrong way. Any comments, clarifications and suggestions are very welcome :)

One of the points that were brought up is the microcode update problem Nico explained. As I understand it, an invalid configuration, which could be detected at build-time, instead results in a silent boot failure. Most people can only debug coreboot using console logs and a postcode card, usually by placing debug statements around to narrow down where things go wrong. Since FSP's source code is not public, adding debug prints to FSP is not an option for most people. Moreover, there are next to no known-working configurations with FSP-T to compare against. As a result, trying to make FSP-T work without privileged information is extremely frustrating.

Another thing to consider: Bootguard. As I understand it, coreboot's CAR init code does not take Bootguard into account, and would not work correctly if Bootguard is enabled. It doesn't seem to be very complicated: basically, the Bootguard ACM sets up CAR already, so coreboot code should not do it again. However, getting a Bootguard-enabled board on which to test this on is pretty much impossible. Since Bootguard requires firmware to be signed, and the signing key is kept secret, running a random coreboot image on a commercially available board with Bootguard is just not possible. From another perspective, the current situation means that that dropping FSP-T support also implies dropping Bootguard support.

Personally, I would prefer the open-source approach. I would not mind having the option to use FSP-T, as long as it doesn't rot away. This means that it should be build-tested automatically. In addition, there should be known-good configurations to use as a reference: regularly-updated successful boot records for several boards of each platform with FSP-T support, for example board status reports. This is especially useful when doing major overhauls to coreboot's structure, like C_ENVIRONMENT_BOOTBLOCK. Otherwise, the technical debt quickly builds up, and then rewriting everything from scratch is easier than fixing the resulting mess, which nobody wants to do.

So, I think that getting CB:36682 boot-tested and merged in will be good for everyone. If so, what are we waiting for?

View Change

To view, visit change 36622. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ib791b30b621730f4b7c0a5f668a3b6559245daf5
Gerrit-Change-Number: 36622
Gerrit-PatchSet: 4
Gerrit-Owner: Michael Niewöhner
Gerrit-Reviewer: Aaron Durbin <adurbin@chromium.org>
Gerrit-Reviewer: Arthur Heymans <arthur@aheymans.xyz>
Gerrit-Reviewer: David Guckian
Gerrit-Reviewer: David Guckian <david.guckian@intel.com>
Gerrit-Reviewer: Felix Singer <felixsinger@posteo.net>
Gerrit-Reviewer: Furquan Shaikh <furquan@google.com>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki@gmail.com>
Gerrit-Reviewer: Lean Sheng Tan <lean.sheng.tan@intel.com>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Michael Niewöhner
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: Subrata Banik <subrata.banik@intel.com>
Gerrit-Reviewer: Vanessa Eusebio <vanessa.f.eusebio@intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Angel Pons <th3fanbus@gmail.com>
Gerrit-Comment-Date: Tue, 03 Dec 2019 17:55:47 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment