[coreboot] [PATCH] v3: per-device PCI subsystem IDs

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Aug 29 04:32:11 CEST 2008


Prepare for per-device subsystem IDs.
Fix the bus location for Qemu IDE.

This patch only provides the needed infrastructure for per-device
subsystem IDs, it does not hook them up to the PCI core yet, so this
patch is a no-op.
By the way, the on_mainboard property is activating lots of completely
untested code paths in v3, so someone might want to audit them.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: corebootv3-subsystem_id_per_device/mainboard/emulation/qemu-x86/dts
===================================================================
--- corebootv3-subsystem_id_per_device/mainboard/emulation/qemu-x86/dts	(Revision 842)
+++ corebootv3-subsystem_id_per_device/mainboard/emulation/qemu-x86/dts	(Arbeitskopie)
@@ -30,8 +30,11 @@
 		bus at 0 {
 			pci at 0,0 {
 			};
-			pci at 1,0 {
+			pci at 1,1 {
 				/config/("southbridge/intel/i82371eb/ide");
+				subsystem_vendor = "0x15ad";
+				subsystem_device = "0x1976";
+				on_mainboard;
 			};
 		};
 	};
Index: corebootv3-subsystem_id_per_device/util/dtc/flattree.c
===================================================================
--- corebootv3-subsystem_id_per_device/util/dtc/flattree.c	(Revision 842)
+++ corebootv3-subsystem_id_per_device/util/dtc/flattree.c	(Arbeitskopie)
@@ -622,6 +622,12 @@
 		if (streq(prop->name, "on_mainboard")){
 			fprintf(f, "\t.on_mainboard = 1,\n");
 		}
+		if (streq(prop->name, "subsystem_vendor")){
+			fprintf(f, "\t.subsystem_vendor = %s,\n", prop->val.val);
+		}
+		if (streq(prop->name, "subsystem_device")){
+			fprintf(f, "\t.subsystem_device = %s,\n", prop->val.val);
+		}
 		if (streq(prop->name, "enabled")){
 			enabled = 1;
 		}


-- 
http://www.hailfinger.org/





More information about the coreboot mailing list