rpms/flashrom/F-11 flashrom-r710-r931.diff, NONE, 1.1 flashrom.spec, 1.21, 1.22 import.log, 1.9, 1.10 flashrom-r710-r893.diff, 1.1, NONE

Peter Lemenkov peter at fedoraproject.org
Fri Mar 12 12:18:27 UTC 2010


Author: peter

Update of /cvs/pkgs/rpms/flashrom/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4613/F-11

Modified Files:
	flashrom.spec import.log 
Added Files:
	flashrom-r710-r931.diff 
Removed Files:
	flashrom-r710-r893.diff 
Log Message:
svn ver. 931

flashrom-r710-r931.diff:
 am29f040b.c        |  140 -
 b/82802ab.c        |   79 -
 b/Makefile         |  212 ++
 b/README           |   44 
 b/atahpt.c         |   85 +
 b/bitbang_spi.c    |  165 ++
 b/board_enable.c   | 1224 +++++++++--------
 b/buspirate_spi.c  |  319 ++++
 b/cbtable.c        |   38 
 b/chipdrivers.h    |  144 ++
 b/chipset_enable.c |  634 +++++++-
 b/cli_classic.c    |  386 +++++
 b/cli_output.c     |   51 
 b/dediprog.c       |  395 +++++
 b/dmi.c            |  177 ++
 b/drkaiser.c       |   79 +
 b/dummyflasher.c   |   61 
 b/flash.h          |  501 +++---
 b/flashchips.c     | 3800 ++++++++++++++++++++++++++++++++++++++++++++++-------
 b/flashchips.h     |   37 
 b/flashrom.8       |  145 +-
 b/flashrom.c       | 1076 ++++++++++-----
 b/ft2232_spi.c     |  170 +-
 b/gfxnvidia.c      |  104 +
 b/hwaccess.c       |   83 +
 b/hwaccess.h       |  152 ++
 b/ichspi.c         |  252 ++-
 b/internal.c       |  199 --
 b/it87spi.c        |   99 -
 b/jedec.c          |  362 +++--
 b/layout.c         |    4 
 b/m29f400bt.c      |   30 
 b/nic3com.c        |   23 
 b/pcidev.c         |   28 
 b/physmap.c        |   61 
 b/pm49fl00x.c      |   19 
 b/print.c          |  683 ++-------
 b/print_wiki.c     |  575 ++++++++
 b/programmer.c     |   99 +
 b/satasii.c        |   17 
 b/sb600spi.c       |   52 
 b/serial.c         |  231 +++
 b/serprog.c        |  228 ---
 b/sharplhf00l04.c  |  104 -
 b/spi.c            |  889 ------------
 b/spi.h            |    6 
 b/spi25.c          |  992 +++++++++++++
 b/sst28sf040.c     |   50 
 b/sst49lfxxxc.c    |   45 
 b/sst_fwhub.c      |   63 
 b/stm50flw0x0x.c   |  116 -
 b/udelay.c         |   13 
 b/w29ee011.c       |    3 
 b/w39v040c.c       |   51 
 b/w39v080fa.c      |   34 
 b/wbsio_spi.c      |   50 
 en29f002a.c        |  125 -
 m29f002.c          |  126 -
 mx29f002.c         |  100 -
 pm29f002.c         |   56 
 sst49lf040.c       |   72 -
 w49f002u.c         |   47 
 62 files changed, 11358 insertions(+), 4847 deletions(-)

--- NEW FILE flashrom-r710-r931.diff ---
diff --git a/82802ab.c b/82802ab.c
index 28fa177..e63dc10 100644
--- a/82802ab.c
+++ b/82802ab.c
@@ -29,17 +29,18 @@
 #include <string.h>
 #include <stdlib.h>
 #include "flash.h"
+#include "chipdrivers.h"
 
 // I need that Berkeley bit-map printer
 void print_82802ab_status(uint8_t status)
 {
-	printf("%s", status & 0x80 ? "Ready:" : "Busy:");
-	printf("%s", status & 0x40 ? "BE SUSPEND:" : "BE RUN/FINISH:");
-	printf("%s", status & 0x20 ? "BE ERROR:" : "BE OK:");
-	printf("%s", status & 0x10 ? "PROG ERR:" : "PROG OK:");
-	printf("%s", status & 0x8 ? "VP ERR:" : "VPP OK:");
-	printf("%s", status & 0x4 ? "PROG SUSPEND:" : "PROG RUN/FINISH:");
-	printf("%s", status & 0x2 ? "WP|TBL#|WP#,ABORT:" : "UNLOCK:");
+	printf_debug("%s", status & 0x80 ? "Ready:" : "Busy:");
+	printf_debug("%s", status & 0x40 ? "BE SUSPEND:" : "BE RUN/FINISH:");
+	printf_debug("%s", status & 0x20 ? "BE ERROR:" : "BE OK:");
+	printf_debug("%s", status & 0x10 ? "PROG ERR:" : "PROG OK:");
+	printf_debug("%s", status & 0x8 ? "VP ERR:" : "VPP OK:");
+	printf_debug("%s", status & 0x4 ? "PROG SUSPEND:" : "PROG RUN/FINISH:");
+	printf_debug("%s", status & 0x2 ? "WP|TBL#|WP#,ABORT:" : "UNLOCK:");
 }
 
 int probe_82802ab(struct flashchip *flash)
@@ -47,14 +48,11 @@ int probe_82802ab(struct flashchip *flash)
 	chipaddr bios = flash->virtual_memory;
 	uint8_t id1, id2;
 
-#if 0
-	chip_writeb(0xAA, bios + 0x5555);
-	chip_writeb(0x55, bios + 0x2AAA);
-	chip_writeb(0x90, bios + 0x5555);
-#endif
-
-	chip_writeb(0xff, bios);
+	/* Reset to get a clean state */
+	chip_writeb(0xFF, bios);
 	programmer_delay(10);
+
+	/* Enter ID mode */
 	chip_writeb(0x90, bios);
 	programmer_delay(10);
 
@@ -62,13 +60,11 @@ int probe_82802ab(struct flashchip *flash)
 	id2 = chip_readb(bios + 0x01);
 
 	/* Leave ID mode */
-	chip_writeb(0xAA, bios + 0x5555);
-	chip_writeb(0x55, bios + 0x2AAA);
-	chip_writeb(0xF0, bios + 0x5555);
+	chip_writeb(0xFF, bios);
 
 	programmer_delay(10);
 
-	printf_debug("%s: id1 0x%02x, id2 0x%02x\n", __FUNCTION__, id1, id2);
+	printf_debug("%s: id1 0x%02x, id2 0x%02x\n", __func__, id1, id2);
 
 	if (id1 != flash->manufacture_id || id2 != flash->model_id)
 		return 0;
@@ -81,7 +77,6 @@ int probe_82802ab(struct flashchip *flash)
 uint8_t wait_82802ab(chipaddr bios)
 {
 	uint8_t status;
-	uint8_t id1, id2;
 
 	chip_writeb(0x70, bios);
 	if ((chip_readb(bios) & 0x80) == 0) {	// it's busy
@@ -90,49 +85,38 @@ uint8_t wait_82802ab(chipaddr bios)
 
 	status = chip_readb(bios);
 
-	// put another command to get out of status register mode
-
-	chip_writeb(0x90, bios);
-	programmer_delay(10);
-
-	id1 = chip_readb(bios);
-	id2 = chip_readb(bios + 0x01);
-
-	// this is needed to jam it out of "read id" mode
-	chip_writeb(0xAA, bios + 0x5555);
-	chip_writeb(0x55, bios + 0x2AAA);
-	chip_writeb(0xF0, bios + 0x5555);
+	/* Reset to get a clean state */
+	chip_writeb(0xFF, bios);
 
 	return status;
 }
 
-int erase_82802ab_block(struct flashchip *flash, int offset)
+int erase_82802ab_block(struct flashchip *flash, unsigned int page, unsigned int pagesize)
 {
-	chipaddr bios = flash->virtual_memory + offset;
-	chipaddr wrprotect = flash->virtual_registers + offset + 2;
+	chipaddr bios = flash->virtual_memory;
+	chipaddr wrprotect = flash->virtual_registers + page + 2;
 	uint8_t status;
 
 	// clear status register
-	chip_writeb(0x50, bios);
-	//printf("Erase at %p\n", bios);
+	chip_writeb(0x50, bios + page);
+
 	// clear write protect
-	//printf("write protect is at %p\n", (wrprotect));
-	//printf("write protect is 0x%x\n", *(wrprotect));
 	chip_writeb(0, wrprotect);
-	//printf("write protect is 0x%x\n", *(wrprotect));
 
 	// now start it
-	chip_writeb(0x20, bios);
-	chip_writeb(0xd0, bios);
+	chip_writeb(0x20, bios + page);
+	chip_writeb(0xd0, bios + page);
 	programmer_delay(10);
+
 	// now let's see what the register is
-	status = wait_82802ab(flash->virtual_memory);
-	//print_82802ab_status(status);
-	if (check_erased_range(flash, offset, flash->page_size)) {
+	status = wait_82802ab(bios);
+	print_82802ab_status(status);
+
+	if (check_erased_range(flash, page, pagesize)) {
 		fprintf(stderr, "ERASE FAILED!\n");
 		return -1;
 	}
-	printf("DONE BLOCK 0x%x\n", offset);
+	printf("DONE BLOCK 0x%x\n", page);
 
 	return 0;
 }
@@ -145,7 +129,7 @@ int erase_82802ab(struct flashchip *flash)
 	printf("total_size is %d; flash->page_size is %d\n",
 	       total_size, flash->page_size);
 	for (i = 0; i < total_size; i += flash->page_size)
-		if (erase_82802ab_block(flash, i)) {
+		if (erase_82802ab_block(flash, i, flash->page_size)) {
 			fprintf(stderr, "ERASE FAILED!\n");
 			return -1;
 		}
@@ -199,7 +183,7 @@ int write_82802ab(struct flashchip *flash, uint8_t *buf)
 		}
 
 		/* erase block by block and write block by block; this is the most secure way */
-		if (erase_82802ab_block(flash, i * page_size)) {
+		if (erase_82802ab_block(flash, i * page_size, page_size)) {
 			fprintf(stderr, "ERASE FAILED!\n");
 			return -1;
 		}
@@ -207,7 +191,6 @@ int write_82802ab(struct flashchip *flash, uint8_t *buf)
 				   bios + i * page_size, page_size);
 	}
 	printf("\n");
-	protect_jedec(bios);
 	free(tmpbuf);
 
 	return 0;
diff --git a/Makefile b/Makefile
index 881c8f2..9245624 100644
--- a/Makefile
+++ b/Makefile
@@ -25,7 +25,7 @@ INSTALL = install
 DIFF    = diff
 PREFIX  ?= /usr/local
 MANDIR  ?= $(PREFIX)/share/man
-CFLAGS  ?= -Os -Wall -Werror
+CFLAGS  ?= -Os -Wall -Werror -Wshadow
 EXPORTDIR ?= .
 
 OS_ARCH	= $(shell uname)
@@ -33,24 +33,23 @@ ifneq ($(OS_ARCH), SunOS)
 STRIP_ARGS = -s
 endif
 ifeq ($(OS_ARCH), Darwin)
-CFLAGS += -I/usr/local/include
-LDFLAGS += -framework IOKit -framework DirectIO -L/usr/local/lib
+CPPFLAGS += -I/opt/local/include -I/usr/local/include
+LDFLAGS += -framework IOKit -framework DirectIO -L/opt/local/lib -L/usr/local/lib
 endif
 ifeq ($(OS_ARCH), FreeBSD)
-CFLAGS += -I/usr/local/include
+CPPFLAGS += -I/usr/local/include
 LDFLAGS += -L/usr/local/lib
 endif
 
-LIBS += -lpci -lz
+CHIP_OBJS = jedec.o stm50flw0x0x.o w39v040c.o w39v080fa.o sharplhf00l04.o w29ee011.o \
+	sst28sf040.o m29f400bt.o 82802ab.o pm49fl00x.o \
+	sst49lfxxxc.o sst_fwhub.o flashchips.o spi.o spi25.o
 
-OBJS = chipset_enable.o board_enable.o udelay.o jedec.o stm50flw0x0x.o \
-	sst28sf040.o am29f040b.o mx29f002.o m29f400bt.o pm29f002.o \
[...21059 lines suppressed...]
- * (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, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
- */
-
-#include "flash.h"
-
-int write_49f002(struct flashchip *flash, uint8_t *buf)
-{
-	int i;
-	int total_size = flash->total_size * 1024;
-	int page_size = flash->page_size;
-	chipaddr bios = flash->virtual_memory;
-
-	if (erase_chip_jedec(flash)) {
-		fprintf(stderr, "ERASE FAILED!\n");
-		return -1;
-	}
-
-	printf("Programming page: ");
-	for (i = 0; i < total_size / page_size; i++) {
-		printf("%04d at address: 0x%08x ", i, i * page_size);
-		/* Byte-wise writing of 'page_size' bytes. */
-		write_sector_jedec(bios, buf + i * page_size,
-				   bios + i * page_size, page_size);
-		printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
-		fflush(stdout);
-	}
-	printf("\n");
-
-	return 0;
-}
diff --git a/wbsio_spi.c b/wbsio_spi.c
index 6b9425f..ca39322 100644
--- a/wbsio_spi.c
+++ b/wbsio_spi.c
@@ -2,6 +2,7 @@
  * This file is part of the flashrom project.
  *
  * Copyright (C) 2008 Peter Stuge <peter at stuge.se>
+ * Copyright (C) 2009,2010 Carl-Daniel Hailfinger
  *
  * 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
@@ -19,6 +20,7 @@
 
 #include <string.h>
 #include "flash.h"
+#include "chipdrivers.h"
 #include "spi.h"
 
 #define WBSIO_PORT1	0x2e
@@ -34,18 +36,18 @@ static uint16_t wbsio_get_spibase(uint16_t port)
 	w836xx_ext_enter(port);
 	id = sio_read(port, 0x20);
 	if (id != 0xa0) {
-		fprintf(stderr, "\nW83627 not found at 0x%x, id=0x%02x want=0xa0.\n", port, id);
+		msg_perr("\nW83627 not found at 0x%x, id=0x%02x want=0xa0.\n", port, id);
 		goto done;
 	}
 
 	if (0 == (sio_read(port, 0x24) & 2)) {
-		fprintf(stderr, "\nW83627 found at 0x%x, but SPI pins are not enabled. (CR[0x24] bit 1=0)\n", port);
+		msg_perr("\nW83627 found at 0x%x, but SPI pins are not enabled. (CR[0x24] bit 1=0)\n", port);
 		goto done;
 	}
 
 	sio_write(port, 0x07, 0x06);
 	if (0 == (sio_read(port, 0x30) & 1)) {
-		fprintf(stderr, "\nW83627 found at 0x%x, but SPI is not enabled. (LDN6[0x30] bit 0=0)\n", port);
+		msg_perr("\nW83627 found at 0x%x, but SPI is not enabled. (LDN6[0x30] bit 0=0)\n", port);
 		goto done;
 	}
 
@@ -62,7 +64,7 @@ int wbsio_check_for_spi(const char *name)
 		if (0 == (wbsio_spibase = wbsio_get_spibase(WBSIO_PORT2)))
 			return 1;
 
-	printf_debug("\nwbsio_spibase = 0x%x\n", wbsio_spibase);
+	msg_pspew("\nwbsio_spibase = 0x%x\n", wbsio_spibase);
 
 	buses_supported |= CHIP_BUSTYPE_SPI;
 	spi_controller = SPI_CONTROLLER_WBSIO;
@@ -96,42 +98,42 @@ int wbsio_spi_send_command(unsigned int writecnt, unsigned int readcnt,
 	int i;
 	uint8_t mode = 0;
 
-	printf_debug("%s:", __func__);
+	msg_pspew("%s:", __func__);
 
 	if (1 == writecnt && 0 == readcnt) {
 		mode = 0x10;
 	} else if (2 == writecnt && 0 == readcnt) {
 		OUTB(writearr[1], wbsio_spibase + 4);
-		printf_debug(" data=0x%02x", writearr[1]);
+		msg_pspew(" data=0x%02x", writearr[1]);
 		mode = 0x20;
 	} else if (1 == writecnt && 2 == readcnt) {
 		mode = 0x30;
 	} else if (4 == writecnt && 0 == readcnt) {
-		printf_debug(" addr=0x%02x", (writearr[1] & 0x0f));
+		msg_pspew(" addr=0x%02x", (writearr[1] & 0x0f));
 		for (i = 2; i < writecnt; i++) {
 			OUTB(writearr[i], wbsio_spibase + i);
-			printf_debug("%02x", writearr[i]);
+			msg_pspew("%02x", writearr[i]);
 		}
 		mode = 0x40 | (writearr[1] & 0x0f);
 	} else if (5 == writecnt && 0 == readcnt) {
-		printf_debug(" addr=0x%02x", (writearr[1] & 0x0f));
+		msg_pspew(" addr=0x%02x", (writearr[1] & 0x0f));
 		for (i = 2; i < 4; i++) {
 			OUTB(writearr[i], wbsio_spibase + i);
-			printf_debug("%02x", writearr[i]);
+			msg_pspew("%02x", writearr[i]);
 		}
 		OUTB(writearr[i], wbsio_spibase + i);
-		printf_debug(" data=0x%02x", writearr[i]);
+		msg_pspew(" data=0x%02x", writearr[i]);
 		mode = 0x50 | (writearr[1] & 0x0f);
 	} else if (8 == writecnt && 0 == readcnt) {
-		printf_debug(" addr=0x%02x", (writearr[1] & 0x0f));
+		msg_pspew(" addr=0x%02x", (writearr[1] & 0x0f));
 		for (i = 2; i < 4; i++) {
 			OUTB(writearr[i], wbsio_spibase + i);
-			printf_debug("%02x", writearr[i]);
+			msg_pspew("%02x", writearr[i]);
 		}
-		printf_debug(" data=0x");
+		msg_pspew(" data=0x");
 		for (; i < writecnt; i++) {
 			OUTB(writearr[i], wbsio_spibase + i);
-			printf_debug("%02x", writearr[i]);
+			msg_pspew("%02x", writearr[i]);
 		}
 		mode = 0x60 | (writearr[1] & 0x0f);
 	} else if (5 == writecnt && 4 == readcnt) {
@@ -142,17 +144,17 @@ int wbsio_spi_send_command(unsigned int writecnt, unsigned int readcnt,
 		 */
 		;
 	} else if (4 == writecnt && readcnt >= 1 && readcnt <= 4) {
-		printf_debug(" addr=0x%02x", (writearr[1] & 0x0f));
+		msg_pspew(" addr=0x%02x", (writearr[1] & 0x0f));
 		for (i = 2; i < writecnt; i++) {
 			OUTB(writearr[i], wbsio_spibase + i);
-			printf_debug("%02x", writearr[i]);
+			msg_pspew("%02x", writearr[i]);
 		}
 		mode = ((7 + readcnt) << 4) | (writearr[1] & 0x0f);
 	}
-	printf_debug(" cmd=%02x mode=%02x\n", writearr[0], mode);
+	msg_pspew(" cmd=%02x mode=%02x\n", writearr[0], mode);
 
 	if (!mode) {
-		fprintf(stderr, "%s: unsupported command type wr=%d rd=%d\n",
+		msg_perr("%s: unsupported command type wr=%d rd=%d\n",
 			__func__, writecnt, readcnt);
 		/* Command type refers to the number of bytes read/written. */
 		return SPI_INVALID_LENGTH;
@@ -165,12 +167,12 @@ int wbsio_spi_send_command(unsigned int writecnt, unsigned int readcnt,
 	if (!readcnt)
 		return 0;
 
-	printf_debug("%s: returning data =", __func__);
+	msg_pspew("%s: returning data =", __func__);
 	for (i = 0; i < readcnt; i++) {
 		readarr[i] = INB(wbsio_spibase + 4 + i);
-		printf_debug(" 0x%02x", readarr[i]);
+		msg_pspew(" 0x%02x", readarr[i]);
 	}
-	printf_debug("\n");
+	msg_pspew("\n");
 	return 0;
 }
 
@@ -179,7 +181,7 @@ int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len)
 	int size = flash->total_size * 1024;
 
 	if (size > 1024 * 1024) {
-		fprintf(stderr, "%s: Winbond saved on 4 register bits so max chip size is 1024 KB!\n", __func__);
+		msg_perr("%s: Winbond saved on 4 register bits so max chip size is 1024 KB!\n", __func__);
 		return 1;
 	}
 
@@ -191,7 +193,7 @@ int wbsio_spi_write_1(struct flashchip *flash, uint8_t *buf)
 	int size = flash->total_size * 1024;
 
 	if (size > 1024 * 1024) {
-		fprintf(stderr, "%s: Winbond saved on 4 register bits so max chip size is 1024 KB!\n", __func__);
+		msg_perr("%s: Winbond saved on 4 register bits so max chip size is 1024 KB!\n", __func__);
 		return 1;
 	}
 


Index: flashrom.spec
===================================================================
RCS file: /cvs/pkgs/rpms/flashrom/F-11/flashrom.spec,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -p -r1.21 -r1.22
--- flashrom.spec	8 Feb 2010 10:05:52 -0000	1.21
+++ flashrom.spec	12 Mar 2010 12:18:27 -0000	1.22
@@ -1,15 +1,15 @@
-%global svnrev 893
+%global svnrev 931
 
 Summary:	Simple program for reading/writing BIOS chips content
 Name:		flashrom
 Version:	0.9.1
-Release:	2.svn%{svnrev}%{?dist}
+Release:	3.svn%{svnrev}%{?dist}
 License:	GPLv2
 Group:		Applications/System
 URL:		http://flashrom.org
 Source0:	http://qa.coreboot.org/releases/%{name}-%{version}.tar.bz2
 Source1:	http://qa.coreboot.org/releases/%{name}-%{version}.tar.bz2.asc
-Patch0:		flashrom-r710-r893.diff
+Patch0:		flashrom-r710-r931.diff
 BuildRequires:	pciutils-devel
 BuildRequires:	zlib-devel
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -42,6 +42,18 @@ CFLAGS="%{optflags}" %{__make} %{?_smp_m
 %{_mandir}/man8/%{name}.*
 
 %changelog
+* Fri Mar 12 2010 Peter Lemenkov <lemenkov at gmail.com> 0.9.1-3.svn931
+- Updated to latest svn ver. 931
+- ASUS A7V8X-X board
+- MS-7202 board
+- Asus M2NBP-VM CSM board
+- HP Vectra VL420SFF board
+- Eon EN29F010 chip
+- Abit IP35 Pro board
+- HP Vectra VL400 board
+- Intel E28F004S5 flash chip
+- Lots of bugfixes
+
 * Mon Feb  8 2010 Peter Lemenkov <lemenkov at gmail.com> 0.9.1-2.svn893
 - Updated to latest svn ver. 893
 - ST M29W512B chip


Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/flashrom/F-11/import.log,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -r1.9 -r1.10
--- import.log	8 Feb 2010 10:05:52 -0000	1.9
+++ import.log	12 Mar 2010 12:18:27 -0000	1.10
@@ -7,3 +7,4 @@ flashrom-0-0_18_20090414svn4107_fc10:HEA
 flashrom-0_9_0-1_fc10:F-11:flashrom-0.9.0-1.fc10.src.rpm:1241503656
 flashrom-0_9_1-1_fc11:F-11:flashrom-0.9.1-1.fc11.src.rpm:1252055761
 flashrom-0_9_1-2_svn893_fc12:F-11:flashrom-0.9.1-2.svn893.fc12.src.rpm:1265623512
+flashrom-0_9_1-3_svn931_fc12:F-11:flashrom-0.9.1-3.svn931.fc12.src.rpm:1268396225


--- flashrom-r710-r893.diff DELETED ---



More information about the scm-commits mailing list