acrn-hypervisor/hypervisor
Jason Chen CJ c0d4b90415 ptdev: change remapping entry from virtual to physical based
currently, pass-thru devices are managed by per-vm's remapping entries
which is virtual based:
- MSI entry is identified by virt_bdf+msix_index
- INTx entry is identified by virt_pin+vpin_src
it works but it's not a good design for physical resource management, for
example a physical IOAPIC pin could belong to different vm's INTx entries,
the Device Model then must make sure there is no resource conflict from
application's level.

This patch change the design from virtual to physical based:
- MSI entry is identified by phys_bdf+msix_index
- INTx entry is identified by phys_pin
The physical resource is directly managed in hypervisor, a miss adding
entry will be found by hypervisor and return error message with failure.

Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
Acked-by: Xu, Anthony <anthony.xu@intel.com>
2018-05-15 17:25:57 +08:00
..
.travis-dockerfiles Add 'findutils' to Fedora-based Docker images 2018-05-15 17:25:26 +08:00
arch/x86 ptdev: change remapping entry from virtual to physical based 2018-05-15 17:25:57 +08:00
boot ACPI: bug fix on address convertion 2018-05-15 17:25:55 +08:00
bsp efi: clean RuntimeServices code 2018-05-15 17:25:57 +08:00
common ptdev: change remapping entry from virtual to physical based 2018-05-15 17:25:57 +08:00
debug hv: timer: add periodic timer setup support 2018-05-15 17:25:56 +08:00
Documentation UEFI: update acrn.conf and Document 2018-05-15 17:25:26 +08:00
include ptdev: change remapping entry from virtual to physical based 2018-05-15 17:25:57 +08:00
lib sprintf: bug fix in sprintf implemented code 2018-05-15 17:25:27 +08:00
.gitignore .gitignore: add 2 entries to ignore version.h file if present 2018-05-15 17:19:37 +08:00
.travis.yml Travis CI: enable Ubuntu 16.04 and Fedora 26 testing 2018-05-15 17:25:24 +08:00
license_header initial import 2018-05-11 14:44:28 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile HV: code cleanup for cpu state 2018-05-15 17:25:56 +08:00
README.rst initial import 2018-05-11 14:44:28 +08:00

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!