On 9/22/20 4:42 AM, [email protected] wrote:
> From: Shuo Liu <[email protected]>
>
> Add documentation on the following aspects of ACRN:
>
> 1) A brief introduction on the architecture of ACRN.
> 2) I/O request handling in ACRN.
>
> To learn more about ACRN, please go to ACRN project website
> https://projectacrn.org, or the documentation page
> https://projectacrn.github.io/.
>
> Signed-off-by: Shuo Liu <[email protected]>
> Reviewed-by: Zhi Wang <[email protected]>
> Reviewed-by: Reinette Chatre <[email protected]>
> Cc: Dave Hansen <[email protected]>
> Cc: Sen Christopherson <[email protected]>
> Cc: Dan Williams <[email protected]>
> Cc: Fengwei Yin <[email protected]>
> Cc: Zhi Wang <[email protected]>
> Cc: Zhenyu Wang <[email protected]>
> Cc: Yu Wang <[email protected]>
> Cc: Reinette Chatre <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> ---
> Documentation/virt/acrn/index.rst | 11 +++
> Documentation/virt/acrn/introduction.rst | 40 ++++++++++
> Documentation/virt/acrn/io-request.rst | 97 ++++++++++++++++++++++++
> Documentation/virt/index.rst | 1 +
> MAINTAINERS | 7 ++
> 5 files changed, 156 insertions(+)
> create mode 100644 Documentation/virt/acrn/index.rst
> create mode 100644 Documentation/virt/acrn/introduction.rst
> create mode 100644 Documentation/virt/acrn/io-request.rst
>
> diff --git a/Documentation/virt/acrn/io-request.rst
> b/Documentation/virt/acrn/io-request.rst
> new file mode 100644
> index 000000000000..019dc5978f7c
> --- /dev/null
> +++ b/Documentation/virt/acrn/io-request.rst
> @@ -0,0 +1,97 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +I/O request handling
> +====================
> +
> +An I/O request of a User VM, which is constructed by the hypervisor, is
> +distributed by the ACRN Hypervisor Service Module to an I/O client
> +corresponding to the address range of the I/O request. Details of I/O request
> +handling are described in the following sections.
> +
> +1. I/O request
> +--------------
> +
...
> +
> +2. I/O clients
> +--------------
> +
...
> +
> +3. I/O request state transition
> +-------------------------------
> +
> +The state transitions of a ACRN I/O request are as follows.
of an ACRN
> +
> +::
> +
> + FREE -> PENDING -> PROCESSING -> COMPLETE -> FREE -> ...
> +
> +- FREE: this I/O request slot is empty
> +- PENDING: a valid I/O request is pending in this slot
> +- PROCESSING: the I/O request is being processed
> +- COMPLETE: the I/O request has been processed
> +
> +An I/O request in COMPLETE or FREE state is owned by the hypervisor. HSM and
> +ACRN userspace are in charge of processing the others.
> +
> +4. Processing flow of I/O requests
> +-------------------------------
> +
...
thanks.
--
~Randy