Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/29669 )
Change subject: cpu/intel/sandybridge: Add `hyper_threading` option ......................................................................
Patch Set 4:
Patch Set 4:
Patch Set 4:
The ACPI problems were caused by `get_cores_per_package()` function. It was using CPUID 0Bh function, that returns number of logical processes of requested level to EBX. According to Intel's manual, this value is not changed if HT was disabled.
int totalcores = dev_count_cpu(); // this was 2 int cores_per_package = get_cores_per_package(); // this was 4, when it had to be 2 int numcpus = totalcores/cores_per_package; // so this was 0
I updated the `get_cores_per_package` function, now it uses MSR 0x35 instead of CPUID. I hope that doesn't break anything.
AFAIK, 206ax only supports uni-processor systems anyway. I think we can simply drop the `numcpus` loop.
Server/workstation/enthusiast platforms for sandy (LGA2011) seem to use CPUs with CPUID 206dx.