mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-19 20:22:46 +00:00
doc: update ivshmem feature HLD
With ivshmem doorbell feature enabled, HDL of it shall be updated. Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
This commit is contained in:
parent
5bdc932d65
commit
5c3f6819d2
@ -37,7 +37,7 @@ may only be done between VMs using the same solution.
|
|||||||
ivshmem hv:
|
ivshmem hv:
|
||||||
The **ivshmem hv** implements register virtualization
|
The **ivshmem hv** implements register virtualization
|
||||||
and shared memory mapping in the ACRN hypervisor.
|
and shared memory mapping in the ACRN hypervisor.
|
||||||
It will support notification/interrupt mechanism in the future.
|
Notification/interrupt mechanism is supported.
|
||||||
|
|
||||||
ivshmem dm:
|
ivshmem dm:
|
||||||
The **ivshmem dm** implements register virtualization
|
The **ivshmem dm** implements register virtualization
|
||||||
@ -45,16 +45,32 @@ ivshmem dm:
|
|||||||
It will support notification/interrupt mechanism in the future.
|
It will support notification/interrupt mechanism in the future.
|
||||||
|
|
||||||
ivshmem server:
|
ivshmem server:
|
||||||
A daemon for inter-VM notification capability that will work with **ivshmem
|
With **ivshmem server** support, VMs with ivshmem devices enabled can send
|
||||||
dm**. This is currently **not implemented**, so the inter-VM communication
|
notification (interrupt) to each other by writing the target peer ID (VM ID)
|
||||||
doesn't support a notification mechanism.
|
and vector index to the doorbell register of ivshmem device, **ivshmem server**
|
||||||
|
forwards this notification event to target VM.
|
||||||
|
|
||||||
|
Two types of **ivshmem server** are defined in ACRN:
|
||||||
|
|
||||||
|
User land **ivshmem server** is a daemon in user space to forward notifications
|
||||||
|
for **dm-land** ivshmem devices only, by co-working with **ivshmem dm**.
|
||||||
|
User land **ivshmem server** is not implemented.
|
||||||
|
|
||||||
|
HV-land **ivshmem server** plays similar role with user land **ivshmem server**,
|
||||||
|
but it is a hypervisor module and forwards notification (virtual interrupt) to
|
||||||
|
target VM with **hv-land** ivshmem devices enabled.
|
||||||
|
|
||||||
Ivshmem Device Introduction
|
Ivshmem Device Introduction
|
||||||
***************************
|
***************************
|
||||||
|
|
||||||
The ``ivshmem`` device is a virtual standard PCI device consisting of
|
The ``ivshmem`` device is a virtual standard PCI device consisting of
|
||||||
two Base Address Registers (BARs): BAR0 is used for emulating interrupt
|
three Base Address Registers (BARs):
|
||||||
related registers, and BAR2 is used for exposing shared memory region. The ``ivshmem`` device doesn't support any extra capabilities.
|
|
||||||
|
* BAR0 is used for emulating interrupt related registers,
|
||||||
|
* BAR1 is used for emulating MSIX entry table, and
|
||||||
|
* BAR2 is used for exposing a shared memory region.
|
||||||
|
|
||||||
|
The ``ivshmem`` device supports no extra capabilities.
|
||||||
|
|
||||||
Configuration Space Definition
|
Configuration Space Definition
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user