haswell: allow for disabled hyperthreading
There were assumptions being made in the haswell MP and SMM code which assumed the APIC id space was 1:1 w.r.t. cpu number. When hyperthreading is disabled the APIC ids of the logical processors are all even. That means the APIC id space is sparse. Handle this situation. Change-Id: Ibe79ab156c0a171208a77db8a252aa5b73205d6c Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/3353 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
committed by
Ronald G. Minnich
parent
27435d3bcd
commit
66da043e48
@@ -175,6 +175,9 @@ int setup_ap_init(struct bus *cpu_bus, int *max_cpus,
|
||||
/* Returns 0 on success, < 0 on failure. */
|
||||
int start_aps(struct bus *cpu_bus, int max_cpus);
|
||||
void release_aps_for_smm_relocation(int do_parallel_relocation);
|
||||
/* Determine if HyperThreading is disabled. The variable is not valid until
|
||||
* setup_ap_init() has been called. */
|
||||
extern int ht_disabled;
|
||||
#endif
|
||||
|
||||
/* This structure is saved along with the relocated ramstage program in SMM
|
||||
|
Reference in New Issue
Block a user