2013-12-05 18:11:33 +01:00
#!/bin/sh
2014-01-17 16:04:25 +01:00
export COREBOOT_DIR = "../coreboot"
export GIT_DIR = " $COREBOOT_DIR /.git "
2013-12-05 18:11:33 +01:00
CODE_GITWEB = "http://review.coreboot.org/gitweb?p=coreboot.git;a=commitdiff;h="
STATUS_GITWEB = "http://review.coreboot.org/gitweb?p=board-status.git;a=blob;hb=HEAD;f="
if [ -f ` dirname $0 ` /foreword.wiki ] ; then
cat ` dirname $0 ` /foreword.wiki
fi
2014-01-17 16:04:25 +01:00
detailed =
nl = "
"
have =
2013-12-05 18:11:33 +01:00
while read line; do
timeframe = ` echo $line | cut -d: -f1`
rest = ` echo $line | cut -d: -f2-`
2014-01-17 16:04:25 +01:00
detailed = " $detailed = $timeframe = $nl "
2013-12-05 18:11:33 +01:00
for i in $rest ; do
vendor_board = ` echo $i | cut -d/ -f1-2`
commit = ` echo $i | cut -d/ -f3`
datetime = ` echo $i | cut -d/ -f4`
datetime_human = ` LC_ALL = C TZ = UTC date --date= " $datetime " `
upstream = ` grep "^Upstream revision:" $vendor_board /$commit /$datetime /revision.txt | cut -d: -f2-`
upstream = ` git log -1 --format= %H $upstream `
2014-01-17 16:04:25 +01:00
if ! echo " $have " | grep " ^ $vendor_board : " > /dev/null; then
detailed = " $detailed <span id=\" $vendor_board \"></span> $nl "
have = " $have $vendor_board : $datetime $nl "
fi
detailed = " $detailed [[Board: $vendor_board | $vendor_board ]] at $datetime_human $nl "
detailed = " $detailed [ $CODE_GITWEB $upstream upstream tree] ( $nl "
2014-01-20 03:18:20 +01:00
for file in " $vendor_board / $commit / $datetime / " *; do
if [ " $file " = " $vendor_board / $commit / $datetime /revision.txt " ] ; then
continue
fi
2014-01-17 16:04:25 +01:00
detailed = " $detailed [ $STATUS_GITWEB $file `basename $file `] $nl "
done
detailed = " $detailed ) $nl $nl "
done
done
cat <<EOF
2014-01-19 03:49:30 +01:00
= = Motherboards supported in coreboot = =
2014-01-17 16:04:25 +01:00
{ | border = "0" style = "font-size: smaller"
| - bgcolor = "#6699ff"
! align = "left" | Vendor
! align = "left" | Mainboard
! align = "left" | Latest known good
! align = "left" | Northbridge
! align = "left" | Southbridge
! align = "left" | Super& nbsp; I/O
! align = "left" | CPU
! align = "left" | Socket
! align = "left" | <span title = "ROM chip package" >ROM& nbsp; <sup>1</sup></span>
! align = "left" | <span title = "ROM chip protocol" >P& nbsp; <sup>2</sup></span>
! align = "left" | <span title = "ROM chip socketed?" >S& nbsp; <sup>3</sup></span>
! align = "left" | <span title = "Board supported by flashrom?" >F& nbsp; <sup>4</sup></span>
! align = "left" | <span title = "Vendor Cooperation Score" >VCS<sup>5</sup></span>
EOF
2014-01-19 02:56:48 +01:00
for category in desktop server laptop half mini settop "eval" sbc emulation misc unclass; do
2014-01-17 16:04:25 +01:00
last_vendor =
color = eeeeee
case " $category " in
desktop)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Desktops / Workstations</h4>
EOF
; ;
server)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Servers</h4>
EOF
; ;
laptop)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Laptops</h4>
EOF
; ;
half)
cat <<EOF
| - bgcolor = "#6699ff"
2014-01-19 02:56:48 +01:00
| colspan = "13" | <h4>Embedded / PC/104 / Half-size boards</h4>
2014-01-17 16:04:25 +01:00
EOF
; ;
mini)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Mini-ITX / Micro-ITX / Nano-ITX</h4>
EOF
; ;
settop)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Set-top-boxes / Thin clients</h4>
EOF
; ;
"eval" )
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Devel/Eval Boards</h4>
2014-01-19 02:56:48 +01:00
EOF
; ;
sbc)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Single-Board computer</h4>
2014-01-19 02:54:25 +01:00
EOF
; ;
emulation)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Emulation</h4>
2014-01-17 16:04:25 +01:00
EOF
; ;
misc)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Miscellaneous</h4>
EOF
; ;
unclass)
cat <<EOF
| - bgcolor = "#6699ff"
| colspan = "13" | <h4>Unclassified</h4>
EOF
; ;
esac
for vendor_board_dir in " $COREBOOT_DIR " /src/mainboard/*/* ; do
board = " $( basename " $vendor_board_dir " ) "
vendor = " $( basename " $( dirname " $vendor_board_dir " ) " ) "
2015-05-27 18:53:12 +02:00
if [ " $board " = Kconfig ] || [ " $board " = Kconfig.name ] ; then
2014-01-17 16:04:25 +01:00
continue
fi
if [ -f " $vendor_board_dir /board_info.txt " ] ; then
cur_category = " $( sed -n "/^[[:space:]]*Category:/ s,^[[:space:]]*Category:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
else
cur_category =
fi
case " $cur_category " in
2014-01-19 02:56:48 +01:00
desktop| server| laptop| half| mini| settop| "eval" | emulation| sbc| misc)
2014-01-17 16:04:25 +01:00
; ;
*)
cur_category = unclass
; ;
esac
if [ " $cur_category " != " $category " ] ; then
continue
fi
if [ -f " $vendor_board_dir /board_info.txt " ] ; then
2014-05-15 09:06:25 +02:00
vendor_2nd = " $( sed -n "/^[[:space:]]*Vendor name:/ s,^[[:space:]]*Vendor name:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
2014-01-17 16:04:25 +01:00
board_nice = " $( sed -n "/^[[:space:]]*Board name:/ s,^[[:space:]]*Board name:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
rom_package = " $( sed -n "/^[[:space:]]*ROM package:/ s,^[[:space:]]*ROM package:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
rom_protocol = " $( sed -n "/^[[:space:]]*ROM protocol:/ s,^[[:space:]]*ROM protocol:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
rom_socketed = " $( sed -n "/^[[:space:]]*ROM socketed:/ s,^[[:space:]]*ROM socketed:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
flashrom_support = " $( sed -n "/^[[:space:]]*Flashrom support:/ s,^[[:space:]]*Flashrom support:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
vendor_cooperation_score = " $( sed -n "/^[[:space:]]*Vendor cooperation score:/ s,^[[:space:]]*Vendor cooperation score:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
vendor_cooperation_page = " $( sed -n "/^[[:space:]]*Vendor cooperation page:/ s,^[[:space:]]*Vendor cooperation page:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
board_url = " $( sed -n "/^[[:space:]]*Board URL:/ s,^[[:space:]]*Board URL:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
2014-01-19 00:37:23 +01:00
clone_of = " $( sed -n "/^[[:space:]]*Clone of:/ s,^[[:space:]]*Clone of:[[:space:]]*,,p" " $vendor_board_dir /board_info.txt " ) "
2014-01-17 16:04:25 +01:00
else
2014-05-15 09:06:25 +02:00
vendor_2nd =
2014-01-17 16:04:25 +01:00
board_nice =
rom_package =
rom_protocol =
rom_socketed =
flashrom_support =
vendor_cooperation_score =
vendor_cooperation_page =
board_url =
2014-01-19 00:37:23 +01:00
clone_of =
2014-01-17 16:04:25 +01:00
fi
if [ " $last_vendor " != " $vendor " ] ; then
last_vendor = " $vendor "
if [ " $color " = dddddd ] ; then
color = eeeeee
else
color = dddddd
fi
fi
2015-05-27 23:09:28 +02:00
vendor_nice = " $( grep -A1 -i " config VENDOR_ $vendor " " $COREBOOT_DIR " /src/mainboard/$vendor /Kconfig.name| tail -n1| sed -n 's,^[[:space:]]*bool[[:space:]]*"\(.*\)"[[:space:]]*$,\1,p' ) "
2014-01-17 16:04:25 +01:00
if [ -z " $vendor_nice " ] ; then
vendor_nice = " $( echo " $vendor " | sed -e "s/\(.\)/\u\1/g" ) " ;
fi
2014-01-18 22:18:01 +01:00
if [ -z " $board_nice " ] ; then
board_nice = " $( grep -A2 -i "config MAINBOARD_PART_NUMBER" " $COREBOOT_DIR " /src/mainboard/$vendor /$board /Kconfig| tail -n1| sed -n 's,^[[:space:]]*default[[:space:]]*"\(.*\)"[[:space:]]*$,\1,p' ) "
fi
2014-01-17 16:04:25 +01:00
if [ -z " $board_nice " ] ; then
board_nice = " $( echo " $board " | sed -e "s,_, ,g;s/\(.\)/\u\1/g" ) " ;
fi
2014-11-23 10:32:03 +01:00
venboard = " $vendor / $board "
if [ -n " $clone_of " ] ; then
venboard = " $clone_of "
2014-01-19 00:37:23 +01:00
fi
2014-11-23 10:32:03 +01:00
lastgood = " $( echo " $have " | sed -n " /^ $( echo " $venboard " | sed 's,/,\\/,g' ) :/ s,^[^:]*:,,gp " ) "
vendor_board_dir = " $COREBOOT_DIR " /src/mainboard/" $venboard " ;
2014-01-17 16:04:25 +01:00
northbridge = " $( sed -n "/^[[:space:]]*select NORTHBRIDGE_/ s,^[[:space:]]*select NORTHBRIDGE_,,p" " $vendor_board_dir /Kconfig " ) "
2015-05-27 23:50:19 +02:00
northbridge_nice = " $( echo " $northbridge " | sed 's,AMD_AGESA_FAMILY\([0-9a-fA-F]*\)\(.*\),AMD Family \1h\2 (AGESA),g;s,AMD_PI_\(.*\),AMD \1 (PI),g;s,INTEL_FSP_\(.*\),Intel® \1 (FSP),g;s,AMD_FAMILY\([0-9a-fA-F]*\),AMD Family \1h,g;s,AMD_AMDFAM\([0-9a-fA-F]*\),AMD Family \1h,g;s,_, ,g;s,INTEL,Intel®,g;' ) "
2014-01-17 16:04:25 +01:00
2014-02-05 12:20:24 +01:00
southbridge = " $( sed -n " /[[:space:]]*select SOUTHBRIDGE_/ s,[[:space:]]*select SOUTHBRIDGE_\([^ ]*\).* $,\1,p " " $vendor_board_dir /Kconfig " | grep -v SKIP_ISA_DMA_INIT) "
2014-01-17 16:04:25 +01:00
southbridge_nice = " $( echo " $southbridge " | sed 's,_, ,g;s,INTEL,Intel®,g' ) "
2014-02-05 12:20:58 +01:00
superio = " $( sed -n "/[[:space:]]*select SUPERIO_/ s,[[:space:]]*select SUPERIO_,,p" " $vendor_board_dir /Kconfig " | grep -v OVERRIDE_FANCTL) "
2015-05-27 23:50:19 +02:00
superio_nice = " $( echo " $superio " | sed 's,_, ,g;s,WINBOND,Winbond™,g;s,ITE,ITE™,g;s,SMSC,SMSC®,g;s,NUVOTON,Nuvoton ,g' ) "
cpu = " $( sed -n "/ select CPU_/ s, select CPU_,,p" " $vendor_board_dir /Kconfig " | grep -v "AMD_AGESA_FAMILY" | grep -v CPU_MICROCODE_CBFS_NONE) "
2014-01-17 16:04:25 +01:00
case " $cpu " in
ALLWINNER_A10)
cpu_nice = "Allwinner A10"
socket_nice = "?" ; ;
AMD_GEODE_*)
cpu_nice = " AMD Geode™ ${ cpu #AMD_GEODE_ } " ;
socket_nice = "—" ; ;
AMD_SOCKET_754)
cpu_nice = "AMD Sempron™ / Athlon™ 64 / Turion™ 64" ;
socket_nice = "Socket 754" ; ;
AMD_SOCKET_ASB2)
cpu_nice = "AMD Turion™ II Neo/Athlon™ II Neo" ;
socket_nice = "ASB2 (BGA812)" ; ;
AMD_SOCKET_S1G1)
cpu_nice = "AMD Turion™ / X2 Sempron™" ;
socket_nice = "Socket S1G1" ; ;
AMD_SOCKET_G34)
cpu_nice = "AMD Opteron™ Magny-Cours/Interlagos" ;
socket_nice = "Socket G34" ; ;
AMD_SOCKET_C32| AMD_SOCKET_C32_NON_AGESA)
cpu_nice = "AMD Opteron™ Magny-Cours/Interlagos" ;
socket_nice = "Socket C32" ; ;
AMD_SOCKET_AM2)
cpu_nice = "?" ;
socket_nice = "Socket AM2"
; ;
AMD_SOCKET_AM3)
cpu_nice = "AMD Athlon™ 64 / FX / X2" ;
socket_nice = "Socket AM3"
; ;
AMD_SOCKET_AM2R2)
cpu_nice = "AMD Athlon™ 64 / X2 / FX, Sempron™" ;
socket_nice = "Socket AM2+"
; ;
AMD_SOCKET_F)
cpu_nice = "AMD Opteron™" ;
socket_nice = "Socket F"
; ;
AMD_SOCKET_F_1207)
cpu_nice = "AMD Opteron™" ;
socket_nice = "Socket F 1207"
; ;
AMD_SOCKET_940)
cpu_nice = "AMD Opteron™" ;
socket_nice = "Socket 940"
; ;
AMD_SOCKET_939)
cpu_nice = "AMD Athlon™ 64 / FX / X2" ;
socket_nice = "Socket 939"
; ;
AMD_SC520)
2014-02-09 21:50:50 +01:00
cpu_nice = "AMD Élan™SC520" ;
2014-01-17 16:04:25 +01:00
socket_nice = "—" ; ;
ARMLTD_CORTEX_A9)
cpu_nice = "ARM Cortex A9" ;
socket_nice = "?" ; ;
DMP_VORTEX86EX)
cpu_nice = "DMP VORTEX86EX" ;
socket_nice = "?" ; ;
SAMSUNG_EXYNOS5420)
cpu_nice = "Samsung Exynos 5420" ;
socket_nice = "?" ; ;
SAMSUNG_EXYNOS5250)
cpu_nice = "Samsung Exynos 5250" ;
socket_nice = "?" ; ;
TI_AM335X)
cpu_nice = "TI AM335X" ;
socket_nice = "?" ; ;
INTEL_SLOT_1)
cpu_nice = "Intel® Pentium® II/III, Celeron®" ;
socket_nice = "Slot 1" ; ;
INTEL_SOCKET_MPGA604)
cpu_nice = "Intel® Xeon®" ;
socket_nice = "Socket 604" ; ;
INTEL_SOCKET_MFCPGA478)
cpu_nice = "Intel® Core™ 2 Duo Mobile, Core™ Duo/Solo, Celeron® M" ;
socket_nice = "Socket mPGA478" ; ;
INTEL_SOCKET_LGA771)
cpu_nice = "Intel Xeon™ 5000 series" ;
socket_nice = "Socket LGA771" ; ;
INTEL_SOCKET_PGA370)
cpu_nice = "Intel® Pentium® III-800, Celeron®"
socket_nice = "Socket 370" ; ;
INTEL_SOCKET_MPGA479M)
cpu_nice = "Intel® Mobile Celeron"
socket_nice = "Socket 479"
; ;
2015-05-27 23:50:19 +02:00
INTEL_HASWELL)
cpu_nice = "Intel® 4th Gen (Haswell) Core i3/i5/i7"
socket_nice = "?"
; ;
INTEL_SOCKET_RPGA989| INTEL_SOCKET_LGA1155| INTEL_SOCKET_RPGA988B)
socket_nice = " `echo $socket | sed 's,INTEL_SOCKET_,Socket ,g'` "
2014-01-17 16:04:25 +01:00
case $northbridge in
INTEL_HASWELL)
2015-05-27 23:50:19 +02:00
cpu_nice = "Intel® 4th Gen (Haswell) Core i3/i5/i7" ; ;
2015-10-03 22:20:26 +02:00
INTEL_IVYBRIDGE| INTEL_IVYBRIDGE_MRC)
2015-05-27 23:50:19 +02:00
cpu_nice = "Intel® 3rd Gen (Ivybridge) Core i3/i5/i7" ; ;
sandybridge ivybridge: Treat native init as first class citizen
This is a sad story. We have three different code paths for
sandybridge and ivybridge: proper native path, google MRC path, and,
everyone's favorite: Intel FSP path. For the purpose of this patch,
the FSP path lives in its own little world, and doesn't concern us.
Since MRC was first, when native files and variables were added, they
were suffixed with "_native" to separate them from the existing code.
This can cause confusion, as the suffix might make the native files
seem parasitical.
This has been bothering me for many months. MRC should be the
parasitical path, especially since we fully support native init, and
it works more reliably, on a wider range of hardware. There have been
a few board ports that never made it to coreboot.org because MRC would
hang.
gigabyte/ga-b75m-d3h is a prime example: it did not work with MRC, so
the effort was abandoned at first. Once the native path became
available, the effort was restarted and the board is now supported.
In honor of the hackers and pioneers who made the native code
possible, rename things so that their effort is the first class
citizen.
Change-Id: Ic86cee5e00bf7f598716d3d15d1ea81ca673932f
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/11788
Tested-by: build bot (Jenkins)
Reviewed-by: Philipp Deppenwiese <zaolin@das-labor.org>
2015-09-29 06:39:12 +02:00
INTEL_SANDYBRIDGE| INTEL_SANDYBRIDGE_MRC)
2015-05-27 23:50:19 +02:00
cpu_nice = "Intel® 2nd Gen (Sandybridge) Core i3/i5/i7" ; ;
2014-01-17 16:04:25 +01:00
*)
2015-05-27 23:50:19 +02:00
cpu_nice = " $northbridge " ; ;
2014-01-17 16:04:25 +01:00
esac
; ;
INTEL_SOCKET_441)
cpu_nice = "Intel® Atom™ 230" ;
socket_nice = "Socket 441" ; ;
INTEL_SOCKET_BGA956)
2014-08-16 17:16:20 +02:00
case $northbridge in
INTEL_GM45)
cpu_nice = "Intel® Core 2 Duo (Penryn)"
socket_nice = "Socket P" ; ;
*)
cpu_nice = "Intel® Pentium® M" ;
socket_nice = "BGA956" ; ;
esac
; ;
2014-01-17 16:04:25 +01:00
INTEL_SOCKET_FC_PGA370)
cpu_nice = "Intel® Pentium® III / Celeron®" ;
socket_nice = "Socket 370"
; ;
INTEL_EP80579)
cpu_nice = "Intel® EP80579" ;
socket_nice = "Intel® EP80579"
; ;
INTEL_SOCKET_MFCBGA479)
cpu_nice = "Intel® Mobile Celeron"
socket_nice = "Socket 479" ; ;
VIA_C3)
cpu_nice = "VIA C3™" ;
socket_nice = "?"
; ;
VIA_C7)
cpu_nice = "VIA C7™" ;
socket_nice = "?"
; ;
VIA_NANO)
cpu_nice = "VIA Nano™" ;
socket_nice = "?"
; ;
QEMU_X86)
cpu_nice = "QEMU x86" ;
socket_nice = "—"
; ;
"" )
case $northbridge in
INTEL_NEHALEM)
2014-02-05 13:01:47 +01:00
cpu_nice = "Intel® 1st Gen (Nehalem) Core i3/i5/i7"
2014-01-17 16:04:25 +01:00
socket_nice = "?" ; ;
RDC_R8610)
cpu_nice = "RDC 8610"
socket_nice = "—" ; ;
2015-05-27 23:50:19 +02:00
AMD_AGESA_*| AMD_PI_*)
cpu_nice = " $northbridge_nice "
2014-01-17 16:04:25 +01:00
socket_nice = "?" ; ;
*)
2014-01-19 14:44:04 +01:00
cpu_nice = " $northbridge "
socket_nice = " $northbridge " ; ;
2014-01-17 16:04:25 +01:00
esac
; ;
*)
2014-01-19 14:44:04 +01:00
cpu_nice = " $cpu "
socket_nice = " $cpu " ; ;
2014-01-17 16:04:25 +01:00
esac
echo " |- bgcolor=\"# $color \" "
2014-04-27 20:29:10 +02:00
2014-01-18 23:37:13 +01:00
if [ -z " $board_url " ] ; then
2014-04-27 20:29:10 +02:00
echo " | $vendor_nice "
2014-01-18 23:37:13 +01:00
else
2014-04-27 20:29:10 +02:00
echo " | [ $board_url $vendor_nice ] "
2014-01-18 23:37:13 +01:00
fi
2014-05-15 09:06:25 +02:00
if ! [ -z " $vendor_2nd " ] ; then
echo " ( $vendor_2nd ) "
fi
2014-04-27 20:29:10 +02:00
echo " | [[Board: $vendor / $board | $board_nice ]] "
2014-01-17 16:04:25 +01:00
if [ -z " $lastgood " ] ; then
echo "| style=\"background:red\" | Unknown"
else
echo " | style=\"background:lime\" | [[# $vendor / $board | $lastgood ]] "
fi
echo " | $northbridge_nice "
echo " | $southbridge_nice "
echo " | $superio_nice "
echo " | $cpu_nice "
echo " | $socket_nice "
if [ " $rom_package " = "" ] ; then
echo "| ?"
else
echo " | $rom_package "
fi
if [ " $rom_protocol " = "" ] ; then
echo "| ?"
else
echo " | $rom_protocol "
fi
if [ " $rom_socketed " = "y" ] ; then
echo "| style=\"background:lime\" | Y"
elif [ " $rom_socketed " = "n" ] ; then
echo "| style=\"background:red\" | N"
elif [ " $flashrom_support " = "variable" ] ; then
echo "| ...<sup>7</sup>"
elif [ " $rom_socketed " = "" ] ; then
echo "| ?"
else
echo " | $rom_socketed "
fi
if [ " $flashrom_support " = "y" ] ; then
echo "| style=\"background:lime\" | Y"
elif [ " $flashrom_support " = "n" ] ; then
echo "| style=\"background:red\" | N"
elif [ " $flashrom_support " = "coreboot-only" ] ; then
echo "| style=\"background:yellow\" | ...<sup>6</sup>"
elif [ " $flashrom_support " = "" ] ; then
echo "| ?"
else
echo " | $flashrom_support "
fi
if [ " $vendor_cooperation_score " = "4" ] ; then
echo -n "| style=\"background:lime\""
elif [ " $vendor_cooperatio_scoren " = "3" ] ; then
echo -n "| style=\"background:yellow\""
fi
if [ " $vendor_cooperation_page " != "" ] ; then
echo " | [[ $vendor_cooperation_page | $vendor_cooperation_score ]] "
elif [ " $vendor_cooperation_score " = "" ] ; then
echo "| —"
else
echo " | $vendor_cooperation_score "
fi
2013-12-05 18:11:33 +01:00
echo
done
done
2014-01-17 16:04:25 +01:00
echo "|}"
cat <<EOF
<small>
<sup>1</sup> ROM chip package ( PLCC, DIP32, DIP8, SOIC8) .<br />
<sup>2</sup> ROM chip protocol/type ( parallel flash, LPC, FWH, SPI) .<br />
<sup>3</sup> ROM chip socketed ( Y/N) ?<br />
<sup>4</sup> Board supported by [ http://www.flashrom.org flashrom] ( Y/N) ?<br />
<sup>5</sup> Vendor Cooperation Score.<br />
<sup>6</sup> [ http://www.flashrom.org flashrom] does not work when the vendor BIOS is booted, but it does work when the machine is booted with coreboot.<br />
<sup>7</sup> Some boards have ROM sockets, others are soldered.<br />
</small>
EOF
2013-12-05 18:11:33 +01:00
2014-01-17 16:04:25 +01:00
echo " $detailed "