[coreboot-gerrit] Patch set updated for coreboot: c18bdcd intel/model_2065x: Fix APICID generation.

Vladimir Serbinenko (phcoder@gmail.com) gerrit at coreboot.org
Thu Feb 20 00:51:08 CET 2014


Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5262

-gerrit

commit c18bdcd1745aca8e014015bac6fd11f83500bba4
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date:   Wed Feb 19 22:00:00 2014 +0100

    intel/model_2065x: Fix APICID generation.
    
    APIC IDs always step by 4 on 2065x independently of number of threads.
    
    Change-Id: I5abd4005c8ce1740bb0862d952af66236b609aa8
    Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
 src/cpu/intel/model_2065x/model_2065x_init.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/cpu/intel/model_2065x/model_2065x_init.c b/src/cpu/intel/model_2065x/model_2065x_init.c
index 2cbe906..e73e237 100644
--- a/src/cpu/intel/model_2065x/model_2065x_init.c
+++ b/src/cpu/intel/model_2065x/model_2065x_init.c
@@ -371,11 +371,8 @@ static void intel_cores_init(device_t cpu)
 		/* Build the cpu device path */
 		cpu_path.type = DEVICE_PATH_APIC;
 		cpu_path.apic.apic_id =
-		  cpu->path.apic.apic_id + (i & 1) + ((i & 2) << 1);
-
-		/* Update APIC ID if no hyperthreading */
-		if (threads_per_core == 1)
-			cpu_path.apic.apic_id <<= 1;
+		  cpu->path.apic.apic_id + (i % threads_per_core)
+			+ ((i / threads_per_core) << 2);
 
 		/* Allocate the new cpu device structure */
 		new = alloc_dev(cpu->bus, &cpu_path);



More information about the coreboot-gerrit mailing list