diff options
author | Leah Rowe <leah@libreboot.org> | 2023-09-03 19:55:58 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-09-03 22:40:33 +0100 |
commit | 19efdf9eebaf60038f652e870f58aea4b1f14b6d (patch) | |
tree | 30152f6970c7b8c69f7b6783be57a41fbf0598ad /script | |
parent | af8d8cda7d639b594f70efde5e52ee712d996c7b (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-x | script/build/descriptors/ich9m | 42 | ||||
-rwxr-xr-x | script/build/release/src | 4 | ||||
-rwxr-xr-x | script/handle/make/config | 17 | ||||
-rwxr-xr-x | script/handle/make/file | 1 |
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 |