acrn-hypervisor/hypervisor
Zide Chen dcebdb8e98 hv: implement msi.c to handle MSI remapping for vm0
Emulate MSI Capability structure for vm0 in sharing mode:

- it intercepts the IO requests for MSI Capability structure, emulates
  the Message Control word, and bypasses all other I/O requests to the
  physical device.

- criteria to trigger MSI remapping: MSI Enable bit is being changed,
  Message Data/Addr is being changed when MSI Enable is set.

Tracked-On: #1568
Signed-off-by: dongshen <dongsheng.x.zhang@intel.com>
Signed-off-by: Zide Chen <zide.chen@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2018-10-29 14:29:37 +08:00
..
arch/x86 hv: rework the MMIO handler callback hv_mem_io_handler_t arguments 2018-10-29 14:29:37 +08:00
boot hv: more cleanup for pci.h 2018-10-29 14:29:37 +08:00
bsp HV: move default ACPI info to default_acpi_info.h 2018-10-19 22:38:25 +08:00
common HV: Added Initial support for SEP/SOCWATCH profiling 2018-10-26 13:39:07 +08:00
debug hv:cleanup vcpu_id compare with phys_cpu_num 2018-10-29 10:14:25 +08:00
dm hv: implement msi.c to handle MSI remapping for vm0 2018-10-29 14:29:37 +08:00
include hv: implement msi.c to handle MSI remapping for vm0 2018-10-29 14:29:37 +08:00
lib HV:fix "Pointer param should be declared pointer to const" 2018-10-25 13:45:14 +08:00
partition HV: Fix some inconsistent comments in vm_description.c 2018-10-27 22:27:27 +08:00
scripts use genld.sh to generate link_ram.ld 2018-10-12 16:32:25 +08:00
Kconfig HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile hv: implement msi.c to handle MSI remapping for vm0 2018-10-29 14:29:37 +08:00
README.rst initial import 2018-05-11 14:44:28 +08:00

README.rst

Embedded-Hypervisor
###################

This open source embedded hypervisor defines a software architecture for
running multiple software subsystems managed securely on a consolidated
system (by means of a virtual machine manager), and defines a reference
framework Device Model implementation for devices emulation

This embedded hypervisor is type-1 reference hypervisor, running
directly on the system hardware. It can be used for building software
defined cockpit (SDC) or In-Vehicle Experience (IVE) solutions running
on Intel Architecture Apollo Lake platforms. As a reference
implementation, it provides the basis for embedded hypervisor vendors to
build solutions with an open source reference I/O mediation solution,
and provides auto makers a reference software stack for SDC usage.

This embedded hypervisor is able to support both Linux* and Android* as
a Guest OS, managed by the hypervisor, where applications can run.

This embedded hypervisor is a partitioning hypervisor reference stack,
also suitable for non-automotive IoT & embedded device solutions. It
will be addressing the gap that currently exists between datacenter
hypervisors, hard partitioning hypervisors, and select industrial
applications.  Extending the scope of this open source embedded
hypervisor relies on the involvement of community developers like you!