summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2018-11-10 17:44:36 -0600
committerPatrick Georgi <pgeorgi@google.com>2018-11-16 09:51:21 +0000
commitd3d0f07fd58b4037a2f4a13f3fcbe7947ef1ad5d (patch)
treebba099fde5809299c5fb48977993904f4fbf45a7
parentf765d4f275197cfa791d70b2236b7273e4a70c53 (diff)
soc/intel/braswell: add vmx support via CPU_INTEL_COMMON
Braswell allready supported vmx, but offered no mechanism to unset it, nor to set the lock bit required for Windows to recognize virtualization. Enable this functionality by adding CPU_INTEL_COMMON config. Test: build/boot Windows 10 on Braswell ChromeOS device, verify Windows shows virtualization as enabled. Change-Id: I0d39abaeb9eebcceb37dc791df6b06e521fe1992 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/29570 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
-rw-r--r--src/soc/intel/braswell/Kconfig1
-rw-r--r--src/soc/intel/braswell/Makefile.inc1
-rw-r--r--src/soc/intel/braswell/cpu.c4
3 files changed, 6 insertions, 0 deletions
diff --git a/src/soc/intel/braswell/Kconfig b/src/soc/intel/braswell/Kconfig
index 2ba79926ea..50c2802c6d 100644
--- a/src/soc/intel/braswell/Kconfig
+++ b/src/soc/intel/braswell/Kconfig
@@ -47,6 +47,7 @@ config CPU_SPECIFIC_OPTIONS
select GENERIC_GPIO_LIB
select INTEL_GMA_ACPI
select INTEL_GMA_SWSMISCI
+ select CPU_INTEL_COMMON
config VBOOT
select VBOOT_STARTS_IN_ROMSTAGE
diff --git a/src/soc/intel/braswell/Makefile.inc b/src/soc/intel/braswell/Makefile.inc
index 38dcf5af06..ac1bacdd0e 100644
--- a/src/soc/intel/braswell/Makefile.inc
+++ b/src/soc/intel/braswell/Makefile.inc
@@ -7,6 +7,7 @@ subdirs-y += ../../../cpu/x86/smm
subdirs-y += ../../../cpu/x86/tsc
subdirs-y += ../../../cpu/intel/microcode
subdirs-y += ../../../cpu/intel/turbo
+subdirs-y += ../../../cpu/intel/common
romstage-y += gpio_support.c
romstage-y += iosf.c
diff --git a/src/soc/intel/braswell/cpu.c b/src/soc/intel/braswell/cpu.c
index 195dba4aea..9063c2a6ac 100644
--- a/src/soc/intel/braswell/cpu.c
+++ b/src/soc/intel/braswell/cpu.c
@@ -16,6 +16,7 @@
#include <console/console.h>
#include <cpu/cpu.h>
+#include <cpu/intel/common/common.h>
#include <cpu/intel/microcode.h>
#include <cpu/intel/turbo.h>
#include <cpu/x86/cache.h>
@@ -60,6 +61,9 @@ static void soc_core_init(struct device *cpu)
if (lapicid())
enable_turbo();
+ /* Set virtualization based on Kconfig option */
+ set_vmx();
+
/* Set core MSRs */
reg_script_run(core_msr_script);