Project ACRN hypervisor
Go to file
Long Liu d06e186267 Subject: DM: virtio-heci: Use atomic_xchange in client get/put
With rare probability, the two threads may try to get&put client
together. For client getting, the subsequent thread will get one
destroyed client. For client putting, it will cause acrn-dm get crashed
due to assert be triggered in virtio_heci_client_put.

Signed-off-by: Long Liu <long.liu@intel.com>
Reviewed-by: Shuo Liu <shuo.a.liu@intel.com>
Reviewed-by: Yu Wang <yu1.wang@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-05-08 10:58:47 +08:00
.travis-dockerfiles Add 'findutils' to Fedora-based Docker images 2018-04-10 16:32:40 +08:00
core DM: main loop cleanup 2018-05-04 09:59:13 +08:00
hw Subject: DM: virtio-heci: Use atomic_xchange in client get/put 2018-05-08 10:58:47 +08:00
include dm: virtio-input: implement virtio_input_init 2018-05-07 14:34:24 +08:00
samples Remove 'noxsave' bootarg in dm sample script 2018-04-04 10:48:26 +08:00
tools Bugfix: DM:tools:acrnctl launch script output is binary file 2018-04-26 13:44:49 +08:00
.gitignore add .gitignore 2018-03-16 21:45:43 +08:00
.travis.yml Enable Travis CI testing 2018-04-06 22:30:57 +08:00
license_header initial import 2018-03-07 21:07:43 +08:00
MAINTAINERS update home page information 2018-04-02 10:15:51 +08:00
Makefile dm: virtio-input: add virtio-input data structures 2018-05-07 14:34:24 +08:00
README.rst README.rst: convert to ReST and add details 2018-03-09 16:13:57 +08:00

ACRN Device Model
#################

Introduction
============
The ACRN Device Model provides **device sharing** capabilities between the Service OS and Guest OSs. It is a component that is used in conjunction with the `ACRN Hypervisor`_ and this is installed within the Service OS. You can find out more about Project ACRN on the `Project ACRN documentation`_ website.


Building the Device Model
=========================

Build dependencies
******************

* For Clear Linux

.. code-block:: console

   sudo swupd bundle-add os-clr-on-clr \
          os-utils-gui-dev

* For CentOS

.. code-block:: console

   sudo yum install gcc \
          libuuid-devel \
          openssl-devel \
          libpciaccess-devel

* For Fedora 27

.. code-block:: console

   sudo dnf install gcc \
          libuuid-devel \
          openssl-devel \
          libpciaccess-devel

Build
*****
To build the Device Model

.. code-block:: console

   make

To clean the build artefacts

.. code-block:: console

   make clean

Runtime dependencies
********************

* On CentOS

.. code-block:: console

   sudo yum install openssl-libs \
                    zlib \
                    libpciaccess \
                    libuuid

* On Fedora 27

.. code-block:: console

   sudo dnf install openssl-libs \
                    zlib \
                    libpciaccess \
                    libuuid

.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor
.. _`Project ACRN documentation`: https://projectacrn.github.io/