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

Re: [PATCH v4 1/2] docs: fusa: Define the requirements for XEN_VERSION hypercall.


  • To: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Mon, 22 Sep 2025 13:08:42 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=amd.com 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=XBqqU/+eKkIaSTMxva89/A1k/FmamY9z6GnWyO0ZZFM=; b=n96K4WNhv7U1tuznI+NTlrg82kPygZKZgFl+NKR/o/vTDJg8OSRKfs6d5013HD2hSbqSI9dRqJ/nlTD1IyjPP22B+L9psH9hErOLqTdGZuGKOJuyc7RRSx+DRdsoYX2MAR2v4HKLVbnkV76h9yfGQk6xfDrY9SEYR5amir2ZvmSNw2iIZE8XhQzQ8SGZS3KFBhb4sJVTK6yX/hFpJXyjqk5z1DqaMhGxtToxCtd+9+hdZ1rmb6/ZJx1EcjdGVIWoJGhLwoWdwbVsSXvDeNR1Ysg+H3e5hY9I8e6SIYuI9S/X4VFpeDVtNIIQaJn88HdQK3ZgNXtZd+oOZwAQGm67+Q==
  • 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=XBqqU/+eKkIaSTMxva89/A1k/FmamY9z6GnWyO0ZZFM=; b=U0bPEHsWH2WAx+gAaBbTl2iCYd4dO1KvCIb22H5eQKPqL89VRSU7/RadG3EP25bsfrlUbhXlR2IpydRRAsicnu+VeIWB73DkXm4hljpUAouTFPoPOv1vx6pWbfCQFdMbJFjX9q8aVTlYx9Z4SXXv54zfyL0tXGMeLLhoyPti3KzBJ1LSy+Gfh2kVxpkOmNa3bDS2VsrCQMKdg95v7mNljXFjEB+ZgFmROxejGfOszFZeFRnp6WZMDWvYO1zSrBfYCtIK+aQCsFrrBwjO8RJRGp2Mo1SwUhosYRfaUVm/IwatDRWudTTqe4PYUokD+xJ6lrbM2QhI3nLf12iOcjm6Mg==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=atzh8oNQ7pVfmvbyA3HwfcV3R6nfcC0nYYODh7DGFLO6XhEIdr7AdB4qTR8Bx0sEF62zkK/pt8a34PtJ2pcgNzKudbMsgCfac9br114UyFy4hQ2gUwEoiobB/rXer9qIoKsYbbzkID/C6XsmJwG5w5/1Uel47gGY1j/veFxbFcisG9BuFy5Fq9OqaFwZF1e44w6rW9DLrd1Ir+p5PfE8oLReRVJRqw2avpJI40eMkxh54GCLc8k2uL/ntVkTNBumIEfxsWmzbmm/8Ft1MZhvVGjhueThAsii+sv1BgTsRMOGu0jl7tVtN/z4zCtmOChldDmU1xU4DZ6Hg4EAlxeAtQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A8utCSFQmekJ2+FDXLjB5nWvGPj+7xUICYiV3OQHIspXQ5mN8z1eX2+le5Pj4r0RYi2c0nULYVFBOEYU6WahKZVsLuAi0zisyuSZLVR1W2Jr/tfrkJndP3xA0Y5VCrmT/b51AtxUTl+mEsK365tu3tq5PyLsFCHYl2BmtplGlQvRLZGUjXuouN1inHWejw6rjHLoX+DHNX6ey2HFj2Llls5u6l491xGw6ErxYe0FPHcHOWrwUoZm9ApZPjBZSO7bKE+CnsTRh1eGWW68yFKA8h5+uAqNLhyB5R9sQPMs5/uG1K4C0KBHp4QqTZ5lpQb6BTVidKNX7iSErcIEmQZzuA==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Artem Mygaiev <artem_mygaiev@xxxxxxxx>
  • Delivery-date: Mon, 22 Sep 2025 13:09:25 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHcEPw+d611kJLkXEyjl3BM2lUCU7SfYgSA
  • Thread-topic: [PATCH v4 1/2] docs: fusa: Define the requirements for XEN_VERSION hypercall.

Hi Ayan,

> On 19 Aug 2025, at 13:27, Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx> wrote:
> 
> Define the requirements which are common for all the commands.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>

Looks good

Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>

Cheers
Bertrand

> ---
> Changes from -
> 
> v1 - 1. Fixed `XenProd~version_hyp_ret_val~1` requirement as Xen does not 
> return
> 0 for success in all the cases.
> 2. Reworded the requirements so as to write them from Xen's perspective (not
> domain's perspective).
> 
> v2 - 1. Specified the register details.
> 2. Specified the type of buffer.
> 
> v3 - Fixed some wordings to make it precise (eg register details, bit fields).
> 
> .../fusa/reqs/design-reqs/arm64/hypercall.rst | 60 +++++++++++++++++++
> docs/fusa/reqs/index.rst                      |  2 +
> docs/fusa/reqs/market-reqs/reqs.rst           | 16 +++++
> .../reqs/product-reqs/version_hypercall.rst   | 42 +++++++++++++
> 4 files changed, 120 insertions(+)
> create mode 100644 docs/fusa/reqs/design-reqs/arm64/hypercall.rst
> create mode 100644 docs/fusa/reqs/product-reqs/version_hypercall.rst
> 
> diff --git a/docs/fusa/reqs/design-reqs/arm64/hypercall.rst 
> b/docs/fusa/reqs/design-reqs/arm64/hypercall.rst
> new file mode 100644
> index 0000000000..82ecf690a3
> --- /dev/null
> +++ b/docs/fusa/reqs/design-reqs/arm64/hypercall.rst
> @@ -0,0 +1,60 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Hypercall
> +=========
> +
> +Instruction
> +-----------
> +
> +`XenSwdgn~arm64_hyp_instr~1`
> +
> +Description:
> +Xen shall treat domain hvc instruction execution (with 0xEA1) as hypercall
> +requests.
> +
> +Rationale:
> +
> +Comments:
> +Hypercall is one of the communication mechanism between Xen and domains.
> +Domains use hypercalls for various requests to Xen.
> +The exception syndrome register should have the following values :-
> +ESR_EL2.ISS should be 0xEA1.
> +ESR_EL2.EC should be 0x16.
> +
> +Covers:
> + - `XenProd~version_hyp_first_param~1`
> + - `XenProd~version_hyp_second_param~1`
> +
> +Parameters
> +----------
> +
> +`XenSwdgn~arm64_hyp_param~1`
> +
> +Description:
> +Xen shall use x0 - x4 core registers to obtain the arguments for domain 
> hypercall
> +requests.
> +
> +Rationale:
> +
> +Comments:
> +Xen shall read x0 for the first argument, x1 for the second argument and so 
> on.
> +
> +Covers:
> + - `XenProd~version_hyp_first_param~1`
> + - `XenProd~version_hyp_second_param~1`
> +
> +Hypercall number
> +----------------
> +
> +`XenSwdgn~arm64_hyp_num~1`
> +
> +Description:
> +Xen shall read x16 to obtain the hypercall number.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~version_hyp_first_param~1`
> + - `XenProd~version_hyp_second_param~1`
> diff --git a/docs/fusa/reqs/index.rst b/docs/fusa/reqs/index.rst
> index 1088a51d52..d8683edce7 100644
> --- a/docs/fusa/reqs/index.rst
> +++ b/docs/fusa/reqs/index.rst
> @@ -10,5 +10,7 @@ Requirements documentation
>    market-reqs/reqs
>    product-reqs/reqs
>    product-reqs/arm64/reqs
> +   product-reqs/version_hypercall
>    design-reqs/arm64/generic-timer
>    design-reqs/arm64/sbsa-uart
> +   design-reqs/arm64/hypercall
> diff --git a/docs/fusa/reqs/market-reqs/reqs.rst 
> b/docs/fusa/reqs/market-reqs/reqs.rst
> index 2d297ecc13..7e3912c8f8 100644
> --- a/docs/fusa/reqs/market-reqs/reqs.rst
> +++ b/docs/fusa/reqs/market-reqs/reqs.rst
> @@ -79,3 +79,19 @@ Comments:
> 
> Needs:
>  - XenProd
> +
> +Version hypercall
> +-----------------
> +
> +`XenMkt~version_hypercall~1`
> +
> +Description:
> +Xen shall provide a hypercall for the domains to retrieve Xen's version, type
> +and compilation information.
> +
> +Rationale:
> +
> +Comments:
> +
> +Needs:
> + - XenProd
> diff --git a/docs/fusa/reqs/product-reqs/version_hypercall.rst 
> b/docs/fusa/reqs/product-reqs/version_hypercall.rst
> new file mode 100644
> index 0000000000..b824c539b0
> --- /dev/null
> +++ b/docs/fusa/reqs/product-reqs/version_hypercall.rst
> @@ -0,0 +1,42 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Version hypercall
> +=================
> +
> +First Parameter
> +---------------
> +
> +`XenProd~version_hyp_first_param~1`
> +
> +Description:
> +Xen shall treat the value stored in x0 as the command number for the 
> hypercall.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenMkt~version_hypercall~1`
> +
> +Needs:
> + - XenSwdgn
> +
> +Second Parameter
> +----------------
> +
> +`XenProd~version_hyp_second_param~1`
> +
> +Description:
> +Xen shall treat the value stored in x1 as a domain virtual address (mapped as
> +Normal Inner Write-Back Outer Write-Back Inner-Shareable) to buffer in 
> domain's
> +memory.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenMkt~version_hypercall~1`
> +
> +Needs:
> + - XenSwdgn
> -- 
> 2.25.1
> 




 


Rackspace

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