mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-12-24 06:02:32 +00:00
(EV_MSC, MSC_TIMESTAMP) is added to each frame just before the SYN event since kernel 4.15. EV_MSC is configured as INPUT_PASS_TO_ALL. In the use case of virtio-input, there is a loop as follows: - A mt frame with (EV_MSC, MSC_TIMESTAMP) is passed to FE. - FE will call virtinput_status to pass (EV_MSC, MSC_TIMESTAMP) back to BE. - BE writes this event to evdev. Because (EV_MSC, MSC_TIMESTAMP) is configured as INPUT_PASS_TO_ALL, it will be written into the event buffer of evdev then be read out by BE without SYN followed. - Each mt frame will introduce one (EV_MSC, MSC_TIMESTAMP). Later the frame becomes larger and larger... This patch fixed above issue by ignoring MSC_TIMESTAMP from guest. Besides that timestamp is added for every status event from guest before writing to evdev. Tracked-On: #1670 Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com> Acked-by: Yu Wang <yu1.wang@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/