acrn-hypervisor/hypervisor
Liu,Junming 545c006a33 hv: inject #GP if guest tries to reprogram pass-thru dev PIO bar
In current design, when pass-thru dev,
for the PIO bar, need to ensure the guest PIO start address
equals to host PIO start address.

But malicious guest may reprogram the PIO bar,
then hv will pass-thru the reprogramed PIO address to guest.
This isn't safe behavior.
When guest tries to reprogram pass-thru dev PIO bar,
inject #GP to guest directly.

Tracked-On: #6508

Signed-off-by: Liu,Junming <junming.liu@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Fei Li <fei1.li@intel.com>
2021-09-28 08:49:01 +08:00
..
acpi_parser hv: dm: Use new power management data structures 2021-07-15 11:53:54 +08:00
arch/x86 hv: deny the launch of VM if pass-thru PIO bar isn't identical mapping 2021-09-28 08:49:01 +08:00
boot HV: init e820 before init paging 2021-09-27 09:03:15 +08:00
bsp/ld HV: add a specific stack space used in CPU booting 2020-04-29 13:56:40 +08:00
common hv: add priority based scheduler 2021-09-24 09:32:18 +08:00
debug HV: Normalize hypervisor help output format 2021-09-17 11:06:18 +08:00
dm hv: inject #GP if guest tries to reprogram pass-thru dev PIO bar 2021-09-28 08:49:01 +08:00
hw hv: ensure PTM root is always enabled in hw 2021-05-27 09:00:50 +08:00
include hv: deny the launch of VM if pass-thru PIO bar isn't identical mapping 2021-09-28 08:49:01 +08:00
lib HV: replace merge_cmdline api with strncat_s 2020-06-08 13:30:04 +08:00
quirks hv: Avoid using SMBIOS major version 2021-09-08 15:22:12 +08:00
release hv: debug: Add hv console callback to VM-exit event 2021-07-22 10:08:23 +08:00
scripts Makefile: fix wrong reference to board XML and skip binary in diffconfig 2021-09-19 20:23:44 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile hv: add priority based scheduler 2021-09-24 09:32:18 +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/