mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-03-18 11:04:12 +00:00
With current implementation: vm_init_vdevs only handles the negative error code, while passthru_init returns positive error code when error occurs. This causes unexpected dm crash since the real error is not being handled properly. What this patch does: Change the error code to be negative value in passthru_init because it is common in Linux kernel to return negative value when error occurs. v2 -> v3 * add more comments about the reason to convert the return value v1 -> v2: * add a wrapper API to convert the error returned from pci_system_init to the ERROR we defined in DM * use the defined errno as the return value rather than -1 Signed-off-by: Shiqing Gao <shiqing.gao@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
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/