mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-08 00:17:01 +00:00
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. Then set the VMCS io bitmap to pass-thru the corresponding port io to guest for performance. But malicious guest may reprogram the PIO bar, then hv will pass-thru the reprogramed PIO address to guest. This isn't safe behavior. Here only pass-thru the host physical device PIO to guest. If guest regrogram the PIO bar, just update the virtual bar only. Currently, we don't support PIO bar reprogramming, if guest reprogram the PIO bar, guest should take responsibility itself When init the pass-thru dev PIO bars, set the VMCS io bitmap. setup_io_bitmap is called before init pass-thru dev to initiailize the io bitmap, so don't need to call deny_guest_pio_access when deinit pass-thru dev. v1 -> v2: * set the VMCS io bitmap when init pass-thru devices to migrate redoing allow_guest_pio_access()/deny_guest_pio_access(). Tracked-On: #6508 Signed-off-by: Liu,Junming <junming.liu@intel.com> |
||
---|---|---|
.. | ||
acpi_parser | ||
arch/x86 | ||
boot | ||
bsp/ld | ||
common | ||
debug | ||
dm | ||
hw | ||
include | ||
lib | ||
quirks | ||
release | ||
scripts | ||
MAINTAINERS | ||
Makefile | ||
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/