[coreboot] [commit] r5277 - trunk/src/cpu/amd/model_10xxx

repository service svn at coreboot.org
Tue Mar 23 16:58:30 CET 2010


Author: oxygene
Date: Tue Mar 23 16:58:29 2010
New Revision: 5277
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5277

Log:
Fix reading HT link offsets.

pci_read_config32 overwrites the real value, use another variable for that.

Signed-off-by: Maximilian Thuermer <maximilian.thuermer at ziti.uni-heidelberg.de>
Acked-by: Patrick Georgi <patrick.georgi at coresystems.de>

Modified:
   trunk/src/cpu/amd/model_10xxx/init_cpus.c

Modified: trunk/src/cpu/amd/model_10xxx/init_cpus.c
==============================================================================
--- trunk/src/cpu/amd/model_10xxx/init_cpus.c	Tue Mar 23 16:53:38 2010	(r5276)
+++ trunk/src/cpu/amd/model_10xxx/init_cpus.c	Tue Mar 23 16:58:29 2010	(r5277)
@@ -702,25 +702,27 @@
  */
 BOOL AMD_CpuFindCapability (u8 node, u8 cap_count, u8 *offset)
 {
+       u32 reg;
 	u32 val;
 
 	/* get start of CPU HT Host Capabilities */
 	val = pci_read_config32(NODE_PCI(node, 0), 0x34);
-	val &= 0xFF;
+       val &= 0xFF;  //reg offset of first link
 
 	cap_count++;
 
 	/* Traverse through the capabilities. */
 	do {
-		val = pci_read_config32(NODE_PCI(node, 0), val);
+               reg = pci_read_config32(NODE_PCI(node, 0), val);
 		/* Is the capability block a HyperTransport capability block? */
-		if ((val & 0xFF) == 0x08) {
+               if ((reg & 0xFF) == 0x08) {
 			/* Is the HT capability block an HT Host Capability? */
-			if ((val & 0xE0000000) == (1 << 29))
+                       if ((reg & 0xE0000000) == (1 << 29))
 				cap_count--;
 		}
-		if (cap_count)
-			val = (val >> 8) & 0xFF;
+
+               if(cap_count)
+                   val = (reg >> 8)  & 0xFF; //update reg offset
 	} while (cap_count && val);
 
 	*offset = (u8) val;




More information about the coreboot mailing list