acrn-hypervisor/hypervisor
Zide Chen f4cce46605 hv: disable SMX (Safer Mode Extension) from guest CPUID
SMX should be disabled on guests.

Actually current code assumes SMX is disabled (no VM exit handler for GETSEC
and bit 2 of IA32_FEATURE_CONTROL is set), and this patch simply explicitly
clear guest CPUID.01H.ECX[6].

Since both CPUID.01H.ECX[5] and CPUID.01H.ECX[6] are cleared from guest CPUID,
MSR IA32_SMM_MONITOR_CTL is not available in guests.

Need to make sure CR4.SMXE is cleared in guests.

Tracked-On: #1867
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-01-04 16:05:50 +08:00
..
arch/x86 hv: disable SMX (Safer Mode Extension) from guest CPUID 2019-01-04 16:05:50 +08:00
boot HV: modularization to refine pm related code. 2018-12-19 13:02:09 +08:00
bsp HV: refine cmdline code, move parts into dbg_cmd 2019-01-02 12:15:53 +08:00
common hv:Change phys_cpu_num to static 2018-12-28 23:26:31 +08:00
debug HV: refine cmdline code, move parts into dbg_cmd 2019-01-02 12:15:53 +08:00
dm hv: fix MISRA-C violations "Pointer param should be declared pointer to const." 2018-12-19 13:03:03 +08:00
include hv: add missing MSRs to unsupported_msrs[] 2019-01-04 16:05:50 +08:00
lib hv: fix violations in md.c md.h and md_internal.h for crypto lib 2019-01-03 09:05:04 +08:00
partition hv: coding style: use the defined data type __packed 2019-01-02 09:35:00 +08:00
release HV: refine cmdline code, move parts into dbg_cmd 2019-01-02 12:15:53 +08:00
scripts Makefile: separate PLATFORM into BOARD+FIRMWARE 2018-12-12 13:23:28 +08:00
Kconfig HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile Makefile: keep files used for debug target 2018-12-24 22:24:27 +08:00
README.rst Documentation: clean-up of isolated README.rst files 2018-11-20 11:09:53 -08:00

README.rst

ACRN Hypervisor
###############

The open source `Project ACRN`_ defines a device hypervisor reference stack and
an architecture for running multiple software subsystems, managed securely, on
a consolidated system by means of a virtual machine manager. It also defines a
reference framework implementation for virtual device emulation, called the
“ACRN Device Model”.

The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on
the bare-metal hardware, and is suitable for a variety of IoT and embedded
device solutions. The ACRN hypervisor addresses the gap that currently exists
between datacenter hypervisors, and hard partitioning hypervisors. The ACRN
hypervisor architecture partitions the system into different functional
domains, with carefully selected guest OS sharing optimizations for IoT and
embedded devices.

You can find out more about Project ACRN on the `Project ACRN documentation`_
website.

.. _`Project ACRN`: https://projectacrn.org
.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor
.. _`Project ACRN documentation`: https://projectacrn.github.io/