[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] docs: fusa: Add dom0less domain configuration requirements


  • To: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Julien Grall <julien@xxxxxxx>
  • From: Ayan Kumar Halder <ayankuma@xxxxxxx>
  • Date: Wed, 4 Dec 2024 15:22:53 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uDvX3WI++Ebn5mIbPO9jEB/bjvBn2cBlAmji3v+1rzA=; b=DDgVD/GEgP8xtTZ/O+DOhTd2ZBZM/eDxWOSvg1ZuhqbyWYC5fwfxycVvvDMzCLaXBWSckWzjfj8Y7FiHPjA8BBk4HnMH47ycbcJWCOqO9n1lUDL+zaHVrNwkJo717NG6xSfs+gwP3WkctDLstx6S3j3KCA1IEztTNl6yTOF0KkyQy6ueDASXR1R6hhIfG/w8HCy0/m4qx9iiWxRb4pr+dZSGjChTvs0EmmaErA8Hp0MvArVaZghkZ38fPzeVU995GTyz0OPPkaLuRw3VMJqc+5vGTq0pzH0o4Co378IbRscfJ1XuIQOhWUX4jM7A1+VfaOkajl+BsWrSEFdcM7FzYQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NlQCXePat+yJaJfC6Wbh70X3v5SSdgoG4N61Z9Tf3GmLNOfvAw2BlkPd5TUbE7IYGwhulIY323xO/47hUq3Y75vrBqNnwSQ7HAPjpEjpFH5XFcwmyt5HbMB/elky58HBCqWLWbMlKtv/+OlqMSZ9E6BsS/C7yVVY+ZdSknkmcWBi8wynz5RKP6JzJow7P3kzhKzyp6zuk9BFPxdmfoeEIGZACWmF6aO8pd4WAy6OYqxFHxAkId8+WMVBo8b3eOw7DUPPRv+D64rQpscvK+c87v80gohyxKVapYMyjk/9+SWiINgJDHzgfgOTrgmPOzehB/+Q3BMIo57o/XdzOUvg9Q==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Artem Mygaiev <artem_mygaiev@xxxxxxxx>, Munakata Hisao <hisao.munakata.vt@xxxxxxxxxxx>
  • Delivery-date: Wed, 04 Dec 2024 15:23:22 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 19/11/2024 09:04, Bertrand Marquis wrote:
Hi Ayan and Julien,
Hi,

On 16 Nov 2024, at 10:57, Julien Grall <julien@xxxxxxx> wrote:

Hi Ayan,

On 15/11/2024 18:53, Ayan Kumar Halder wrote:
+Assign vCPUs from CPU pool
+--------------------------
+
+`XenSwdgn~arm64_assign_vcpus_cpu_pool~1`
+
+Description:
+Xen shall assign vCPUs to a domain from a CPU pool.
Same remark about the wording. You create a domain with N vCPUs and *assign* a 
CPU pool to a domain.
Ok, so all the previous 3 requirements can be merged into
Xen shall create a domain with N vCPUs and assign a CPU pool to a domain.
Or
Xen shall create a domain with N vCPUs.
I think this one is better because it is not mandatory for the user to select a 
CPU pool and you will have it ...

(which of the two looks better to you if we keep the next requirement ?)
... by the next one.

Comments:
Here N is determined by the device tree configuration provided by the user.
You also assign pCPU to a CPU pool.

But I am not sure about if this requirement is actually necessary given ...

+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~static_domains_configuration~1`
+
+Specify CPU pool scheduler
+--------------------------
+
+`XenSwdgn~arm64_specify_cpu_pool_scheduler~1`
+
+Description:
+Xen shall assign a CPU pool scheduler to a domain.
... you have th is one.
So, we can keep it as it is.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~static_domains_configuration~1`
+
+Assign virtual UART
+-------------------
+
+`XenSwdgn~arm64_assign_virtual_uart~1`
+
+Description:
+Xen shall assign a virtual UART to a domain.
Are we talking about the virtual PL011 or the fake emulation of the real UART 
we do?
virtual PL011.
Is it possible to specify it in the market requirements?

[...]

+
+Static VM definition
+--------------------
+
+`XenMkt~static_vm_definition~1`
+
+Description:
+Xen shall support specifying resources for a domain.
Compare to the other requirements, this is quite a vague. Should we list the 
resources?
The list of resources depends on what the user has provided in the device tree 
configuration.
But the requirement is correct as it is. Xen allows direct assignment of 
devices to domains (ie passthrough).
How do you want to write it ?
This is probably a better question for Bertrand. I don't know how market 
requirements are usually described. I was making a comparison with the other 
where you explicitely listed the expected resources (e.g. CPU, Memory, device).
I definitely agree with Julien here, this requirement is not clear as 
"resources" is not specified or defined.
I would highly suggest to be more specific by listing what we mean by resources 
and maybe even split this requirement in several to make testing and linking 
easier.

As per our discussion , the market requirement should be

Xen shall support assigning peripherals to various domains.

Comment: /* we need to define peripheral */

Peripheral implies an iomem (input output memory) and/or interrupts.

(This aligns with our definition of market requirement where we specify the capabilities of Xen at a high level.)

And the product requirements should be

1. Xen shall support assigning iomem to a domain.

2. Xen shall support forwarding interrupts to a domain.

(Here, we try to describe the interface between Xen and domain. So, domains unterstand how Xen will interact with them.)

The design requirements will be

1. Xen shall create a mapping for iomem in stage 2 page tables.

2. Xen shall route the interrupts to the domains.

3. Xen shall add iommu master (if present) for the iomem, to the domain's device tree.

4. Xen shall add the iomem to its iommu master.

5. Xen shall allow assignment of iomem without iommu protection.

The design requirements are still a bit high level ie it does not describe the details (at register level or granular level) of how Xen creates a mapping (for eg).

The advantage is that the requirements will be linked to the top level functions. It will allow the underneath functions to change without requiring us to modify the requirements.

Besides, it will help us to provide some justification for the missing coverage at the lower level (ie we can say that we don't really care if Xen chooses to  perform a manual translation vs hardware translation. )

- Ayan


Cheers
Bertrand

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.