Hi Ayan, > On 27 Feb 2025, at 16:09, Ayan Kumar Halder <ayan.kumar.hal...@amd.com> wrote: > > We have written the requirements for some of the commands of the XEN_VERSION > hypercall. > > Signed-off-by: Ayan Kumar Halder <ayan.kumar.hal...@amd.com> > --- > Changes from - > > v1 - 1. Reworded the requirement so as to avoid mentioining variable names > or hardcoded strings. Otherwise, one would need to change the requirement > each time the code changes. > > .../fusa/reqs/design-reqs/arm64/hypercall.rst | 6 +- > .../design-reqs/arm64/version_hypercall.rst | 34 ++++++++ > .../reqs/design-reqs/version_hypercall.rst | 65 +++++++++++++++ > docs/fusa/reqs/index.rst | 2 + > .../reqs/product-reqs/version_hypercall.rst | 83 +++++++++++++++++++ > 5 files changed, 187 insertions(+), 3 deletions(-) > 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/hypercall.rst > b/docs/fusa/reqs/design-reqs/arm64/hypercall.rst > index ffd883260c..b6f99af023 100644 > --- a/docs/fusa/reqs/design-reqs/arm64/hypercall.rst > +++ b/docs/fusa/reqs/design-reqs/arm64/hypercall.rst > @@ -28,8 +28,8 @@ Parameters > `XenSwdgn~arm64_hyp_param~1` > > Description: > -Xen shall use x0 to read the first parameter, x1 for second parameter and so > -on, for domain hypercall requests. > +Xen shall use the first register to read the first parameter, second register > +for second parameter and so on, for domain hypercall requests. > > Rationale: > > @@ -45,7 +45,7 @@ Return value > `XenSwdgn~arm64_ret_val~1` > > Description: > -Xen shall store the return value in x0 register. > +Xen shall store the return value in first register.
It seems that those changes should be in the previous patch directly. With that fixed: Reviewed-by: Bertrand Marquis <bertrand.marq...@arm.com> Cheers Bertrand > > Rationale: > > 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..3aa12ea2c2 > --- /dev/null > +++ b/docs/fusa/reqs/design-reqs/arm64/version_hypercall.rst > @@ -0,0 +1,34 @@ > +.. SPDX-License-Identifier: CC-BY-4.0 > + > +Capabilities > +------------ > + > +`XenSwdgn~arm64_capabilities~1` > + > +Description: > +Xen shall have an internal constant string to denote that the cpu is running > +in arm64 mode. > + > +Rationale: > + > +Comments: > + > +Covers: > + - `XenProd~version_hyp_capabilities_cmd~1` > + > +Capabilities AArch32 > +-------------------- > + > +`XenSwdgn~arm64_capabilities_aarch32~1` > + > +Description: > +Xen shall have a internal constant string to denote that the cpu is running > in > +arm32 mode. > + > +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..edc5672e83 > --- /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 (XEN_VERSION) storing the version number > +coming from the Makefile. > + > +Rationale: > + > +Comments: > + > +Covers: > + - `XenProd~version_hyp_version_cmd~1` > + > +Subversion > +---------- > + > +`XenSwdgn~subversion~1` > + > +Description: > +Xen shall have a internal constant (XEN_SUBVERSION) storing the sub version > +number coming from the Makefile. > + > +Rationale: > + > +Comments: > + > +Covers: > + - `XenProd~version_hyp_version_cmd~1` > + > +Extraversion > +------------ > + > +`XenSwdgn~extraversion~1` > + > +Description: > +Xen shall have a internal constant (XEN_EXTRAVERSION) storing the > extraversion > +coming from the build environment. > + > +Rationale: > + > +Comments: > + > +Covers: > + - `XenProd~version_hyp_extraversion_cmd~1` > + > +Changeset > +--------- > + > +`XenSwdgn~changeset~1` > + > +Description: > +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. > + > +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 03221f70c3..ae72b22556 100644 > --- a/docs/fusa/reqs/product-reqs/version_hypercall.rst > +++ b/docs/fusa/reqs/product-reqs/version_hypercall.rst > @@ -54,6 +54,89 @@ Rationale: > > Comments: > > +Covers: > + - `XenMkt~version_hypercall~1` > + > +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 register 0. > + > +Rationale: > + > +Comments: > +Xen version is composed of major and minor number. > + > +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` > > -- > 2.25.1 >