acrn-hypervisor/hypervisor
Binbin Wu 98b3d98ac5 hv: vmsr: add IA32_MISC_ENABLE to msr store area
Currently MSR IA32_MISC_ENABLE is passthrough to guest.
However, guest may change the value of this MSR, which will cause issue in hypervisor.
This patch uses VMX MSR store area to isolate the MSR IA32_MISC_ENABLE between guest and host.

TODO:
Some bits of the MSR IA32_MISC_ENABLE is not just per core, but per package.
So need to check if need to prevent guest from setting or clearing these bits that may affect other cores.

Tracked-On: #2834
Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-03-22 13:32:01 +08:00
..
arch/x86 hv: vmsr: add IA32_MISC_ENABLE to msr store area 2019-03-22 13:32:01 +08:00
boot hv: replace MEM_2K with a new macro MAX_BOOTARGS_SIZE for bootargs size 2019-03-21 13:08:15 +08:00
bsp HV: Fix a compiler warning in firmware.h 2019-03-21 10:28:44 +08:00
common hv: replace MEM_2K with a new macro MAX_BOOTARGS_SIZE for bootargs size 2019-03-21 13:08:15 +08:00
debug hv: vmsr: rename msr_num to msr_index in struct msr_store_entry 2019-03-22 13:32:01 +08:00
dm HV: unify the sharing mode and partition mode coding style for similar functions 2019-03-20 12:04:42 +08:00
hw pci.c: assert MSIX table count <= config max 2019-03-08 23:04:12 +08:00
include hv: vmsr: add IA32_MISC_ENABLE to msr store area 2019-03-22 13:32:01 +08:00
lib hv:move 'udelay' to timer.c 2019-03-22 08:38:13 +08:00
release hv:cleanup header files for release folder 2019-02-28 12:52:36 +08:00
scripts hv: remove CONFIG_PLATFORM_[SBL|UEFI] and UEFI_STUB 2019-03-13 10:26:55 +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 hv:move 'udelay' to timer.c 2019-03-22 08:38:13 +08:00
README.rst doc: fix utf-8 punctuation, branding, spelling 2019-03-14 09:13:58 -07: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/