mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-11 05:39:45 +00:00
doc: update release branch with new docs
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
committed by
David Kinder
parent
d57a213242
commit
0859836756
@@ -20,7 +20,7 @@ software continues to be available under the terms that the author
|
||||
desired.
|
||||
|
||||
Project ACRN uses a BSD-3-Clause license, as found in the
|
||||
`LICENSE <https://github.com/projectacrn/acrn-hypervisor/blob/master/LICENSE>`__
|
||||
:acrn_file:`LICENSE <LICENSE>`
|
||||
in the project's GitHub repo.
|
||||
|
||||
A license tells you what rights you have as a developer, as provided by
|
||||
@@ -221,14 +221,12 @@ following exceptions:
|
||||
8-column wide.
|
||||
|
||||
You can use *checkpatch* from Linux kernel to check the compliance. ACRN
|
||||
maintains a `checkpatch conf`_ which customizes the script to stop warning on
|
||||
maintains a :acrn_file:`.checkpatch.conf <.checkpatch.conf>` file
|
||||
that customizes the script to stop warnings on
|
||||
the exceptions above. Invoke *checkpatch* with the root of ``acrn-hypervisor``
|
||||
repository as the current working directory to make the configurations
|
||||
effective.
|
||||
|
||||
.. _checkpatch conf:
|
||||
https://github.com/projectacrn/acrn-hypervisor/blob/master/.checkpatch.conf
|
||||
|
||||
.. _Contribution workflow:
|
||||
|
||||
Contribution Workflow
|
||||
|
@@ -297,6 +297,17 @@ markup (double backticks) to indicate a ``filename``.
|
||||
|
||||
Don't use items within a single backtick, for example ```word```.
|
||||
|
||||
For references to files that are in the ACRN Hypervisor GitHub tree, a special
|
||||
role can be used that creates a hyperlink to that file. For example a
|
||||
GitHub link to the reST file used to create this document can be generated
|
||||
using ``:acrn_file:`doc/developer-guides/doc_guidelines.rst``` that will show
|
||||
up as :acrn_file:`doc/developer-guides/doc_guidelines.rst`, a link to
|
||||
the “blob” file in the GitHub repo as displayed by GitHub. There’s also an
|
||||
``:acrn_raw:`doc/developer-guides/doc_guidelines.rst``` role that will link
|
||||
to the “raw” uninterpreted file,
|
||||
:acrn_raw:`doc/developer-guides/doc_guidelines.rst` file. (Click
|
||||
on these links to see the difference.)
|
||||
|
||||
.. _internal-linking:
|
||||
|
||||
Internal Cross-Reference Linking
|
||||
|
@@ -37,7 +37,7 @@ may only be done between VMs using the same solution.
|
||||
ivshmem hv:
|
||||
The **ivshmem hv** implements register virtualization
|
||||
and shared memory mapping in the ACRN hypervisor.
|
||||
It will support notification/interrupt mechanism in the future.
|
||||
Notification/interrupt mechanism is supported.
|
||||
|
||||
ivshmem dm:
|
||||
The **ivshmem dm** implements register virtualization
|
||||
@@ -45,16 +45,32 @@ ivshmem dm:
|
||||
It will support notification/interrupt mechanism in the future.
|
||||
|
||||
ivshmem server:
|
||||
A daemon for inter-VM notification capability that will work with **ivshmem
|
||||
dm**. This is currently **not implemented**, so the inter-VM communication
|
||||
doesn't support a notification mechanism.
|
||||
With **ivshmem server** support, VMs with ivshmem devices enabled can send
|
||||
notification (interrupt) to each other by writing the target peer ID (VM ID)
|
||||
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
|
||||
***************************
|
||||
|
||||
The ``ivshmem`` device is a virtual standard PCI device consisting of
|
||||
two Base Address Registers (BARs): BAR0 is used for emulating interrupt
|
||||
related registers, and BAR2 is used for exposing shared memory region. The ``ivshmem`` device doesn't support any extra capabilities.
|
||||
The ``ivshmem`` device is a virtual standard PCI device consisting of
|
||||
three Base Address Registers (BARs):
|
||||
|
||||
* 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
|
||||
|
||||
|
@@ -426,10 +426,11 @@ our case, we use systemd to automatically create the network by default.
|
||||
You can check the files with prefix 50- in the Service VM
|
||||
``/usr/lib/systemd/network/``:
|
||||
|
||||
- `50-acrn.netdev <https://raw.githubusercontent.com/projectacrn/acrn-hypervisor/master/misc/acrnbridge/acrn.netdev>`__
|
||||
- `50-acrn.network <https://raw.githubusercontent.com/projectacrn/acrn-hypervisor/master/misc/acrnbridge/acrn.network>`__
|
||||
- `50-tap0.netdev <https://raw.githubusercontent.com/projectacrn/acrn-hypervisor/master/misc/acrnbridge/tap0.netdev>`__
|
||||
- `50-eth.network <https://raw.githubusercontent.com/projectacrn/acrn-hypervisor/master/misc/acrnbridge/eth.network>`__
|
||||
- :acrn_raw:`50-acrn.netdev <misc/acrnbridge/acrn.netdev>`
|
||||
- :acrn_raw:`50-acrn.netdev <misc/acrnbridge/acrn.netdev>`
|
||||
- :acrn_raw:`50-acrn.network <misc/acrnbridge/acrn.network>`
|
||||
- :acrn_raw:`50-tap0.netdev <misc/acrnbridge/tap0.netdev>`
|
||||
- :acrn_raw:`50-eth.network <misc/acrnbridge/eth.network>`
|
||||
|
||||
When the Service VM is started, run ``ifconfig`` to show the devices created by
|
||||
this systemd configuration:
|
||||
|
Reference in New Issue
Block a user