acrn-hypervisor/devicemodel
Xiaoguang Wu a0ace7254d DM USB: xHCI: fix process logic of TRB which has zero data length
Accoring to xHCI spec, there are some TRBs with zero data length
which used to pass command to xHCI. In the DM, those TRBs should
not be sent to native device through libusb. The logic in the
current implentation fails to process some corner cases, this
patch is used to fix it.

Tracked-On: #1639
Signed-off-by: Xiaoguang Wu <xiaoguang.wu@intel.com>
Reviewed-by: Liang Yang <liang3.yang@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2018-10-31 09:08:53 +08:00
..
arch/x86 DM: wrap ASSERT/DEASSERT IRQ line with Set/Clear IRQ line 2018-10-29 09:26:23 +08:00
bios dm: bios: update vSBL to v1.0 2018-10-25 13:42:12 +08:00
core DM: generate random virtual RPMB key 2018-10-29 11:07:45 +08:00
hw DM USB: xHCI: fix process logic of TRB which has zero data length 2018-10-31 09:08:53 +08:00
include DM: wrap ASSERT/DEASSERT IRQ line with Set/Clear IRQ line 2018-10-29 09:26:23 +08:00
lib dm: add const declaration for dm_strto* APIs 2018-10-24 18:16:37 +08:00
samples DM: correct memory allocation size for UOS 2018-10-31 09:08:13 +08:00
vmcfg devicemodel: Makefile: clean up/refactor some code 2018-10-30 14:25:51 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile devicemodel: Makefile: clean up/refactor some code 2018-10-30 14:25:51 +08:00
README.rst DM USB: involve the libusb 2018-05-29 10:35:05 +08:00

README.rst

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 \
          libusb-devel

* For Fedora 27

.. code-block:: console

   sudo dnf install gcc \
          libuuid-devel \
          openssl-devel \
          libpciaccess-devel \
          libusb-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 \
                    libusb

* On Fedora 27

.. code-block:: console

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

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