acrn-hypervisor/devicemodel
Xinyun Liu fb723efa48 dm: check pci_vdev before using
acrn-dm runs to segmentation fault when failed to create VMs with
improper parameters.

If vdevs failed to be created, they are still be freed in deinit(),
and dereference the null pointers leads to segfault.

Signed-off-by: Xinyun Liu <xinyun.liu@intel.com>
Reviewed-by: Yin Fengwei <fengwei.yin@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2018-06-20 11:29:21 +08:00
..
arch/x86 DM: cleanup for header inclusions 2018-06-07 14:35:30 +08:00
bios dm: add vSBL binary in bios directory 2018-06-05 21:51:50 +08:00
core handle failure when add/create vcpu for a VM in DM 2018-06-15 17:12:29 +08:00
hw dm: check pci_vdev before using 2018-06-20 11:29:21 +08:00
include DM: implement emulated npk pci device 2018-06-07 16:11:49 +08:00
samples DM samples: trigger warm reboot on panic 2018-06-19 15:32:38 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile DM: implement emulated npk pci device 2018-06-07 16:11:49 +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/