acrn-hypervisor/hypervisor
Yonghua Huang 4d13ad9d08 hv: enable NX in hypervisor
- enable NX feature in hypervisor:
  1. Set 'XD' bit for all pages, including pages for guests
     when initialize MMU tables in hypervisor.
  2. remove 'XD' bit for pages that contain hypervisor instructions.
  3. enable MSR EFER.NXE,which will enable page access restriction by
     preventing instruction fetches form pages with XD bit set.

- remove "-Wl -z noexecstack" GCC flag option in hypervisor
  Makefile as it would not affect stack attribute in hyervisor,
  which setup stack itself, instead of by loader.

Tracked-On: #1122
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2018-12-12 12:53:18 +08:00
..
arch/x86 hv: enable NX in hypervisor 2018-12-12 12:53:18 +08:00
boot hv: minimize the case of "identifier reuse" 2018-12-07 15:21:39 +08:00
bsp hv: enable NX in hypervisor 2018-12-12 12:53:18 +08:00
common HV: improve e820 interfaces and their usages 2018-12-12 09:12:12 +08:00
debug hv: fix "No prototype for non-static function" 2018-12-04 09:12:49 +08:00
dm hv: avoid to use "++" or "--" operators in an expression 2018-12-07 16:39:58 +08:00
include hv: enable NX in hypervisor 2018-12-12 12:53:18 +08:00
lib hv: fix reference parameter to procedure is reassigned 2018-12-07 16:39:58 +08:00
partition HV: separate e820 related code as e820.c/h 2018-12-12 09:12:12 +08:00
release hv: fixes related to unused API and uninitialized variable 2018-12-04 16:49:49 +08:00
scripts kconfig: use defconfig instead of default values in silentoldconfig 2018-10-30 10:49:12 +08:00
Kconfig
MAINTAINERS
Makefile hv: enable NX in hypervisor 2018-12-12 12:53:18 +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/