coreboot/src
Patrick Rudolph e1a0e6b738 soc/intel/xeon_sp/skx: Fix CPU init
Move CPU init closer to other SoC and CPX.

FSP-S only is aware of socket 0, thus all cores must rerun all
settings already done by FSP, in order to set up socket 1 as well.

FSP sets the following on socket0:
- Set BIT20 in MSR_VR_MISC_CONFIG
- Set LTR_IIO_DISABLE in MSR_POWER_CTL

Lock the following MSRs:
- MSR_SNC_CONFIG
- MSR_CONFIG_TDP_CONTROL
- MSR_FEATURE_CONFIG
- MSR_TURBO_ACTIVATION_RATIO

Also do the following as done on other SoCs:
- Configure VMX and lock it
- Enable LAPIC TPRs (fixes MWAIT support)
- Honor CONFIG_SET_MSR_AESNI_LOCK_BIT
- Set TCC thermal target as set in devicetree

Fixes 8 second wakeup time from LAPIC interrupts when in MWAIT.

TEST: Booted on ocp/tiogapass to Linux 6.9 with all cores in
      ACPI C6, no boot delay or hung tasks could be found.

Change-Id: If08ef5150b104b0c2329fcb64a0476ce641c831c
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85289
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-12-06 20:58:28 +00:00
..
acpi arch/x86: Enable support for IOAPIC devices 2024-12-06 20:57:44 +00:00
arch arch/x86: Enable support for IOAPIC devices 2024-12-06 20:57:44 +00:00
commonlib commonlib/device_tree: Make END token part of struct_size 2024-12-04 22:23:39 +00:00
console console/i2c_smbus: Allow to send data w/o register offset 2024-07-11 00:06:22 +00:00
cpu cpu/via/c7: Compress ramstage with LZ4 by default 2024-11-21 09:26:17 +00:00
device arch/x86: Enable support for IOAPIC devices 2024-12-06 20:57:44 +00:00
drivers drivers/soundwire/alc711: Add common Kconfig for ALC7xx soundwire codecs 2024-12-06 00:23:27 +00:00
ec ec/dasharo/ec: add Dasharo features 2024-12-06 14:37:46 +00:00
include arch/x86: Enable support for IOAPIC devices 2024-12-06 20:57:44 +00:00
lib tree: Fix cast an object of type 'nullptr_t' to 'uintptr_t' error 2024-10-29 01:41:41 +00:00
mainboard mb/google/rex/var/kanix: Disable FP_MCU based on fw_config 2024-12-06 00:23:56 +00:00
northbridge nb/via/cx700/romstage: Include missing static.h header 2024-11-21 12:25:19 +00:00
sbom src, util: Clean up makefile.inc in text, help & comments 2024-01-26 20:15:18 +00:00
security drivers/pc80/tpm: Remove flag TPM_RDRESP_NEED_DELAY 2024-10-14 15:26:11 +00:00
soc soc/intel/xeon_sp/skx: Fix CPU init 2024-12-06 20:58:28 +00:00
southbridge Treewide: Remove unused header files 2024-11-30 04:44:06 +00:00
superio superio/ite: Add support for IT8625E 2024-11-21 15:49:12 +00:00
vendorcode soc/intel/xeon_sp: Advertise DIMMs on skylake_sp as well 2024-12-05 07:40:35 +00:00
Kconfig Add initial experimental LTO support 2024-08-24 12:50:38 +00:00