summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-09-03 19:55:58 +0100
committerLeah Rowe <leah@libreboot.org>2023-09-03 22:40:33 +0100
commit19efdf9eebaf60038f652e870f58aea4b1f14b6d (patch)
tree30152f6970c7b8c69f7b6783be57a41fbf0598ad /script
parentaf8d8cda7d639b594f70efde5e52ee712d996c7b (diff)
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>
Diffstat (limited to 'script')
-rwxr-xr-xscript/build/descriptors/ich9m42
-rwxr-xr-xscript/build/release/src4
-rwxr-xr-xscript/handle/make/config17
-rwxr-xr-xscript/handle/make/file1
4 files changed, 2 insertions, 62 deletions
diff --git a/script/build/descriptors/ich9m b/script/build/descriptors/ich9m
deleted file mode 100755
index d965aef8..00000000
--- a/script/build/descriptors/ich9m
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env sh
-
-# Copyright (C) 2020, 2023 Leah Rowe <info@minifree.org>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-. "include/err.sh"
-
-ich9gen="util/ich9utils/ich9gen"
-
-main()
-{
- [ -f "${ich9gen}" ] || ./handle make file -b ich9utils || \
- err "ich9utils make"
- [ ! -f "${ich9gen}" ] && err "ich9gen doesn't exist"
-
- [ -d "descriptors/ich9m/" ] || mkdir -p "descriptors/ich9m/" || \
- err "can't create directory: descriptors/ich9m"
- rm -f descriptors/ich9m/* || err "rm-rf"
-
- (
- cd descriptors/ich9m/ || err "cd2"
- ../../"${ich9gen}" || err "ich9gen"
- )
-}
-
-main $@
diff --git a/script/build/release/src b/script/build/release/src
index 719b0043..596454e0 100755
--- a/script/build/release/src
+++ b/script/build/release/src
@@ -162,7 +162,7 @@ purge_files()
err "purge_files: ${p}: cannot clean the source trees"
done
- for p in bios_extract flashrom grub ich9utils uefitool; do
+ for p in bios_extract flashrom grub uefitool; do
./handle make file -c "${p}" || \
err "purge_files: !./handle make file -c ${p}"
done
@@ -170,7 +170,7 @@ purge_files()
./handle make file -c "memtest86plus/build${p}" || \
err "purge_files: cannot clean memtest86+ build${p}"
done
- for p in "nvmutil" "ich9utils" "spkmodem_recv" "e6400-flash-unlock"; do
+ for p in "nvmutil" "spkmodem_recv" "e6400-flash-unlock"; do
make clean -C "util/${p}" || \
err "purge_files 2: !make clean -C ${util}/p"
done
diff --git a/script/handle/make/config b/script/handle/make/config
index 3db91550..b2ecdfaf 100755
--- a/script/handle/make/config
+++ b/script/handle/make/config
@@ -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"
}
diff --git a/script/handle/make/file b/script/handle/make/file
index 4208285b..78834db7 100755
--- a/script/handle/make/file
+++ b/script/handle/make/file
@@ -44,7 +44,6 @@ main()
done
[ -z "${project}" ] && err "project name not specified"
- [ "${project}" = "ich9utils" ] && project="util/ich9utils"
handle_dependencies
run_make_command