acrn-hypervisor/devicemodel
Wu Zhou c77fb77e78 dm: vm_event: add vm_event support in cmd monitor
This patch added vm_event support in command monitor, so that vm_event
can be sent to a client (e.g., Libvirt) through the monitor.
As the command monitor works in socket server mode, the vm_event sending
process is designed in this way:
1. If a client wishes to receive vm_event, it issues a
   REGISTER_VM_EVENT_CLIENT command to the monitor.
2. Command monitor then handles the REGISTER_VM_EVENT_CLIENT command. If
   it is legitimate, the client is registered as as vm_event receiver.
   The command monitor then send a ACK to the client, and keeps the socket
   connection.
3. When a vm_event is generated, the command monitor send it out through
   the socket connection.
4. Only one event client is allowed.
5. The registration is cancelled on socket disconnection.

Tracked-On: #8547
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
2024-02-01 17:01:31 +08:00
..
arch/x86 devicemodel: Fix spelling and grammar mistakes. 2023-09-08 08:01:13 +08:00
bios OVMF release v3.0 2022-03-31 09:06:34 +08:00
core dm: vm_event: add vm_event support in cmd monitor 2024-02-01 17:01:31 +08:00
hw dm: lpc: only emulate COM ports specified in command line 2024-01-22 10:58:00 +08:00
include dm: vm_event: add vm_event support in cmd monitor 2024-02-01 17:01:31 +08:00
lib Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
log Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
Makefile dm: vm_event: init vm_event 2024-02-01 17:01:31 +08:00
README.rst doc: terminology cleanup in DM readme 2021-11-24 06:29:25 -08:00
samples acrn-config: Reorg config tool folder 2021-01-27 11:08:28 +08:00

ACRN Device Model
#################

Introduction
============

The ACRN Device Model provides **device sharing** capabilities between the
Service VM and post-launched User VMs. It is a component that is used in
conjunction with the `ACRN Hypervisor`_ and is installed within the Service
VM.

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