[coreboot] [PATCH] flashrom - board enable - reconstruct table.

Luc Verhaegen libv at skynet.be
Mon Apr 20 12:12:04 CEST 2009


Flashrom: board_enables: reconstruct table.

This patch restores the pciid based board matching table. It makes this
table readable and hackable again, and the only disadvantage is that the
right margin is way beyond the rather dogmatic 80. All 0x0000 pci ids have
been string replaced by 0 to more easily spot missing ids, and extra
comments have been added to explain how the various entries are used.

Signed-Off-By: Luc Verhaegen <libv at skynet.be>

Index: board_enable.c
===================================================================
--- board_enable.c	(revision 4132)
+++ board_enable.c	(working copy)
@@ -618,9 +618,18 @@
  * the basis of subsystem/card IDs. As not every vendor handles
  * subsystem/card IDs in a sane manner.
  *
- * Keep the second set NULLed if it should be ignored.
+ * Keep the second set NULLed if it should be ignored. Keep the subsystem IDs
+ * NULLed if they don't identify the board fully. But please take care to
+ * provide an as complete set of pci id as possible; autodetection is preferred
+ * behaviour and we would like to make sure that matches are unique.
  *
- * Keep the subsystem IDs NULLed if they don't identify the board fully.
+ * The coreboot ids are used two fold. When a coreboot bios is installed, it
+ * uniquely matches the coreboot board identification string. When a legacy
+ * bios is installed and when autodetection is not possible, these ids can be
+ * used to identify the board through a command line argument.
+ *
+ * When a board is identified through its coreboot ids (in both cases), the
+ * main pci ids will still be matched as a safe-guard.
  */
 struct board_pciid_enable {
 	/* Any device, but make it sensible, like the ISA bridge. */
@@ -629,7 +638,7 @@
 	uint16_t first_card_vendor;
 	uint16_t first_card_device;
 
-	/* Any device, but make it sensible, like 
+	/* Any device, but make it sensible, like
 	 * the host bridge. May be NULL.
 	 */
 	uint16_t second_vendor;
@@ -646,425 +655,38 @@
 };
 
 struct board_pciid_enable board_pciid_enables[] = {
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x0571,
-		.first_card_vendor	= 0x1462,
-		.first_card_device	= 0x7120,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "msi",
-		.lb_part		= "kt4v",
-		.name			= "MSI KT4V",
-		.enable			= board_msi_kt4v,
-	},
-	{
-		.first_vendor		= 0x8086,
-		.first_device		= 0x1a30,
-		.first_card_vendor	= 0x1043,
-		.first_card_device	= 0x8070,
-		.second_vendor		= 0x8086,
-		.second_device		= 0x244b,
-		.second_card_vendor	= 0x1043,
-		.second_card_device	= 0x8028,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "ASUS P4B266",
-		.enable			= ich2_gpio22_raise,
-	},
-	{
-		.first_vendor		= 0x10de,
-		.first_device		= 0x0360,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "gigabyte",
-		.lb_part		= "m57sli",
-		.name			= "GIGABYTE GA-M57SLI-S4",
-		.enable			= it87xx_probe_spi_flash,
-	},
-	{
-		.first_vendor		= 0x10de,
-		.first_device		= 0x03e0,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "gigabyte",
-		.lb_part		= "m61p",
-		.name			= "GIGABYTE GA-M61P-S3",
-		.enable			= it87xx_probe_spi_flash,
-	},
-	{
-		.first_vendor		= 0x1002,
-		.first_device		= 0x4398,
-		.first_card_vendor	= 0x1458,
-		.first_card_device	= 0x5004,
-		.second_vendor		= 0x1002,
-		.second_device		= 0x4385,
-		.second_card_vendor	= 0x1458,
-		.second_card_device	= 0x4385,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "GIGABYTE GA-MA78G-DS3H",
-		.enable			= it87xx_probe_spi_flash,
-	},
-	{
-		.first_vendor		= 0x1039,
-		.first_device		= 0x0761,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "gigabyte",
-		.lb_part		= "2761gxdk",
-		.name			= "GIGABYTE GA-2761GXDK",
-		.enable			= it87xx_probe_spi_flash,
-	},
-	{
-		.first_vendor		= 0x1022,
-		.first_device		= 0x7468,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "iwill",
-		.lb_part		= "dk8_htx",
-		.name			= "IWILL DK8-HTX",
-		.enable			= w83627hf_gpio24_raise_2e,
-	},
-	{
-		.first_vendor		= 0x10de,
-		.first_device		= 0x005e,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "msi",
-		.lb_part		= "k8n-neo3",
-		.name			= "MSI K8N Neo3",
-		.enable			= w83627thf_gpio4_4_raise_4e,
-	},
-	{
-		.first_vendor		= 0x1022,
-		.first_device		= 0x746B,
-		.first_card_vendor	= 0x1022,
-		.first_card_device	= 0x36C0,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "AGAMI",
-		.lb_part		= "ARUMA",
-		.name			= "agami Aruma",
-		.enable			= w83627hf_gpio24_raise_2e,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x3177,
-		.first_card_vendor	= 0x1106,
-		.first_card_device	= 0xAA01,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x3123,
-		.second_card_vendor	= 0x1106,
-		.second_card_device	= 0xAA01,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "VIA EPIA M/MII/...",
-		.enable			= board_via_epia_m,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x3177,
-		.first_card_vendor	= 0x1043,
-		.first_card_device	= 0x80A1,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x3205,
-		.second_card_vendor	= 0x1043,
-		.second_card_device	= 0x8118,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "ASUS A7V8-MX SE",
-		.enable			= board_asus_a7v8x_mx,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x3227,
-		.first_card_vendor	= 0x1106,
-		.first_card_device	= 0xAA01,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x0259,
-		.second_card_vendor	= 0x1106,
-		.second_card_device	= 0xAA01,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "VIA EPIA SP",
-		.enable			= board_via_epia_sp,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x0314,
-		.first_card_vendor	= 0x1106,
-		.first_card_device	= 0xaa08,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x3227,
-		.second_card_vendor	= 0x1106,
-		.second_card_device	= 0xAA08,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "VIA EPIA-CN",
-		.enable			= board_via_epia_sp,
-	},
-	{
-		.first_vendor		= 0x8086,
-		.first_device		= 0x1076,
-		.first_card_vendor	= 0x8086,
-		.first_card_device	= 0x1176,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x3059,
-		.second_card_vendor	= 0x10f1,
-		.second_card_device	= 0x2498,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "Tyan Tomcat K7M",
-		.enable			= board_asus_a7v8x_mx,
-	},
-	{
-		.first_vendor		= 0x10B9,
-		.first_device		= 0x1541,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x10B9,
-		.second_device		= 0x1533,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "asus",
-		.lb_part		= "p5a",
-		.name			= "ASUS P5A",
-		.enable			= board_asus_p5a,
-	},
-	{
-		.first_vendor		= 0x1166,
-		.first_device		= 0x0205,
-		.first_card_vendor	= 0x1014,
-		.first_card_device	= 0x0347,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "ibm",
-		.lb_part		= "x3455",
-		.name			= "IBM x3455",
-		.enable			= board_ibm_x3455,
-	},
-	{
-		.first_vendor		= 0x8086,
-		.first_device		= 0x7110,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x8086,
-		.second_device		= 0x7190,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "epox",
-		.lb_part		= "ep-bx3",
-		.name			= "EPoX EP-BX3",
-		.enable			= board_epox_ep_bx3,
-	},
-	{
-		.first_vendor		= 0x8086,
-		.first_device		= 0x1130,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x105a,
-		.second_device		= 0x0d30,
-		.second_card_vendor	= 0x105a,
-		.second_card_device	= 0x4d33,
-		.lb_vendor		= "acorp",
-		.lb_part		= "6a815epd",
-		.name			= "Acorp 6A815EPD",
-		.enable			= board_acorp_6a815epd,
-	},
-	{
-		.first_vendor		= 0x1022,
-		.first_device		= 0x2090,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x1022,
-		.second_device		= 0x2080,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "artecgroup",
-		.lb_part		= "dbe61",
-		.name			= "Artec Group DBE61",
-		.enable			= board_artecgroup_dbe6x,
-	},
-	{
-		.first_vendor		= 0x1022,
-		.first_device		= 0x2090,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x1022,
-		.second_device		= 0x2080,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "artecgroup",
-		.lb_part		= "dbe62",
-		.name			= "Artec Group DBE62",
-		.enable			= board_artecgroup_dbe6x,
-	},
+	/* first pci-id set [4],          second pci-id set [4],          coreboot id [2],          boardname,                flash enable */
+	{0x1106, 0x0571, 0x1462, 0x7120,       0,      0,      0,      0, "msi",        "kt4v",     "MSI KT4V",               board_msi_kt4v},
+	{0x8086, 0x1a30, 0x1043, 0x8070,  0x8086, 0x244b, 0x1043, 0x8028, NULL,         NULL,       "ASUS P4B266",            ich2_gpio22_raise},
+	{0x10de, 0x0360,      0,      0,       0,      0,      0,      0, "gigabyte",   "m57sli",   "GIGABYTE GA-M57SLI-S4",  it87xx_probe_spi_flash},
+	{0x10de, 0x03e0,      0,      0,       0,      0,      0,      0, "gigabyte",   "m61p",     "GIGABYTE GA-M61P-S3",    it87xx_probe_spi_flash},
+	{0x1002, 0x4398, 0x1458, 0x5004,  0x1002, 0x4385, 0x1458, 0x4385, NULL,         NULL,       "GIGABYTE GA-MA78G-DS3H", it87xx_probe_spi_flash},
+	{0x1039, 0x0761,      0,      0,       0,      0,      0,      0, "gigabyte",   "2761gxdk", "GIGABYTE GA-2761GXDK",   it87xx_probe_spi_flash},
+	{0x1022, 0x7468,      0,      0,       0,      0,      0,      0, "iwill",      "dk8_htx",  "IWILL DK8-HTX",          w83627hf_gpio24_raise_2e},
+	{0x10de, 0x005e,      0,      0,       0,      0,      0,      0, "msi",        "k8n-neo3", "MSI K8N Neo3",           w83627thf_gpio4_4_raise_4e},
+	{0x1022, 0x746B, 0x1022, 0x36C0,       0,      0,      0,      0, "AGAMI",      "ARUMA",    "agami Aruma",            w83627hf_gpio24_raise_2e},
+	{0x1106, 0x3177, 0x1106, 0xAA01,  0x1106, 0x3123, 0x1106, 0xAA01, NULL,         NULL,       "VIA EPIA M/MII/...",     board_via_epia_m},
+	{0x1106, 0x3177, 0x1043, 0x80A1,  0x1106, 0x3205, 0x1043, 0x8118, NULL,         NULL,       "ASUS A7V8-MX SE",        board_asus_a7v8x_mx},
+	{0x1106, 0x3227, 0x1106, 0xAA01,  0x1106, 0x0259, 0x1106, 0xAA01, NULL,         NULL,       "VIA EPIA SP",            board_via_epia_sp},
+	{0x1106, 0x0314, 0x1106, 0xaa08,  0x1106, 0x3227, 0x1106, 0xAA08, NULL,         NULL,       "VIA EPIA-CN",            board_via_epia_sp},
+	{0x8086, 0x1076, 0x8086, 0x1176,  0x1106, 0x3059, 0x10f1, 0x2498, NULL,         NULL,       "Tyan Tomcat K7M",        board_asus_a7v8x_mx},
+	{0x10B9, 0x1541,      0,      0,  0x10B9, 0x1533,      0,      0, "asus",       "p5a",      "ASUS P5A",               board_asus_p5a},
+	{0x1166, 0x0205, 0x1014, 0x0347,       0,      0,      0,      0, "ibm",        "x3455",    "IBM x3455",              board_ibm_x3455},
+	{0x8086, 0x7110,      0,      0,  0x8086, 0x7190,      0,      0, "epox",       "ep-bx3",   "EPoX EP-BX3",            board_epox_ep_bx3},
+	{0x8086, 0x1130,      0,      0,  0x105a, 0x0d30, 0x105a, 0x4d33, "acorp",      "6a815epd", "Acorp 6A815EPD",         board_acorp_6a815epd},
+	{0x1022, 0x2090,      0,      0,  0x1022, 0x2080,      0,      0, "artecgroup", "dbe61",    "Artec Group DBE61",      board_artecgroup_dbe6x},
+	{0x1022, 0x2090,      0,      0,  0x1022, 0x2080,      0,      0, "artecgroup", "dbe62",    "Artec Group DBE62",      board_artecgroup_dbe6x},
 	/* Note: There are >= 2 version of the Kontron 986LCD-M/mITX! */
-	{
-		.first_vendor		= 0x8086,
-		.first_device		= 0x27b8,
-		.first_card_vendor	= 0x0000,
-		.first_card_device	= 0x0000,
-		.second_vendor		= 0x0000,
-		.second_device		= 0x0000,
-		.second_card_vendor	= 0x0000,
-		.second_card_device	= 0x0000,
-		.lb_vendor		= "kontron",
-		.lb_part		= "986lcd-m",
-		.name			= "Kontron 986LCD-M",
-		.enable			= board_kontron_986lcd_m,
-	},
-	{
-		.first_vendor		= 0x10ec,
-		.first_device		= 0x8168,
-		.first_card_vendor	= 0x10ec,
-		.first_card_device	= 0x8168,
-		.second_vendor		= 0x104c,
-		.second_device		= 0x8023,
-		.second_card_vendor	= 0x104c,
-		.second_card_device	= 0x8019,
-		.lb_vendor		= "kontron",
-		.lb_part		= "986lcd-m",
-		.name			= "Kontron 986LCD-M",
-		.enable			= board_kontron_986lcd_m,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x3149,
-		.first_card_vendor	= 0x1565,
-		.first_card_device	= 0x3206,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x3344,
-		.second_card_vendor	= 0x1565,
-		.second_card_device	= 0x1202,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "BioStar P4M80-M4",
-		.enable			= board_biostar_p4m80_m4,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x3227,
-		.first_card_vendor	= 0x1458,
-		.first_card_device	= 0x5001,
-		.second_vendor		= 0x10ec,
-		.second_device		= 0x8139,
-		.second_card_vendor	= 0x1458,
-		.second_card_device	= 0xe000,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "GIGABYTE GA-7VT600",
-		.enable			= board_biostar_p4m80_m4,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x3149,
-		.first_card_vendor	= 0x1462,
-		.first_card_device	= 0x7094,
-		.second_vendor		= 0x10ec,
-		.second_device		= 0x8167,
-		.second_card_vendor	= 0x1462,
-		.second_card_device	= 0x094c,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "MSI K8T Neo2",
-		.enable			= w83627thf_gpio4_4_raise_2e,
-	},
-	{
-		.first_vendor		= 0x1039,
-		.first_device		= 0x5513,
-		.first_card_vendor	= 0x8086,
-		.first_card_device	= 0xd61f,
-		.second_vendor		= 0x1039,
-		.second_device		= 0x6330,
-		.second_card_vendor	= 0x8086,
-		.second_card_device	= 0xd61f,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "Intel Desktop Board D201GLY",
-		.enable			= wbsio_check_for_spi,
-	},
-	{
-		.first_vendor		= 0x8086,
-		.first_device		= 0x2658,
-		.first_card_vendor	= 0x1462,
-		.first_card_device	= 0x7046,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x3044,
-		.second_card_vendor	= 0x1462,
-		.second_card_device	= 0x046d,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-		.name			= "MSI MS-7046",
-		.enable			= ich6_gpio19_raise,
-	},
-	{
-		.first_vendor		= 0x1166,
-		.first_device		= 0x0223,
-		.first_card_vendor	= 0x103c,
-		.first_card_device	= 0x320d,
-		.second_vendor		= 0x102b,
-		.second_device		= 0x0522,
-		.second_card_vendor	= 0x103c,
-		.second_card_device	= 0x31fa,
-		.lb_vendor		= "hp",
-		.lb_part		= "dl145_g3",
-		.name			= "HP DL145 G3",
-		.enable			= board_hp_dl145_g3_enable,
-	},
-	{
-		.first_vendor		= 0x1106,
-		.first_device		= 0x5337,
-		.first_card_vendor	= 0x1458,
-		.first_card_device	= 0xb003,
-		.second_vendor		= 0x1106,
-		.second_device		= 0x287e,
-		.second_card_vendor	= 0x1106,
-		.second_card_device	= 0x337e,
-		.lb_vendor		= "via",
-		.lb_part		= "pc3500g",
-		.name			= "VIA PC3500G",
-		.enable			= it87xx_probe_spi_flash,
-	},
-	{
-		.first_vendor		= 0,
-		.first_device		= 0,
-		.first_card_vendor	= 0,
-		.first_card_device	= 0,
-		.second_vendor		= 0,
-		.second_device		= 0,
-		.second_card_vendor	= 0,
-		.second_card_device	= 0,
-		.lb_vendor		= NULL,
-		.lb_part		= NULL,
-	}	/* Keep this */
+	{0x8086, 0x27b8,      0,      0,       0,      0,      0,      0, "kontron",    "986lcd-m", "Kontron 986LCD-M",       board_kontron_986lcd_m},
+	{0x10ec, 0x8168, 0x10ec, 0x8168,  0x104c, 0x8023, 0x104c, 0x8019, "kontron",    "986lcd-m", "Kontron 986LCD-M",       board_kontron_986lcd_m},
+	{0x1106, 0x3149, 0x1565, 0x3206,  0x1106, 0x3344, 0x1565, 0x1202, NULL,         NULL,       "BioStar P4M80-M4",       board_biostar_p4m80_m4},
+	{0x1106, 0x3227, 0x1458, 0x5001,  0x10ec, 0x8139, 0x1458, 0xe000, NULL,         NULL,       "GIGABYTE GA-7VT600",     board_biostar_p4m80_m4},
+	{0x1106, 0x3149, 0x1462, 0x7094,  0x10ec, 0x8167, 0x1462, 0x094c, NULL,         NULL,       "MSI K8T Neo2",           w83627thf_gpio4_4_raise_2e},
+	{0x1039, 0x5513, 0x8086, 0xd61f,  0x1039, 0x6330, 0x8086, 0xd61f, NULL,         NULL,       "Intel D201GLY",          wbsio_check_for_spi},
+	{0x8086, 0x2658, 0x1462, 0x7046,  0x1106, 0x3044, 0x1462, 0x046d, NULL,         NULL,       "MSI MS-7046",            ich6_gpio19_raise},
+	{0x1166, 0x0223, 0x103c, 0x320d,  0x102b, 0x0522, 0x103c, 0x31fa, "hp",         "dl145_g3", "HP DL145 G3",            board_hp_dl145_g3_enable},
+	{0x1106, 0x5337, 0x1458, 0xb003,  0x1106, 0x287e, 0x1106, 0x337e, "via",        "pc3500g",  "VIA PC3500G",            it87xx_probe_spi_flash},
+	{     0,      0,      0,      0,       0,      0,      0,      0, NULL,         NULL,       NULL,                     NULL}, /* end marker */
 };
 
 void print_supported_boards(void)


More information about the coreboot mailing list