acrn-hypervisor/hypervisor
Shiqing Gao e8229879a6 hv: use MMIO read/write APIs to access MMIO registers
MMIO registers might be changed at any time.
The changes might not be catched due to compiler optimization
if there is no 'volatile' keyword.

We have defined MMIO read/write APIs to address the above issue.
'volatile' keyword is being used in these defined MMIO read/write
APIs.

This patch updates the MMIO registers access implementation in
'msix.c' to use these defined MMIO read/write APIs.

v1 -> v2:
 * update the algorithm to get the address of high 32-bit of
   'pentry->addr'
   - previous way:
           &(pentry->addr) + 4U
           ===> &(pentry->addr) + 4 * 64 bits
           since 'pentry->addr' is 64 bits
   - new way:
           (char *)&(pentry->addr) + 4U
           ===> &(pentry->addr) + 4 * 8 bits
           since 'char' is 8 bits

Tracked-On: #1711
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-11-05 09:50:28 +08:00
..
arch/x86 hv: revise interfaces description in vlapic 2018-11-03 08:40:14 -07:00
boot hv: mmu: add static paging table allocation for hypervisor 2018-11-02 13:15:48 +08:00
bsp hv: mmu: add static paging table allocation for hypervisor 2018-11-02 13:15:48 +08:00
common hv: mmu: replace dynamic memory allocation in memory 2018-11-02 13:15:48 +08:00
debug HV: change vuart port (used by SOS) to ttyS2 2018-11-02 13:00:54 +08:00
dm hv: use MMIO read/write APIs to access MMIO registers 2018-11-05 09:50:28 +08:00
include hv: revise interfaces description in virq 2018-11-03 08:40:14 -07:00
lib hv: mmu: remove alloc_page() API 2018-11-02 13:15:48 +08:00
partition hv: LAPIC pass-thru support for partition mode of ACRN 2018-11-02 13:48:43 +08:00
scripts kconfig: use defconfig instead of default values in silentoldconfig 2018-10-30 10:49:12 +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: mmu: add static paging table allocation for hypervisor 2018-11-02 13:15:48 +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!