ich9m mainboards: use pre-assembled ifd/gbe files

This cuts down on build time, and it will allow libreboot
to remove large chunks of code.

these ifd/gbe configs are just binary-encoded config files,
in a format well-understood. they can easily be opened up
and displayed, using ich9show or ifdtool, and manipulated
by these tools; bincfg can generate them from scratch, and
nvmutil can change mac addresses, for example.

so, do this and remove from lbmk the following:

* ich9utils (which contains ich9gen) - not needed anymore
* code in lbmk for handling ich9gen and insertions; the
  coreboot build system is now used, for this same purpose,
  so remove such code from lbmk

this results in a massive code size reduction (thousands of
lines) in lbmk; smaller when only looking at the build
system, but much larger when you consider that ich9utils
is also removed (about 3k sloc)

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2023-09-03 19:55:58 +01:00
parent af8d8cda7d
commit 19efdf9eeb
71 changed files with 440 additions and 5175 deletions
-17
View File
@@ -310,23 +310,6 @@ modify_coreboot_rom()
count=64k conv=notrunc || \
err "modify_coreboot_rom: can't write i945 bootblock"
fi
for romsize in 4 8 16; do
ifddir="descriptors/ich9m"
for bs in "4" "12"; do
ifdgbe="${ifddir}/ich9fdnogbe_${romsize}m.bin"
cmpstr="${romsize}MiB ICH9 IFD NOGBE NOR flash"
if [ "${bs}" = "12" ]; then
cmpstr="${romsize}MiB ICH9 IFD NOR flash"
ifdgbe="${ifddir}/ich9fdgbe_${romsize}m.bin"
fi
[ "${romtype}" = "${cmpstr}" ] || continue
[ -f "${ifdgbe}" ] || ./build descriptors ich9m || \
err "modify_coreboot_rom: can't create ich9m ifd"
dd if="${ifdgbe}" of="${rompath}" bs=${bs}k count=1 \
conv=notrunc || \
err "modify_coreboot_rom: can't insert ich9m ifd"
done
done
rm -f "${tmprom}" || \
err "modify_coreboot_rom: cannot remove tmprom"
}