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

Re: [PATCH v1 2/2] docs: fusa: Add the requirements for some of the commands of XEN_VERSION


  • To: Ayan Kumar Halder <ayankuma@xxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Mon, 24 Feb 2025 10:01:02 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; 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=JCxOE4yFWjJcXFR/CRox40nk54yNmRP5df1j3SfOMPY=; b=KjsT1V539lOyJJfm/BPlFov/wGqxeORDBoP1cz+ff5ZT8FJg+bzgoqM5jgagsegn20JFEus75TCzWO/CHs+GOOI3L3hi4/fcgkmLjS48JRgcYIujsfTXwGed7j4TVhoGL+Pv1JqR5iPwQnV4TbuTxfytIPskyXoxfgyHxfVtojwYTxl4bBSJfepD4ivyhfv2/fNvXJdT83OMXJuHU1yXbxoTr+Umj84kEnb78AFAVUMYZMZi4QjqH7z8sth7JgJ+53KDPsw2B6kjsny4VUomMK+ymEffFUHndSCEBCqDUHIaB4NoTAnNmejbSbEB47h2l4/xUXNWz8auCXdXjUcaXw==
  • 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=JCxOE4yFWjJcXFR/CRox40nk54yNmRP5df1j3SfOMPY=; b=xtijNiP/LlQc3wSLWj03FvgsXp+Of0P3QTfKI9A9r5eYA5tARc7Pl/Zvx5XFaVpGaBz+kOpaZAIUCo2QRetuD1dHNxOKqRexCRwFBYrd72PqhwPZ7Qrl+MBA7E1bouXxuKBKEiok4kD+SFsEw93nJ2iywkfCO5DOkjpXp2mpmlx7qtHWcNARs2j6Qp2JsMwz8zrCkc58tgyhQegywxBFLncnag2Gy1vtHe4H/EYQeP3ioNczH8Swcl1NOiZf4IHEM/6iiTaZM8ePcGFZS7t3XOJ6c7vKqI6CZu5IJ4DCREfgelUtFI2+wREIyQlD+PNgH3vjdyyFgfe+FeBMxxWtAA==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=ZbZ7rx1tcJfJ9s9qm/CPc4AKo8PiIWbjzERhZDokYyiMdw8MuyorV/bP499aG0wy62aLKTXfFwCi9eF8ZJMm3Ds6zQXuMjetckVZTN1yrluYcd0U243uj3sCT5SkYGV7pWXlCXJ58r0qhd67MlEDl6GmwLzbv5absNLRNN5Z+mzxTPwld2GJAin/J/U01mUzWfV0kuhg5mU0LPSKBONvbDbR62O2EWAn82+NEMeTN+QXbySZkDjvrVwu8U1QW8zkJ3jRzCN1My803I8u3IbL4dZ2MIpn1MqyqJtQg6W3U1vuMfUed0oO6jc3MhGOEdHBfwJtxx8gJokU4YR/ReWgJA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uYQnA+Xj5jmEBd9wwXHv+phZ1TZSsh9lMOzHmuvU+gaY48LoUU+4Hau8totiRaRUumP7f0P8Vyh3i793Y35ZwULf5Rq/n8pMSEovMKe6Kxk6ZLnJrPLrzIz6vyQmNqYVMqaKmxg+djJ2M5/6iwQiVn6+BydmsDx1RCdSdEryR1J6EuSBPtu8IzsQu3IaTlK194ch+k2eCFdtfKjVbwMe6vNtlzOUXregrNmCO9qkdLH3buDIVDOPyBLlW7CsKp0vI3mtH6uRt9VrLgycOrh5faMkk7QpNrg2w7HeNZOfaAYdNGid08W4RglVuffujWqMxRYfQU7OfI8miP0+NLwQ3w==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Artem Mygaiev <artem_mygaiev@xxxxxxxx>
  • Delivery-date: Mon, 24 Feb 2025 10:01:27 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHbZr2QpA/avZzDqk6Vb2qnMvbcCbMtg1KAgB5ZsACACpt7gA==
  • Thread-topic: [PATCH v1 2/2] docs: fusa: Add the requirements for some of the commands of XEN_VERSION

Hi Ayan,

> On 17 Feb 2025, at 17:01, Ayan Kumar Halder <ayankuma@xxxxxxx> wrote:
> 
> 
> On 29/01/2025 08:33, Bertrand Marquis wrote:
>> Hi Ayan,
> 
> Hi Bertrand,
> 
> Apologies for the delay in response. I am working on v2 , but need some 
> clarifications.
> 
>> 
>>> On 14 Jan 2025, at 20:50, Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx> 
>>> wrote:
>>> 
>>> We have written the requirements for some of the commands of the XEN_VERSION
>>> hypercall.
>>> 
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
>>> ---
>>> .../design-reqs/arm64/version_hypercall.rst   | 33 ++++++++
>>> .../reqs/design-reqs/version_hypercall.rst    | 65 +++++++++++++++
>>> docs/fusa/reqs/index.rst                      |  2 +
>>> .../reqs/product-reqs/version_hypercall.rst   | 82 +++++++++++++++++++
>>> 4 files changed, 182 insertions(+)
>>> create mode 100644 docs/fusa/reqs/design-reqs/arm64/version_hypercall.rst
>>> create mode 100644 docs/fusa/reqs/design-reqs/version_hypercall.rst
>>> 
>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/version_hypercall.rst 
>>> b/docs/fusa/reqs/design-reqs/arm64/version_hypercall.rst
>>> new file mode 100644
>>> index 0000000000..1dad2b84c2
>>> --- /dev/null
>>> +++ b/docs/fusa/reqs/design-reqs/arm64/version_hypercall.rst
>>> @@ -0,0 +1,33 @@
>>> +.. SPDX-License-Identifier: CC-BY-4.0
>>> +
>>> +Capabilities
>>> +------------
>>> +
>>> +`XenSwdgn~arm64_capabilities~1`
>>> +
>>> +Description:
>>> +Xen shall have a internal constant string storing "xen-3.0-aarch64".
>> I would rather not have a requirement that will need changing every time.
>> Could we turn this into a description and link this to where we store the 
>> version ?
> 
> I tried the follow the discussion between Julien and you. We do not get the 
> version from the Makefile ie 3.0 is hardcoded.
> 
> So, does the following look ok
> 
> Xen shall have an internal constant string to denote that the cpu is running
> in arm64 mode.

ok for me.

>> 
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +
>>> +Covers:
>>> + - `XenProd~version_hyp_capabilities_cmd~1`
>>> +
>>> +Capabilities AArch32
>>> +--------------------
>>> +
>>> +`XenSwdgn~arm64_capabilities_aarch32~1`
>>> +
>>> +Description:
>>> +Xen shall have a internal constant string storing "xen-3.0-armv7l" when it
>>> +detects that the cpu is running in AArch32 mode.
>>> +
>> Same here and also you have a "when" here and not in previous one.
> Xen shall have a internal constant string to denote that the cpu is running in
> arm32 mode.

ok

>> 
>>> +Rationale:
>>> +
>>> +Comments:
>>> +
>>> +Covers:
>>> + - `XenProd~version_hyp_capabilities_cmd~1`
>>> +
>>> diff --git a/docs/fusa/reqs/design-reqs/version_hypercall.rst 
>>> b/docs/fusa/reqs/design-reqs/version_hypercall.rst
>>> new file mode 100644
>>> index 0000000000..8bb7a66576
>>> --- /dev/null
>>> +++ b/docs/fusa/reqs/design-reqs/version_hypercall.rst
>>> @@ -0,0 +1,65 @@
>>> +.. SPDX-License-Identifier: CC-BY-4.0
>>> +
>>> +Version
>>> +-------
>>> +
>>> +`XenSwdgn~version~1`
>>> +
>>> +Description:
>>> +Xen shall have a internal constant storing the version number coming from 
>>> the
>>> +Makefile.
>> If you go this far i think you should give the name of the constant.
> Xen shall have a internal constant (XEN_VERSION) the version number coming 
> from
> the Makefile.

you are missing a "storing"

>> 
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +
>>> +Covers:
>>> + - `XenProd~version_hyp_version_cmd~1`
>>> +
>>> +Subversion
>>> +----------
>>> +
>>> +`XenSwdgn~subversion~1`
>>> +
>>> +Description:
>>> +Xen shall have a internal constant storing the sub version number coming 
>>> from
>>> +the Makefile.
>> Same here, please name it.
> Xen shall have a internal constant (XEN_SUBVERSION) storing the sub version
> number coming from the Makefile.

ok

>> 
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +
>>> +Covers:
>>> + - `XenProd~version_hyp_version_cmd~1`
>>> +
>>> +Extraversion
>>> +------------
>>> +
>>> +`XenSwdgn~extraversion~1`
>>> +
>>> +Description:
>>> +Xen shall have a internal constant string storing the extraversion coming 
>>> from
>>> +the build environment.
>> Same here.
> Xen shall have a internal constant (XEN_EXTRAVERSION) storing the extraversion
> coming from the build environment.

ok

>> 
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +
>>> +Covers:
>>> + - `XenProd~version_hyp_extraversion_cmd~1`
>>> +
>>> +Changeset
>>> +---------
>>> +
>>> +`XenSwdgn~changeset~1`
>>> +
>>> +Description:
>>> +Xen shall have a internal constant string storing the date, time and git 
>>> hash
>>> +of the last change made to Xen's codebase.
>> Same here.
>> Also i would use the comment here and in previous reqs to give an example.
> Xen shall have a internal constant string (XEN_CHANGESET) storing the date,
> time and git hash of the last change made to Xen's codebase.

ok

>> 
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +
>>> +Covers:
>>> + - `XenProd~version_hyp_changeset_cmd~1`
>>> diff --git a/docs/fusa/reqs/index.rst b/docs/fusa/reqs/index.rst
>>> index d8683edce7..b85af19d19 100644
>>> --- a/docs/fusa/reqs/index.rst
>>> +++ b/docs/fusa/reqs/index.rst
>>> @@ -14,3 +14,5 @@ Requirements documentation
>>>    design-reqs/arm64/generic-timer
>>>    design-reqs/arm64/sbsa-uart
>>>    design-reqs/arm64/hypercall
>>> +   design-reqs/arm64/version_hypercall
>>> +   design-reqs/version_hypercall
>>> diff --git a/docs/fusa/reqs/product-reqs/version_hypercall.rst 
>>> b/docs/fusa/reqs/product-reqs/version_hypercall.rst
>>> index fdb8da04e1..10bc7b6e87 100644
>>> --- a/docs/fusa/reqs/product-reqs/version_hypercall.rst
>>> +++ b/docs/fusa/reqs/product-reqs/version_hypercall.rst
>>> @@ -59,3 +59,85 @@ Covers:
>>> Needs:
>>>  - XenSwdgn
>>> 
>>> +Version command
>>> +---------------
>>> +
>>> +`XenProd~version_hyp_version_cmd~1`
>>> +
>>> +Description:
>>> +Xen shall provide a command (num 0) for  hypercall (num 17) to retrieve 
>>> Xen's
>>> +version in the domain's x0 register.
>> Somehow you will need a req saying that how and hypercall is specified in 
>> general
>> and then one req per hypercall:
> 
> We have a market requirement, if this looks fine
> 
> Xen shall provide an interface for the domains to retrieve Xen's version, type
> and compilation information.

ok

> 
>> Xen hypercall number 0  shall return the Xen version in register 0.
>> I would also prevent saying x0 which would make this aarch64 specific.
> Xen shall provide a command (num 0) for hypercall (num 17) to retrieve Xen's
> version in the domain's register 0.


ok

>> 
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +Xen version is composed of major and minor number.
>> Can't we link to the requirement defining where the version is stored ?
> 
> Yes, this is linked to the design requirement
> 
> `XenSwdgn~version~1` and `XenSwdgn~subversion~1`

Good

Bertrand

> - Ayan
> 
>> 
>>> +
>>> +Covers:
>>> + - `XenMkt~version_hypercall~1`
>>> +
>>> +Needs:
>>> + - XenSwdgn
>>> +
>>> +Extraversion command
>>> +--------------------
>>> +
>>> +`XenProd~version_hyp_extraversion_cmd~1`
>>> +
>>> +Description:
>>> +Xen shall provide a command (num 1) for hypercall (num 17) to copy its
>>> +extraversion in the domain's buffer.
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +Xen's extra version consists of a string passed with 'XEN_VENDORVERSION' 
>>> command
>>> +line parameter while building Xen.
>>> +
>>> +Covers:
>>> + - `XenMkt~version_hypercall~1`
>>> +
>>> +Needs:
>>> + - XenSwdgn
>>> +
>>> +Capabilities command
>>> +--------------------
>>> +
>>> +`XenProd~version_hyp_capabilities_cmd~1`
>>> +
>>> +Description:
>>> +Xen shall provide a command (num 3) for hypercall (num 17) to copy its
>>> +capabilities to the domain's buffer.
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +Capabilities related information is represented by char[1024].
>>> +For Arm64, the capabilities should contain "xen-3.0-aarch64" string.
>>> +
>>> +Covers:
>>> + - `XenMkt~version_hypercall~1`
>>> +
>>> +Needs:
>>> + - XenSwdgn
>>> +
>>> +Changeset command
>>> +-----------------
>>> +
>>> +`XenProd~version_hyp_changeset_cmd~1`
>>> +
>>> +Description:
>>> +Xen shall provide a command (num 4) for hypercall (num 17) to copy 
>>> changeset
>>> +to the domain's buffer.
>>> +
>>> +Rationale:
>>> +
>>> +Comments:
>>> +Changeset is string denoting the date, time and git hash of the last change
>>> +made to Xen's codebase.
>>> +
>>> +Covers:
>>> + - `XenMkt~version_hypercall~1`
>>> +
>>> +Needs:
>>> + - XenSwdgn
>>> -- 
>>> 2.25.1
>>> 
>> Cheers
>> Bertrand





 


Rackspace

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