acrn-hypervisor/hypervisor
Peter Fang 28b50463c9 hv: vm: properly reset pCPUs with LAPIC PT enabled during VM shutdown/reset
When a VM is configured with LAPIC PT mode and its vCPU is in x2APIC
mode, the corresponding pCPU needs to be reset during VM shutdown/reset
as its physical LAPIC was used by its guest.

This commit fixes an issue where this reset never happens.
is_lapic_pt_enabled() needs to be called before reset_vcpu() to be able
to correctly reflect a vCPU's APIC mode.

A vCPU with LAPIC PT mode but in xAPIC mode does not require such reset,
since its physical LAPIC was not touched by its guest directly.

v2 -> v3:
- refine edge case detection logic

v1 -> v2:
- use a separate function to return the bitmap of LAPIC PT enabled pCPUs

Tracked-On: #3708
Signed-off-by: Peter Fang <peter.fang@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
Reviewed-by: Jack Ren <jack.ren@intel.com>
2019-09-29 15:12:25 +08:00
..
acpi_parser hv: pci: update "union pci_bdf" 2019-09-25 13:45:39 +08:00
arch/x86 hv: vm: properly reset pCPUs with LAPIC PT enabled during VM shutdown/reset 2019-09-29 15:12:25 +08:00
boot hv: add ACPI support for pre-launched VMs 2019-08-29 10:12:25 +08:00
bsp/ld hv: dmar_parse: remove dynamic memory allocation 2019-05-10 11:33:37 +08:00
common hv: pci: update "union pci_bdf" 2019-09-25 13:45:39 +08:00
debug hv: pci: update "union pci_bdf" 2019-09-25 13:45:39 +08:00
dm hv: pci: update function "bdf_is_equal" 2019-09-25 13:45:39 +08:00
hw hv: vpci: refine vPCI BAR initialization 2019-09-23 11:16:48 +08:00
include hv: pci: update function "bdf_is_equal" 2019-09-25 13:45:39 +08:00
lib hv:tiny cleanup 2019-09-05 09:58:47 +08:00
pre_build hv:merge static_checks.c 2019-05-14 09:16:33 +08:00
release hv: uart: enable early boot uart 2019-07-26 09:10:06 +08:00
scenarios hv: use vcpu_affinity[] in vm_config to support vcpu assignment 2019-09-24 11:58:45 +08:00
scripts HV:Acrn-hypvervisor Root Directory Clean-up and create misc/ folder for Acrn daemons, services and tools. 2019-07-29 22:58:24 +08:00
Kconfig
MAINTAINERS
Makefile hv:fixed compilation error in Ubuntu 2019-09-26 14:03:51 +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/