summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2009-10-12 18:43:26 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2009-10-12 18:43:26 +0000
commitb106f9bdbd02a7aafd7db0c198fc6a1112f1e412 (patch)
tree2a250d922bd653fe9e8d33bddc3bdfd358dc8864
parent4d7ec68856aa2c8aed6d84905e71d6f28900d52d (diff)
downloadcoreboot-b106f9bdbd02a7aafd7db0c198fc6a1112f1e412.tar.xz
Add the compareboard utility which is useful for porting
to kconfig. Hook it up to kbuildall, too Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4761 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rwxr-xr-xutil/compareboard/compareboard79
-rwxr-xr-xutil/kbuildall/kbuildall4
2 files changed, 83 insertions, 0 deletions
diff --git a/util/compareboard/compareboard b/util/compareboard/compareboard
new file mode 100755
index 0000000000..06952fefd9
--- /dev/null
+++ b/util/compareboard/compareboard
@@ -0,0 +1,79 @@
+#!/bin/bash
+# $1 board name
+
+normalize() {
+# $1 filename
+cat $1 | while read line; do
+ if echo $line | grep '= 0x' > /dev/null; then
+ first=`echo $line | cut -d= -f1`
+ last=`echo $line |cut -d= -f2 |cut -d\; -f1`
+ echo $first = $(($last + 0))\;
+ else
+ echo $line
+ fi
+done
+}
+
+BOARDPATH=`echo $1 | sed s,/,_,g`
+
+A=`mktemp`
+rm -rf $A
+mkdir -p $A
+
+sort coreboot-builds/$BOARDPATH/fallback/ldoptions > $A/old
+sort build/ldoptions > $A/new
+
+sed \
+ -e "/^CONFIG_CONSOLE_/ d" \
+ -e "/^CONFIG_RESET_/ d" \
+ -e "/^CONFIG_XIP_ROM_/ d" \
+ -e "/^CONFIG_PRECOMPRESSED_PAYLOAD / d" \
+ -e "/^CONFIG_MULTIBOOT / d" \
+ -e "/^CONFIG_ARCH_POWERPC / d" \
+ -e "/^CONFIG_RESET / d" \
+ -e "/^CONFIG_ROM_PAYLOAD / d" \
+ -e "/^CONFIG_ROM_SECTION_/ d" \
+ -e "/^CONFIG_UNCOMPRESSED / d" \
+ -e "/^CONFIG_COMPRESS / d" \
+ -e "/^CONFIG_COMPRESSED_PAYLOAD_LZMA / d" \
+ -e "/^CONFIG_ASSEMBLER_DEBUG / d" \
+ -e "/^CONFIG_HAVE_FAILOVER_BOOT / d" \
+ -e "/^CONFIG_FAILOVER_SIZE / d" \
+ -e "/^CONFIG_FALLBACK_SIZE / d" \
+ -e "/^CONFIG_ROMBASE / d" \
+ -e "/^CONFIG_ROM_IMAGE_SIZE / d" \
+ -e "/^CONFIG_STACK_SIZE / d" \
+ -e "/^CONFIG_IDE_BOOT_DRIVE / d" \
+ -e "/^CONFIG_IDE_OFFSET / d" \
+ -e "/^CONFIG_GDB_STUB / d" \
+ $A/old > $A/old.filtered
+sed \
+ -e "/^CONFIG_VENDOR_/ d" \
+ -e "/^CONFIG_ARCH_POWERPC / d" \
+ -e "/^CONFIG_[MAXIMUMDEFAULT]*_CONSOLE_LOGLEVEL_/ d" \
+ -e "/^CONFIG_COREBOOT_ROMSIZE_/ d" \
+ -e "/^CONFIG_BOARD_/ d" \
+ -e "/^CONFIG_[NORTHSOUTH]*BRIDGE_/ d" \
+ -e "/^CONFIG_SUPERIO_/ d" \
+ -e "/^CONFIG_GX1_VIDEOMODE_/ d" \
+ -e "/^CONFIG_CONSOLE_/ d" \
+ -e "/^CONFIG_COREBOOT_V4/ d" \
+ -e "/^CONFIG_PAYLOAD_/ d" \
+ -e "/^CONFIG_XIP_ROM_/ d" \
+ -e "/^CONFIG_MULTIBOOT/ d" \
+ -e "/^CONFIG_HAVE_FAILOVER_BOOT / d" \
+ -e "/^CONFIG_COMPRESSED_PAYLOAD_LZMA / d" \
+ -e "/^CONFIG_CPU_[A-Z]*_MODEL_/ d" \
+ -e "/^CONFIG_CPU_[A-Z]*_SOCKET_/ d" \
+ -e "/^CONFIG_ROMBASE / d" \
+ -e "/^CONFIG_ROM_IMAGE_SIZE / d" \
+ -e "/^CONFIG_STACK_SIZE / d" \
+ -e "/^CONFIG_GDB_STUB / d" \
+ $A/new > $A/new.filtered
+
+normalize $A/old.filtered > $A/old.normalized
+normalize $A/new.filtered > $A/new.normalized
+
+diff -u $A/old.normalized $A/new.normalized |grep ^[+-][^+-]|sed -e "s,^+,p ," -e "s,^-,m ," |sort -k2,2 -k1,1 |sed -e "s,^p ,+," -e "s,^m ,-,"
+
+rm -rf $A
diff --git a/util/kbuildall/kbuildall b/util/kbuildall/kbuildall
index b8d09948a9..3f2d7b4b0b 100755
--- a/util/kbuildall/kbuildall
+++ b/util/kbuildall/kbuildall
@@ -60,5 +60,9 @@ for dir in $ALLTARGETS; do
builddefconfig $dir > $TARGETDIR/$name.buildconfig.log 2>&1
result=`$MAKE > $TARGETDIR/$name.buildcoreboot.log 2>&1 && echo ok || echo fail`
echo "$result."
+ if [ "$result" = "ok" ]; then
+ util/abuild/abuild -t $dir
+ sh util/compareboard/compareboard $dir | tee $TARGETDIR/$name.variables.txt
+ fi
echo "$dir $result" >> $TARGETDIR/_overview.txt
done