Patrick Georgi | 274c6c2 | 2013-12-05 18:11:33 +0100 | [diff] [blame] | 1 | #!/bin/sh |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 2 | export COREBOOT_DIR="../coreboot" |
| 3 | export GIT_DIR="$COREBOOT_DIR/.git" |
Patrick Georgi | 274c6c2 | 2013-12-05 18:11:33 +0100 | [diff] [blame] | 4 | CODE_GITWEB="http://review.coreboot.org/gitweb?p=coreboot.git;a=commitdiff;h=" |
| 5 | STATUS_GITWEB="http://review.coreboot.org/gitweb?p=board-status.git;a=blob;hb=HEAD;f=" |
| 6 | if [ -f `dirname $0`/foreword.wiki ]; then |
| 7 | cat `dirname $0`/foreword.wiki |
| 8 | fi |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 9 | detailed= |
| 10 | nl=" |
| 11 | " |
| 12 | have= |
Patrick Georgi | 274c6c2 | 2013-12-05 18:11:33 +0100 | [diff] [blame] | 13 | while read line; do |
| 14 | timeframe=`echo $line | cut -d: -f1` |
| 15 | rest=`echo $line | cut -d: -f2-` |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 16 | detailed="$detailed= $timeframe =$nl" |
Patrick Georgi | 274c6c2 | 2013-12-05 18:11:33 +0100 | [diff] [blame] | 17 | for i in $rest; do |
| 18 | vendor_board=`echo $i | cut -d/ -f1-2` |
| 19 | commit=`echo $i | cut -d/ -f3` |
| 20 | datetime=`echo $i | cut -d/ -f4` |
| 21 | datetime_human=`LC_ALL=C TZ=UTC date --date="$datetime"` |
| 22 | upstream=`grep "^Upstream revision:" $vendor_board/$commit/$datetime/revision.txt |cut -d: -f2-` |
| 23 | upstream=`git log -1 --format=%H $upstream` |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 24 | if ! echo "$have"| grep "^$vendor_board:" > /dev/null; then |
| 25 | detailed="$detailed<span id=\"$vendor_board\"></span>$nl" |
| 26 | have="$have$vendor_board:$datetime$nl" |
| 27 | fi |
| 28 | |
| 29 | detailed="$detailed[[Board:$vendor_board|$vendor_board]] at $datetime_human$nl" |
| 30 | detailed="$detailed[$CODE_GITWEB$upstream upstream tree] ($nl" |
Vladimir Serbinenko | df7d5c9 | 2014-01-20 03:18:20 +0100 | [diff] [blame] | 31 | for file in "$vendor_board/$commit/$datetime/"*; do |
| 32 | if [ "$file" = "$vendor_board/$commit/$datetime/revision.txt" ]; then |
| 33 | continue |
| 34 | fi |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 35 | detailed="$detailed[$STATUS_GITWEB$file `basename $file`] $nl" |
Patrick Georgi | 274c6c2 | 2013-12-05 18:11:33 +0100 | [diff] [blame] | 36 | done |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 37 | detailed="$detailed)$nl$nl" |
Patrick Georgi | 274c6c2 | 2013-12-05 18:11:33 +0100 | [diff] [blame] | 38 | done |
| 39 | done |
| 40 | |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 41 | cat <<EOF |
Vladimir Serbinenko | 2a0fc9f | 2014-01-19 03:49:30 +0100 | [diff] [blame] | 42 | == Motherboards supported in coreboot == |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 43 | |
| 44 | {| border="0" style="font-size: smaller" |
| 45 | |- bgcolor="#6699ff" |
| 46 | ! align="left" | Vendor |
| 47 | ! align="left" | Mainboard |
| 48 | ! align="left" | Latest known good |
| 49 | ! align="left" | Northbridge |
| 50 | ! align="left" | Southbridge |
| 51 | ! align="left" | Super I/O |
| 52 | ! align="left" | CPU |
| 53 | ! align="left" | Socket |
| 54 | ! align="left" | <span title="ROM chip package">ROM <sup>1</sup></span> |
| 55 | ! align="left" | <span title="ROM chip protocol">P <sup>2</sup></span> |
| 56 | ! align="left" | <span title="ROM chip socketed?">S <sup>3</sup></span> |
| 57 | ! align="left" | <span title="Board supported by flashrom?">F <sup>4</sup></span> |
| 58 | ! align="left" | <span title="Vendor Cooperation Score">VCS<sup>5</sup></span> |
| 59 | EOF |
| 60 | |
Patrick Georgi | 2a4f58ac | 2015-11-01 14:20:15 +0100 | [diff] [blame] | 61 | for category in laptop server desktop half mini settop "eval" sbc emulation misc unclass; do |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 62 | last_vendor= |
| 63 | color=eeeeee |
| 64 | case "$category" in |
| 65 | desktop) |
| 66 | cat <<EOF |
| 67 | |- bgcolor="#6699ff" |
| 68 | | colspan="13" | <h4>Desktops / Workstations</h4> |
| 69 | |
| 70 | EOF |
| 71 | ;; |
| 72 | server) |
| 73 | cat <<EOF |
| 74 | |- bgcolor="#6699ff" |
| 75 | | colspan="13" | <h4>Servers</h4> |
| 76 | |
| 77 | EOF |
| 78 | ;; |
| 79 | laptop) |
| 80 | cat <<EOF |
| 81 | |- bgcolor="#6699ff" |
| 82 | | colspan="13" | <h4>Laptops</h4> |
| 83 | |
| 84 | EOF |
| 85 | ;; |
| 86 | half) |
| 87 | cat <<EOF |
| 88 | |- bgcolor="#6699ff" |
Vladimir Serbinenko | 047c10c | 2014-01-19 02:56:48 +0100 | [diff] [blame] | 89 | | colspan="13" | <h4>Embedded / PC/104 / Half-size boards</h4> |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 90 | |
| 91 | EOF |
| 92 | ;; |
| 93 | mini) |
| 94 | cat <<EOF |
| 95 | |- bgcolor="#6699ff" |
| 96 | | colspan="13" | <h4>Mini-ITX / Micro-ITX / Nano-ITX</h4> |
| 97 | |
| 98 | EOF |
| 99 | ;; |
| 100 | settop) |
| 101 | cat <<EOF |
| 102 | |- bgcolor="#6699ff" |
| 103 | | colspan="13" | <h4>Set-top-boxes / Thin clients</h4> |
| 104 | |
| 105 | EOF |
| 106 | ;; |
| 107 | "eval") |
| 108 | cat <<EOF |
| 109 | |- bgcolor="#6699ff" |
| 110 | | colspan="13" | <h4>Devel/Eval Boards</h4> |
| 111 | |
| 112 | EOF |
| 113 | ;; |
Vladimir Serbinenko | 047c10c | 2014-01-19 02:56:48 +0100 | [diff] [blame] | 114 | sbc) |
| 115 | cat <<EOF |
| 116 | |- bgcolor="#6699ff" |
| 117 | | colspan="13" | <h4>Single-Board computer</h4> |
| 118 | |
| 119 | EOF |
| 120 | ;; |
Vladimir Serbinenko | 14a7030 | 2014-01-19 02:54:25 +0100 | [diff] [blame] | 121 | emulation) |
| 122 | cat <<EOF |
| 123 | |- bgcolor="#6699ff" |
| 124 | | colspan="13" | <h4>Emulation</h4> |
| 125 | |
| 126 | EOF |
| 127 | ;; |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 128 | misc) |
| 129 | cat <<EOF |
| 130 | |- bgcolor="#6699ff" |
| 131 | | colspan="13" | <h4>Miscellaneous</h4> |
| 132 | |
| 133 | EOF |
| 134 | ;; |
| 135 | unclass) |
| 136 | cat <<EOF |
| 137 | |- bgcolor="#6699ff" |
| 138 | | colspan="13" | <h4>Unclassified</h4> |
| 139 | |
| 140 | EOF |
| 141 | ;; |
| 142 | esac |
| 143 | |
| 144 | for vendor_board_dir in "$COREBOOT_DIR"/src/mainboard/*/* ; do |
| 145 | board="$(basename "$vendor_board_dir")" |
| 146 | vendor="$(basename "$(dirname "$vendor_board_dir")")" |
Vladimir Serbinenko | 6f163a6 | 2015-05-27 18:53:12 +0200 | [diff] [blame] | 147 | if [ "$board" = Kconfig ] || [ "$board" = Kconfig.name ]; then |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 148 | continue |
| 149 | fi |
| 150 | |
| 151 | if [ -f "$vendor_board_dir/board_info.txt" ]; then |
| 152 | cur_category="$(sed -n "/^[[:space:]]*Category:/ s,^[[:space:]]*Category:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
| 153 | else |
| 154 | cur_category= |
| 155 | fi |
| 156 | |
| 157 | case "$cur_category" in |
Vladimir Serbinenko | 047c10c | 2014-01-19 02:56:48 +0100 | [diff] [blame] | 158 | desktop|server|laptop|half|mini|settop|"eval"|emulation|sbc|misc) |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 159 | ;; |
| 160 | *) |
| 161 | cur_category=unclass |
| 162 | ;; |
| 163 | esac |
| 164 | if [ "$cur_category" != "$category" ]; then |
| 165 | continue |
| 166 | fi |
| 167 | |
| 168 | if [ -f "$vendor_board_dir/board_info.txt" ]; then |
Kyösti Mälkki | 49592da | 2014-05-15 10:06:25 +0300 | [diff] [blame] | 169 | vendor_2nd="$(sed -n "/^[[:space:]]*Vendor name:/ s,^[[:space:]]*Vendor name:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 170 | board_nice="$(sed -n "/^[[:space:]]*Board name:/ s,^[[:space:]]*Board name:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
| 171 | rom_package="$(sed -n "/^[[:space:]]*ROM package:/ s,^[[:space:]]*ROM package:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
| 172 | rom_protocol="$(sed -n "/^[[:space:]]*ROM protocol:/ s,^[[:space:]]*ROM protocol:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
| 173 | rom_socketed="$(sed -n "/^[[:space:]]*ROM socketed:/ s,^[[:space:]]*ROM socketed:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
| 174 | flashrom_support="$(sed -n "/^[[:space:]]*Flashrom support:/ s,^[[:space:]]*Flashrom support:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
| 175 | vendor_cooperation_score="$(sed -n "/^[[:space:]]*Vendor cooperation score:/ s,^[[:space:]]*Vendor cooperation score:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
| 176 | vendor_cooperation_page="$(sed -n "/^[[:space:]]*Vendor cooperation page:/ s,^[[:space:]]*Vendor cooperation page:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 177 | board_url="$(sed -n "/^[[:space:]]*Board URL:/ s,^[[:space:]]*Board URL:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
Vladimir Serbinenko | 2eaf3b4 | 2014-01-19 00:37:23 +0100 | [diff] [blame] | 178 | clone_of="$(sed -n "/^[[:space:]]*Clone of:/ s,^[[:space:]]*Clone of:[[:space:]]*,,p" "$vendor_board_dir/board_info.txt")" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 179 | else |
Kyösti Mälkki | 49592da | 2014-05-15 10:06:25 +0300 | [diff] [blame] | 180 | vendor_2nd= |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 181 | board_nice= |
| 182 | rom_package= |
| 183 | rom_protocol= |
| 184 | rom_socketed= |
| 185 | flashrom_support= |
| 186 | vendor_cooperation_score= |
| 187 | vendor_cooperation_page= |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 188 | board_url= |
Vladimir Serbinenko | 2eaf3b4 | 2014-01-19 00:37:23 +0100 | [diff] [blame] | 189 | clone_of= |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 190 | fi |
| 191 | if [ "$last_vendor" != "$vendor" ]; then |
| 192 | last_vendor="$vendor" |
| 193 | if [ "$color" = dddddd ]; then |
| 194 | color=eeeeee |
| 195 | else |
| 196 | color=dddddd |
| 197 | fi |
| 198 | fi |
| 199 | |
Vladimir Serbinenko | 43931f6 | 2015-05-27 23:09:28 +0200 | [diff] [blame] | 200 | 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')" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 201 | |
| 202 | if [ -z "$vendor_nice" ]; then |
| 203 | vendor_nice="$(echo "$vendor" |sed -e "s/\(.\)/\u\1/g")"; |
| 204 | fi |
| 205 | if [ -z "$board_nice" ]; then |
Vladimir Serbinenko | 49fef4b | 2014-01-18 22:18:01 +0100 | [diff] [blame] | 206 | 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')" |
| 207 | fi |
| 208 | if [ -z "$board_nice" ]; then |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 209 | board_nice="$(echo "$board" |sed -e "s,_, ,g;s/\(.\)/\u\1/g")"; |
| 210 | fi |
| 211 | |
Vladimir Serbinenko | 2697c07 | 2014-11-23 10:32:03 +0100 | [diff] [blame] | 212 | venboard="$vendor/$board" |
| 213 | if [ -n "$clone_of" ]; then |
| 214 | venboard="$clone_of" |
Vladimir Serbinenko | 2eaf3b4 | 2014-01-19 00:37:23 +0100 | [diff] [blame] | 215 | fi |
| 216 | |
Vladimir Serbinenko | 2697c07 | 2014-11-23 10:32:03 +0100 | [diff] [blame] | 217 | lastgood="$(echo "$have"| sed -n "/^$(echo "$venboard"|sed 's,/,\\/,g'):/ s,^[^:]*:,,gp")" |
| 218 | |
| 219 | vendor_board_dir="$COREBOOT_DIR"/src/mainboard/"$venboard"; |
| 220 | |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 221 | northbridge="$(sed -n "/^[[:space:]]*select NORTHBRIDGE_/ s,^[[:space:]]*select NORTHBRIDGE_,,p" "$vendor_board_dir/Kconfig")" |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 222 | 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;')" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 223 | |
Timothy Pearson | 4f8ff24 | 2015-12-02 18:07:22 -0600 | [diff] [blame] | 224 | southbridge="$(sed -n "/[[:space:]]*select SOUTHBRIDGE_/ s,[[:space:]]*select SOUTHBRIDGE_\([^ ]*\).*$,\1,p" "$vendor_board_dir/Kconfig"|grep -v SKIP_|grep -v DISABLE_)" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 225 | southbridge_nice="$(echo "$southbridge"|sed 's,_, ,g;s,INTEL,Intel®,g')" |
Vladimir Serbinenko | 970dd9c | 2014-02-05 12:20:58 +0100 | [diff] [blame] | 226 | superio="$(sed -n "/[[:space:]]*select SUPERIO_/ s,[[:space:]]*select SUPERIO_,,p" "$vendor_board_dir/Kconfig"|grep -v OVERRIDE_FANCTL)" |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 227 | superio_nice="$(echo "$superio"|sed 's,_, ,g;s,WINBOND,Winbond™,g;s,ITE,ITE™,g;s,SMSC,SMSC®,g;s,NUVOTON,Nuvoton ,g')" |
| 228 | cpu="$(sed -n "/ select CPU_/ s, select CPU_,,p" "$vendor_board_dir/Kconfig"|grep -v "AMD_AGESA_FAMILY"|grep -v CPU_MICROCODE_CBFS_NONE)" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 229 | case "$cpu" in |
| 230 | ALLWINNER_A10) |
| 231 | cpu_nice="Allwinner A10" |
| 232 | socket_nice="?";; |
| 233 | AMD_GEODE_*) |
| 234 | cpu_nice="AMD Geode™ ${cpu#AMD_GEODE_}"; |
| 235 | socket_nice="—";; |
| 236 | AMD_SOCKET_754) |
| 237 | cpu_nice="AMD Sempron™ / Athlon™ 64 / Turion™ 64"; |
| 238 | socket_nice="Socket 754";; |
| 239 | AMD_SOCKET_ASB2) |
| 240 | cpu_nice="AMD Turion™ II Neo/Athlon™ II Neo"; |
| 241 | socket_nice="ASB2 (BGA812)";; |
| 242 | AMD_SOCKET_S1G1) |
| 243 | cpu_nice="AMD Turion™ / X2 Sempron™"; |
| 244 | socket_nice="Socket S1G1";; |
Timothy Pearson | 4f8ff24 | 2015-12-02 18:07:22 -0600 | [diff] [blame] | 245 | AMD_SOCKET_G34|AMD_SOCKET_G34_NON_AGESA) |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 246 | cpu_nice="AMD Opteron™ Magny-Cours/Interlagos"; |
| 247 | socket_nice="Socket G34";; |
| 248 | AMD_SOCKET_C32|AMD_SOCKET_C32_NON_AGESA) |
| 249 | cpu_nice="AMD Opteron™ Magny-Cours/Interlagos"; |
| 250 | socket_nice="Socket C32";; |
| 251 | AMD_SOCKET_AM2) |
| 252 | cpu_nice="?"; |
| 253 | socket_nice="Socket AM2" |
| 254 | ;; |
| 255 | AMD_SOCKET_AM3) |
| 256 | cpu_nice="AMD Athlon™ 64 / FX / X2"; |
| 257 | socket_nice="Socket AM3" |
| 258 | ;; |
| 259 | AMD_SOCKET_AM2R2) |
| 260 | cpu_nice="AMD Athlon™ 64 / X2 / FX, Sempron™"; |
| 261 | socket_nice="Socket AM2+" |
| 262 | ;; |
| 263 | AMD_SOCKET_F) |
| 264 | cpu_nice="AMD Opteron™"; |
| 265 | socket_nice="Socket F" |
| 266 | ;; |
| 267 | AMD_SOCKET_F_1207) |
| 268 | cpu_nice="AMD Opteron™"; |
| 269 | socket_nice="Socket F 1207" |
| 270 | ;; |
| 271 | AMD_SOCKET_940) |
| 272 | cpu_nice="AMD Opteron™"; |
| 273 | socket_nice="Socket 940" |
| 274 | ;; |
| 275 | AMD_SOCKET_939) |
| 276 | cpu_nice="AMD Athlon™ 64 / FX / X2"; |
| 277 | socket_nice="Socket 939" |
| 278 | ;; |
| 279 | AMD_SC520) |
Alexandru Gagniuc | 0c54bfa | 2014-02-09 14:50:50 -0600 | [diff] [blame] | 280 | cpu_nice="AMD Élan™SC520"; |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 281 | socket_nice="—";; |
| 282 | ARMLTD_CORTEX_A9) |
| 283 | cpu_nice="ARM Cortex A9"; |
| 284 | socket_nice="?";; |
| 285 | DMP_VORTEX86EX) |
| 286 | cpu_nice="DMP VORTEX86EX"; |
| 287 | socket_nice="?";; |
| 288 | SAMSUNG_EXYNOS5420) |
| 289 | cpu_nice="Samsung Exynos 5420"; |
| 290 | socket_nice="?";; |
| 291 | SAMSUNG_EXYNOS5250) |
| 292 | cpu_nice="Samsung Exynos 5250"; |
| 293 | socket_nice="?";; |
| 294 | TI_AM335X) |
| 295 | cpu_nice="TI AM335X"; |
| 296 | socket_nice="?";; |
| 297 | INTEL_SLOT_1) |
| 298 | cpu_nice="Intel® Pentium® II/III, Celeron®"; |
| 299 | socket_nice="Slot 1";; |
| 300 | INTEL_SOCKET_MPGA604) |
| 301 | cpu_nice="Intel® Xeon®"; |
| 302 | socket_nice="Socket 604";; |
| 303 | INTEL_SOCKET_MFCPGA478) |
| 304 | cpu_nice="Intel® Core™ 2 Duo Mobile, Core™ Duo/Solo, Celeron® M"; |
| 305 | socket_nice="Socket mPGA478";; |
| 306 | INTEL_SOCKET_LGA771) |
| 307 | cpu_nice="Intel Xeon™ 5000 series"; |
| 308 | socket_nice="Socket LGA771";; |
| 309 | INTEL_SOCKET_PGA370) |
| 310 | cpu_nice="Intel® Pentium® III-800, Celeron®" |
| 311 | socket_nice="Socket 370";; |
| 312 | INTEL_SOCKET_MPGA479M) |
| 313 | cpu_nice="Intel® Mobile Celeron" |
| 314 | socket_nice="Socket 479" |
| 315 | ;; |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 316 | INTEL_HASWELL) |
| 317 | cpu_nice="Intel® 4th Gen (Haswell) Core i3/i5/i7" |
| 318 | socket_nice="?" |
| 319 | ;; |
Martin Roth | 5856240 | 2015-10-11 10:36:26 +0200 | [diff] [blame] | 320 | INTEL_FSP_RANGELEY) |
| 321 | cpu_nice="Intel® Atom Rangeley (FSP)" |
| 322 | socket_nice="?" |
| 323 | ;; |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 324 | INTEL_SOCKET_RPGA989|INTEL_SOCKET_LGA1155|INTEL_SOCKET_RPGA988B) |
| 325 | socket_nice="`echo $socket | sed 's,INTEL_SOCKET_,Socket ,g'`" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 326 | case $northbridge in |
| 327 | INTEL_HASWELL) |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 328 | cpu_nice="Intel® 4th Gen (Haswell) Core i3/i5/i7";; |
Martin Roth | bf6b83a | 2015-10-11 10:37:02 +0200 | [diff] [blame] | 329 | INTEL_IVYBRIDGE|INTEL_IVYBRIDGE_MRC|INTEL_FSP_IVYBRIDGE) |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 330 | cpu_nice="Intel® 3rd Gen (Ivybridge) Core i3/i5/i7";; |
Alexandru Gagniuc | ecf2eb4 | 2015-09-28 21:39:12 -0700 | [diff] [blame] | 331 | INTEL_SANDYBRIDGE|INTEL_SANDYBRIDGE_MRC) |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 332 | cpu_nice="Intel® 2nd Gen (Sandybridge) Core i3/i5/i7";; |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 333 | *) |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 334 | cpu_nice="$northbridge";; |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 335 | esac |
| 336 | ;; |
| 337 | INTEL_SOCKET_441) |
| 338 | cpu_nice="Intel® Atom™ 230"; |
| 339 | socket_nice="Socket 441";; |
| 340 | INTEL_SOCKET_BGA956) |
Vladimir Serbinenko | f4ea9b2 | 2014-08-16 17:16:20 +0200 | [diff] [blame] | 341 | case $northbridge in |
| 342 | INTEL_GM45) |
| 343 | cpu_nice="Intel® Core 2 Duo (Penryn)" |
| 344 | socket_nice="Socket P";; |
| 345 | *) |
| 346 | cpu_nice="Intel® Pentium® M"; |
| 347 | socket_nice="BGA956";; |
| 348 | esac |
| 349 | ;; |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 350 | INTEL_SOCKET_FC_PGA370) |
| 351 | cpu_nice="Intel® Pentium® III / Celeron®"; |
| 352 | socket_nice="Socket 370" |
| 353 | ;; |
| 354 | INTEL_EP80579) |
| 355 | cpu_nice="Intel® EP80579"; |
| 356 | socket_nice="Intel® EP80579" |
| 357 | ;; |
| 358 | INTEL_SOCKET_MFCBGA479) |
| 359 | cpu_nice="Intel® Mobile Celeron" |
| 360 | socket_nice="Socket 479";; |
| 361 | VIA_C3) |
| 362 | cpu_nice="VIA C3™"; |
| 363 | socket_nice="?" |
| 364 | ;; |
| 365 | VIA_C7) |
| 366 | cpu_nice="VIA C7™"; |
| 367 | socket_nice="?" |
| 368 | ;; |
| 369 | VIA_NANO) |
| 370 | cpu_nice="VIA Nano™"; |
| 371 | socket_nice="?" |
| 372 | ;; |
| 373 | QEMU_X86) |
| 374 | cpu_nice="QEMU x86"; |
| 375 | socket_nice="—" |
| 376 | ;; |
| 377 | "") |
| 378 | case $northbridge in |
| 379 | INTEL_NEHALEM) |
Vladimir Serbinenko | 892728c | 2014-02-05 13:01:47 +0100 | [diff] [blame] | 380 | cpu_nice="Intel® 1st Gen (Nehalem) Core i3/i5/i7" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 381 | socket_nice="?";; |
| 382 | RDC_R8610) |
| 383 | cpu_nice="RDC 8610" |
| 384 | socket_nice="—";; |
Vladimir Serbinenko | fe5dd02 | 2015-05-27 23:50:19 +0200 | [diff] [blame] | 385 | AMD_AGESA_*|AMD_PI_*) |
| 386 | cpu_nice="$northbridge_nice" |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 387 | socket_nice="?";; |
| 388 | *) |
Vladimir Serbinenko | 08c372f | 2014-01-19 14:44:04 +0100 | [diff] [blame] | 389 | cpu_nice="$northbridge" |
| 390 | socket_nice="$northbridge";; |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 391 | esac |
| 392 | ;; |
| 393 | *) |
Vladimir Serbinenko | 08c372f | 2014-01-19 14:44:04 +0100 | [diff] [blame] | 394 | cpu_nice="$cpu" |
| 395 | socket_nice="$cpu";; |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 396 | esac |
| 397 | |
| 398 | echo "|- bgcolor=\"#$color\"" |
Rudolf Marek | a8d089d | 2014-04-27 20:29:10 +0200 | [diff] [blame] | 399 | |
Vladimir Serbinenko | 21a2707 | 2014-01-18 23:37:13 +0100 | [diff] [blame] | 400 | if [ -z "$board_url" ]; then |
Rudolf Marek | a8d089d | 2014-04-27 20:29:10 +0200 | [diff] [blame] | 401 | echo "| $vendor_nice" |
Vladimir Serbinenko | 21a2707 | 2014-01-18 23:37:13 +0100 | [diff] [blame] | 402 | else |
Rudolf Marek | a8d089d | 2014-04-27 20:29:10 +0200 | [diff] [blame] | 403 | echo "| [$board_url $vendor_nice]" |
Vladimir Serbinenko | 21a2707 | 2014-01-18 23:37:13 +0100 | [diff] [blame] | 404 | fi |
Kyösti Mälkki | 49592da | 2014-05-15 10:06:25 +0300 | [diff] [blame] | 405 | if ! [ -z "$vendor_2nd" ]; then |
| 406 | echo "( $vendor_2nd )" |
| 407 | fi |
| 408 | |
Rudolf Marek | a8d089d | 2014-04-27 20:29:10 +0200 | [diff] [blame] | 409 | echo "| [[Board:$vendor/$board|$board_nice]]" |
| 410 | |
Vladimir Serbinenko | 22210dd | 2014-01-17 16:04:25 +0100 | [diff] [blame] | 411 | if [ -z "$lastgood" ]; then |
| 412 | echo "| style=\"background:red\" | Unknown" |
| 413 | else |
| 414 | echo "| style=\"background:lime\" | [[#$vendor/$board|$lastgood]]" |
| 415 | fi |
| 416 | |
| 417 | echo "| $northbridge_nice" |
| 418 | echo "| $southbridge_nice" |
| 419 | echo "| $superio_nice" |
| 420 | echo "| $cpu_nice" |
| 421 | echo "| $socket_nice" |
| 422 | if [ "$rom_package" = "" ]; then |
| 423 | echo "| ?" |
| 424 | else |
| 425 | echo "| $rom_package" |
| 426 | fi |
| 427 | if [ "$rom_protocol" = "" ]; then |
| 428 | echo "| ?" |
| 429 | else |
| 430 | echo "| $rom_protocol" |
| 431 | fi |
| 432 | if [ "$rom_socketed" = "y" ]; then |
| 433 | echo "| style=\"background:lime\" | Y" |
| 434 | elif [ "$rom_socketed" = "n" ]; then |
| 435 | echo "| style=\"background:red\" | N" |
| 436 | elif [ "$flashrom_support" = "variable" ]; then |
| 437 | echo "| ...<sup>7</sup>" |
| 438 | elif [ "$rom_socketed" = "" ]; then |
| 439 | echo "| ?" |
| 440 | else |
| 441 | echo "| $rom_socketed" |
| 442 | fi |
| 443 | if [ "$flashrom_support" = "y" ]; then |
| 444 | echo "| style=\"background:lime\" | Y" |
| 445 | elif [ "$flashrom_support" = "n" ]; then |
| 446 | echo "| style=\"background:red\" | N" |
| 447 | elif [ "$flashrom_support" = "coreboot-only" ]; then |
| 448 | echo "| style=\"background:yellow\" | ...<sup>6</sup>" |
| 449 | elif [ "$flashrom_support" = "" ]; then |
| 450 | echo "| ?" |
| 451 | else |
| 452 | echo "| $flashrom_support" |
| 453 | fi |
| 454 | if [ "$vendor_cooperation_score" = "4" ]; then |
| 455 | echo -n "| style=\"background:lime\"" |
| 456 | elif [ "$vendor_cooperatio_scoren" = "3" ]; then |
| 457 | echo -n "| style=\"background:yellow\"" |
| 458 | fi |
| 459 | if [ "$vendor_cooperation_page" != "" ]; then |
| 460 | echo "| [[$vendor_cooperation_page|$vendor_cooperation_score]]" |
| 461 | elif [ "$vendor_cooperation_score" = "" ]; then |
| 462 | echo "| —" |
| 463 | else |
| 464 | echo "| $vendor_cooperation_score" |
| 465 | fi |
| 466 | echo |
| 467 | done |
| 468 | done |
| 469 | echo "|}" |
| 470 | |
| 471 | cat <<EOF |
| 472 | <small> |
| 473 | <sup>1</sup> ROM chip package (PLCC, DIP32, DIP8, SOIC8).<br /> |
| 474 | <sup>2</sup> ROM chip protocol/type (parallel flash, LPC, FWH, SPI).<br /> |
| 475 | <sup>3</sup> ROM chip socketed (Y/N)?<br /> |
| 476 | <sup>4</sup> Board supported by [http://www.flashrom.org flashrom] (Y/N)?<br /> |
| 477 | <sup>5</sup> Vendor Cooperation Score.<br /> |
| 478 | <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 /> |
| 479 | <sup>7</sup> Some boards have ROM sockets, others are soldered.<br /> |
| 480 | </small> |
| 481 | EOF |
| 482 | |
| 483 | |
| 484 | echo "$detailed" |