acrn-hypervisor/devicemodel
Yin Fengwei d3a640da92 DM: add add_e820_entry to update e820 table.
For vSBL boot path, we need to mark the memory vSBL is using
as reserved in e820 table. The add_e820_entry is added to
update the e820 table dynamically.

To simplify the code logic, we assume:
  - vSBL is put the middle of one entry of default e820 table
  - That entry has orignal RAM type in e820 table
  - The e820 table has enough space to hold two more new entries.

If there is more complicated case in the future, we could extend
add_e820_entry to handle it.

Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2018-05-15 17:25:26 +08:00
..
.travis-dockerfiles Add 'findutils' to Fedora-based Docker images 2018-05-15 17:25:26 +08:00
core DM: add add_e820_entry to update e820 table. 2018-05-15 17:25:26 +08:00
hw DM: fix build issue with gcc 4.8.4 on ubuntu 14.04 2018-05-15 17:25:26 +08:00
include DM: add add_e820_entry to update e820 table. 2018-05-15 17:25:26 +08:00
samples Remove 'noxsave' bootarg in dm sample script 2018-05-15 17:25:24 +08:00
tools replace malloc with calloc 2018-05-15 17:25:26 +08:00
.gitignore add .gitignore 2018-05-15 17:19:36 +08:00
.travis.yml Enable Travis CI testing 2018-05-15 17:25:25 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile DM: fix build issue with gcc 4.8.4 on ubuntu 14.04 2018-05-15 17:25:26 +08:00
README.rst README.rst: convert to ReST and add details 2018-05-11 14:44:29 +08:00
license_header initial import 2018-05-11 14:44:28 +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

* 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/