Re: [PATCH v9 01/18] docs: acrn: Introduce ACRN

From: Randy Dunlap
Date: Mon Feb 08 2021 - 15:59:36 EST


Hi--

On 2/6/21 7:10 PM, shuo.a.liu@xxxxxxxxx wrote:
> From: Shuo Liu <shuo.a.liu@xxxxxxxxx>
>
> Add documentation on the following aspects of ACRN:
>
> 1) A brief introduction on the architecture of ACRN.
> 2) I/O request handling in ACRN.
> 3) CPUID functions of ACRN.

> ---

> diff --git a/Documentation/virt/acrn/io-request.rst b/Documentation/virt/acrn/io-request.rst
> new file mode 100644
> index 000000000000..6cc3ea0fa1f5
> --- /dev/null
> +++ b/Documentation/virt/acrn/io-request.rst
> @@ -0,0 +1,97 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +I/O request handling
> +====================
> +
...
> +
> +1. I/O request
> +--------------
> +
> +For each User VM, there is a shared 4-KByte memory region used for I/O requests
> +communication between the hypervisor and Service VM. An I/O request is a
> +256-byte structure buffer, which is 'struct acrn_io_request', that is filled by
> +an I/O handler of the hypervisor when a trapped I/O access happens in a User
> +VM. ACRN userspace in the Service VM first allocates a 4-KByte page and passes
> +the GPA (Guest Physical Address) of the buffer to the hypervisor. The buffer is
> +used as an array of 16 I/O request slots with each I/O request slot being 256
> +bytes. This array is indexed by vCPU ID.

Does this mean that ACRN has a limit of 16 vCPUs ?

thanks.
--
~Randy