Evgeny Zinoviev 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:
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.
Somebody please review. I will then fix build problems, which are caused by non-existent CMOS option for some boards or similar minor stuff.
Latest PS is tested on X220.