Introduce a weak function to let the platform code provide the processor voltage in 100mV units. Implement the function on Intel platforms using the MSR_PERF_STATUS msr. On other platforms the processor voltage still reads as unknown. Tested on Intel CFL. The CPU voltage is correctly advertised. Change-Id: I31a7efcbeede50d986a1c096a4a59a316e09f825 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/43904 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Jonathan Zhang <jonzhang@fb.com> Reviewed-by: Nico Huber <nico.h@gmx.de>
41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
config CPU_INTEL_COMMON
|
|
bool
|
|
|
|
if CPU_INTEL_COMMON
|
|
|
|
config ENABLE_VMX
|
|
bool "Enable VMX for virtualization"
|
|
default y
|
|
|
|
config SET_IA32_FC_LOCK_BIT
|
|
bool "Set IA32_FEATURE_CONTROL lock bit"
|
|
default y
|
|
help
|
|
Although the Intel manual says you must set the lock bit in addition
|
|
to the VMX bit in order for VMX to work, this isn't strictly true, so
|
|
we have the option to leave it unlocked and allow the OS (e.g. Linux)
|
|
to manage things itself. This is beneficial for testing purposes as
|
|
there is no need to reflash the firmware just to toggle the lock bit.
|
|
However, leaving the lock bit unset will break Windows' detection of
|
|
VMX support and built-in virtualization features like Hyper-V.
|
|
|
|
config SET_MSR_AESNI_LOCK_BIT
|
|
bool "Lock the AES-NI enablement state"
|
|
default y
|
|
help
|
|
This config sets the AES-NI lock bit, if available, to prevent any
|
|
further change of AES-NI enablement. This may be disabled for e.g.
|
|
testing or debugging.
|
|
|
|
config CPU_INTEL_COMMON_TIMEBASE
|
|
bool
|
|
|
|
endif
|
|
|
|
config CPU_INTEL_COMMON_VOLTAGE
|
|
bool
|
|
|
|
config CPU_INTEL_COMMON_SMM
|
|
bool
|
|
default y if CPU_INTEL_COMMON
|