mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-12-24 06:02:32 +00:00
For post launch VM, ACRN supports PTM under these conditions: 1. HW implements a simple PTM hierarchy: PTM requestor device (ep) is directly connected to PTM root capable root port. Or 2. ptm requestor itself is root complex integrated ep. Currently acrn doesn't support emulation of other type of PTM hiearchy, such as if there is an intermediate PTM node (for example, switch) inbetween PTM requestor and PTM root. To avoid VM touching physical hardware, acrn hv ensures PTM is always enabled in the hardware. During hv's pci init, if root port is ptm capable, hv will enable PTM on that root port. In addition, log error (and don't enable PTM) if ptm root capability is on intermediate node other than root port. V2: - Modify commit messages to clarify the limitation of current PTM implementation. - Fix code that may fail FUSA - Remove pci_ptm_info() and put info log inside pci_enable_ptm_root(). Tracked-On: #5915 Signed-off-by: Rong Liu <rong.l.liu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
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/