build/roms: remove modify_coreboot_rom()

don't handle "romtype" at all, in board target.cfg files

add /dev/null as pike2008 rom on amd boards. this serves
the same purpose, adding them as empty vga roms, to add
an empty rom in cbfs. pike2008 cards cause seabios to hang,
when their oproms are executed, so we insert a fake rom

on i945 thinkpads, use the coreboot config option:
CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK

when set, this enables the same bootblock copy, for use
with bucts. these two cases, namely pike2008 roms and
i945 bootblock copies, no longer need to be handled in code

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2023-12-21 19:03:49 +00:00
parent 493ebdfb74
commit 92986f0c42
103 changed files with 58 additions and 134 deletions
-28
View File
@@ -419,37 +419,9 @@ moverom() {
printf "Creating target image: %s\n" "${newrom}"
[ -d "${newrom%/*}" ] || x_ mkdir -p "${newrom%/*}/"
x_ modify_coreboot_rom
x_ cp "${rompath}" "${newrom}"
}
modify_coreboot_rom()
{
tmpmvrom="$(mktemp -t rom.XXXXXXXXXX)"
x_ rm -f "${tmpmvrom}"
if [ "${romtype}" = "d8d16sas" ]; then
# pike2008 roms hang seabios. an empty rom will override
# the built-in one, thus disabling all execution of it
x_ touch "${tmpmvrom}"
for deviceID in "0072" "3050"; do
x_ "${cbfstool}" "${rompath}" add -f "${tmpmvrom}" \
-n "pci1000,${deviceID}.rom" -t raw
done
elif [ "${romtype}" = "i945 laptop" ]; then
# for bucts-based installation method from factory bios
dd if="${rompath}" of="${tmpmvrom}" bs=1 \
skip=$(($(stat -c %s "${rompath}") - 0x10000)) \
count=64k || err "modrom 1, copy bootblock"
dd if="${tmpmvrom}" of="${rompath}" bs=1 \
seek=$(($(stat -c %s "${rompath}") - 0x20000)) count=64k \
conv=notrunc || err "modrom 2, insert new bootblock"
x_ rm -f "${tmpmvrom}"
fi
x_ rm -f "${tmpmvrom}"
}
usage()
{
cat <<- EOF