summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-07-30 13:30:17 +0000
committerStefan Reinauer <stefan.reinauer@coreboot.org>2009-07-30 13:30:17 +0000
commitbc25f947fe9a365ba89fac19bd24c377c10243aa (patch)
tree50e1d66441dcc18b74aa192c51aac257fe51548f
parent350a0c348e7ca0e3c18add2d6db17a020e76f86e (diff)
downloadflashrom-bc25f947fe9a365ba89fac19bd24c377c10243aa.tar.gz
flashrom-bc25f947fe9a365ba89fac19bd24c377c10243aa.tar.bz2
flashrom-bc25f947fe9a365ba89fac19bd24c377c10243aa.zip
Boards with coreboot have a cbtable containing vendor and board name
Flashrom tries to match these with board enable entries in its database. If no such board enable entry exists because the board doesn't need one, flashrom complains. Silence that complaint. Corresponding to flashrom svn r668. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Slightly updated and Acked-by: Stefan Reinauer <stepan@coresystems.de>
-rw-r--r--board_enable.c11
-rw-r--r--cbtable.c2
-rw-r--r--flash.h1
3 files changed, 12 insertions, 2 deletions
diff --git a/board_enable.c b/board_enable.c
index b094e9b18..a47318f5b 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -1134,7 +1134,14 @@ static struct board_pciid_enable *board_match_coreboot_name(const char *vendor,
if (partmatch)
return partmatch;
- printf("\nUnknown vendor:board from coreboot table or -m option: %s:%s\n\n", vendor, part);
+ if (!partvendor_from_cbtable) {
+ /* Only warn if the mainboard type was not gathered from the
+ * coreboot table. If it was, the coreboot implementor is
+ * expected to fix flashrom, too.
+ */
+ printf("\nUnknown vendor:board from -m option: %s:%s\n\n",
+ vendor, part);
+ }
return NULL;
}
@@ -1187,7 +1194,7 @@ int board_flash_enable(const char *vendor, const char *part)
board = board_match_pci_card_ids();
if (board) {
- printf("Found board \"%s %s\", enabling flash write... ",
+ printf("Disabling flash write protection for board \"%s %s\"... ",
board->vendor_name, board->board_name);
ret = board->enable(board->vendor_name);
diff --git a/cbtable.c b/cbtable.c
index 4bcfa886f..10fe4948a 100644
--- a/cbtable.c
+++ b/cbtable.c
@@ -31,6 +31,7 @@
#include "coreboot_tables.h"
char *lb_part = NULL, *lb_vendor = NULL;
+int partvendor_from_cbtable = 0;
static unsigned long compute_checksum(void *addr, unsigned long length)
{
@@ -150,6 +151,7 @@ static void find_mainboard(struct lb_record *ptr, unsigned long addr)
if (lb_part) {
printf("Overwritten by command line, vendor ID: %s, part ID: %s.\n", lb_vendor, lb_part);
} else {
+ partvendor_from_cbtable = 1;
lb_part = strdup(part);
lb_vendor = strdup(vendor);
}
diff --git a/flash.h b/flash.h
index d8454ff5f..8a80dc5e7 100644
--- a/flash.h
+++ b/flash.h
@@ -402,6 +402,7 @@ int handle_romentries(uint8_t *buffer, uint8_t *content);
/* cbtable.c */
int coreboot_init(void);
extern char *lb_part, *lb_vendor;
+extern int partvendor_from_cbtable;
/* spi.c */
enum spi_controller {