ivy_has_common: shorten the FSP section

actually, remove it, because it's already mentioned under errata

i've expanded the errata section a little bit, so as to convey
the same information but more succinctly

Signed-off-by: Leah Rowe <leah@libreboot.org>
master
Leah Rowe 2025-01-04 15:09:11 +00:00
parent 1e117c77af
commit b11a61c97c
1 changed files with 8 additions and 68 deletions

View File

@ -241,73 +241,6 @@ You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms.
This is because lbmk *automatically* neuters it, disabling it during
early boot. This is done using `me_cleaner`, which lbmk imports.
Intel FSP copyright
===================
A few boards use Intel FSP, for parts of the machine initialisation. More
information is available on the [freedom status](../../freedom-status.md) page.
Abstract
--------
The initial Libreboot 20241206 release included Intel FSP directly inside the
ROM images. Intel provides the FSP under a license which states (and I
paraphrase): you must not modify it, but you can redistribute it freely, so
long as the license notice is retained.
The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically
does CAR, S is essentially romstage components, and M is raminit. Due to how
coreboot works, these components must be split into single components. Coreboot
doesn't use T by default (it implements CAR itself), but has the option to
use it. It will use M and S, only.
Technically, the process of splitting FSP into these three files counts as
a modification. Furthermore, coreboot also rebases the M module by modifying
certain pointers, so that it can integrate with coreboot to provide raminit.
Intel *themselves* own the copyright to the tool for splitting FSP,
at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for
the FSP to be used this way. However, until now, those using the Intel FSP
have built coreboot images from source, so the issue of modified distributions
didn't come up.
By the strictest possible interpretation of Intel's licensing, Libreboot was
technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and
newer, will no longer include the Intel FSP inside images. Instead, the vendor
inject script is used for inserting the FSP into release images, which is what
we already do for several other components.
`_fsp` vs `_vfsp` targets
-------------------------
The original 20241206 release images had `_fsp` in the file name. From rev8
onward, `_vfsp` is specified instead.
Libreboot's inject script verifies checksums on files, when inserting into the
images. Because of this, if we inject FSP after the fact, that means anyone
using the old images will find errors when they try.
To mitigate this, the build targets containing `_fsp` in the name have been
retained, but these targets are set `release="n"` so that no ROM images are
provided in releases. The `_vfsp` images are provided pre-compiled, instead.
With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still
reliably inject Intel ME into the old `_fsp` images, if you already downloaded
those before.
Therefore, you must be especially careful to get this right. If you're running
the inject script into a tarball, it will generally detect the right one, but
inserting manually into individual image files is also possible; if you do this,
you must remember to correctly specify `t480_vfsp_16mb` or `t480s_vfsp_16mb`,
or to specify the `_fsp` targets if you're doing this on older images.
It is extremely unlikely that Intel would have ever cracked down on Libreboot
for its previous mistake, since many other projects exist that include FSP
directly in coreboot images, even commercially. However, Libreboot wishes to
respect Intel's license, in the
most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way
possible.
Errata
======
@ -327,7 +260,14 @@ raminit. The following targets no longer exist in the build system:
FSP images are also no longer baked in on release images, from
Libreboot 20241206 rev8 or higher (or releases newer than the 20241206 series),
but the machines that use them still need them; they are injected instead,
using the commands shown above on this very page.
using the commands shown above on this very page. Older images with FSP baked
directly into release images had `_fsp` in the file names; newer images that
need it to be injected have `_vfsp` in the file name. Releases from Libreboot
20241206 release series at revision 8 or higher, or releases newer than the
20241206 series, no longer include `_fsp` images as they are set `release="n"`
in the build system; these releases include `_vfsp` images instead. Newer
targets added in the future, that need FSP, will also have `_vfsp` in the
file name, for consistency.
This is written as errata because some users may still be using older release
images but on the newer build system from May 2024 onward; you must use the