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

[PATCH] docs: fusa: Add requirements for mapping domain address to machine address


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
  • Date: Mon, 4 Nov 2024 19:06:08 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • 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=zsaeceIIctxjNjYJrC6gnvRwndeQc6hOIJ+p92ZUoyI=; b=X+sT8LnfUp7kRvniMKvGyhmR4OJOp6NHsc14EOJiJPgWLsJDmriKgI4p9aV/kA7YkfzSvRp3g0BDPFgH/6h6XaH2B0xJ2D0d93z9aesbpT1JcDW2Ity2UtpthHzriXjj8CFm7q0QPwEGjHNwwLdbRmh5aC7hoQcWT0+gdVTAmguMpChRj48279yrcPosNTKhi7hgJzVMQLMMp9I8BdB3cmq9tSJf2OB8gwKVHwcS/gwXZht+ZfbdfMwnfMU4mG47MTpdT2qdbKNFIV0RaWw85lQX8nV64CcArrmNGQ4Iso6VDhy0q8I8y1NxPY3PJSq+ZxnBMnxGG9SFatkjNSp2hA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gpp3CKHXTz/pdaS/6ObygeiErcrYci5KJBRhnmT/s4fVM35l+S+6RCu03kP3rX9mHxMjloko6JRMuIWZoq+2whsuTlI8NW+I3g0iIvRbqFDSpNlxxi8akfaPXxMrfMxyVC4e0YkO85xq93s0zxMDYdU+MP4aHy4LeKvS7yB6TCBAEHHs9r8ZKKsUuIOgxu88KZgL+HUQCNd39odV8X7IVNUTeoy6x4bR/JhLcIdXKUjwToOMhVoOmcSo3V0eIxfM31OWb4PPjD1a72jBsf1grvA8wKSzFhRWGfnXfOB1xjRcdHZ1C4jT8VgbqrTHq6RYhgQPhdK0stbaB1Zu5EyPSw==
  • Cc: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, "Michal Orzel" <michal.orzel@xxxxxxx>, Artem Mygaiev <artem_mygaiev@xxxxxxxx>
  • Delivery-date: Mon, 04 Nov 2024 19:06:55 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

The following are the requirements written mapping :-
domain virtual address to machine address
intermediate physical address to machine address

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
---
 .../design-reqs/arm64/domain_buffer_copy.rst  | 172 ++++++++++++++++++
 docs/fusa/reqs/market-reqs/reqs.rst           |  30 +++
 docs/fusa/reqs/product-reqs/arm64/reqs.rst    |  40 +++-
 3 files changed, 240 insertions(+), 2 deletions(-)
 create mode 100644 docs/fusa/reqs/design-reqs/arm64/domain_buffer_copy.rst

diff --git a/docs/fusa/reqs/design-reqs/arm64/domain_buffer_copy.rst 
b/docs/fusa/reqs/design-reqs/arm64/domain_buffer_copy.rst
new file mode 100644
index 0000000000..67a70a35c4
--- /dev/null
+++ b/docs/fusa/reqs/design-reqs/arm64/domain_buffer_copy.rst
@@ -0,0 +1,172 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Translate domain address to machine address
+-------------------------------------------
+
+`XenSwdgn~arm64_translate_domain_addr_to_machine_addr~1`
+
+Description:
+Xen shall translate a domain address to machine address using Address
+Translation Stage 1+2 Non-Secure Kernel Read/Write registers.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~translate_domain_va_to_ma~1`
+
+Get machine address
+-------------------
+
+`XenSwdgn~arm64_get_machine_addr~1`
+
+Description:
+Xen shall be able to get the machine address for a domain by reading
+the physical address register.
+
+Rationale:
+
+Comments:
+It should return the fault information if the translation has failed.
+
+Covers:
+ - `XenProd~translate_domain_va_to_ma~1`
+ - `XenProd~access_check_fetch_page~1`
+
+Translate domain address to intermediate physical address
+---------------------------------------------------------
+
+`XenSwdgn~arm64_translate_domain_addr_to_ipa~1`
+
+Description:
+Xen shall translate a domain address to intermediate physical address using
+Address Translation Stage 1 Non-Secure Kernel Read/Write registers.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
+Set domain address as intermediate physical address
+---------------------------------------------------
+
+`XenSwdgn~arm64_set_ipa_eq_gva~1`
+
+Description:
+Xen shall set domain virtual address as intermediate physical address when EL1
+MMU is disabled.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
+Walk the domain's stage 1 page tables to translate 4KB domain address to IPA
+----------------------------------------------------------------------------
+
+`XenSwdgn~arm64_walk_stage1_page_table_4KB_gva_ipa_ttbr0~1`
+
+Description:
+Xen shall walk the stage 1 page tables to translate domain address to
+intermediate physical address for 4KB page granularity using TTBR0
+for intermediate physical address size = 48 bits.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
+Walk the domain's stage 1 page tables to translate 16KB domain address to IPA
+-----------------------------------------------------------------------------
+
+`XenSwdgn~arm64_walk_stage1_page_table_4KB_gva_ipa_ttbbr0~1`
+
+Description:
+Xen shall walk the stage 1 page tables to translate domain address to
+intermediate physical address for 16KB page granularity using TTBR0 for
+intermediate physical address size = 48 bits.
+
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
+Walk the domain's stage 1 page tables to translate 64KB domain address to IPA
+-----------------------------------------------------------------------------
+
+`XenSwdgn~arm64_walk_stage1_page_table_4KB_gva_ipa_ttbr0~1`
+
+Description:
+Xen shall walk the stage 1 page tables to translate domain address to
+intermediate physical address for 64KB page granularity using TTBR0 for
+intermediate physical address size = 48 bits.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
+Walk the domain's stage 1 page tables to translate 4KB domain address to IPA
+----------------------------------------------------------------------------
+
+`XenSwdgn~arm64_walk_stage1_page_table_4KB_gva_ipa_ttbr1~1`
+
+Description:
+Xen shall walk the stage 1 page tables to translate domain address to
+intermediate physical address for 4KB page granularity using TTBR1 for
+intermediate physical address size = 48 bits.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
+Walk the domain's stage 1 page tables to translate 16KB domain address to IPA
+-----------------------------------------------------------------------------
+
+`XenSwdgn~arm64_walk_stage1_page_table_4KB_gva_ipa_ttbbr1~1`
+
+Description:
+Xen shall walk the stage 1 page tables to translate domain address to
+intermediate physical address for 16KB page granularity using TTBR1 for
+intermediate physical address size = 48 bits.
+
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
+Walk the domain's stage 1 page tables to translate 64KB domain address to IPA
+-----------------------------------------------------------------------------
+
+`XenSwdgn~arm64_walk_stage1_page_table_4KB_gva_ipa_ttbr1~1`
+
+Description:
+Xen shall walk the stage 1 page tables to translate domain address to
+intermediate physical address for 64KB page granularity using TTBR1 for
+intermediate physical address size = 48 bits.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~access_check_fetch_page~1`
+
diff --git a/docs/fusa/reqs/market-reqs/reqs.rst 
b/docs/fusa/reqs/market-reqs/reqs.rst
index ca020f9a33..9b6852d746 100644
--- a/docs/fusa/reqs/market-reqs/reqs.rst
+++ b/docs/fusa/reqs/market-reqs/reqs.rst
@@ -60,5 +60,35 @@ Rationale:
 
 Comments:
 
+Needs:
+ - XenProd
+
+Copy buffer to domain
+---------------------
+
+`XenMkt~copy_buffer_to_domain~1`
+
+Description:
+Xen shall support copying a buffer to a domain.
+
+Rationale:
+
+Comments:
+
+Needs:
+ - XenProd
+
+Copy buffer from domain
+-----------------------
+
+`XenMkt~copy_buffer_from_domain~1`
+
+Description:
+Xen shall support copying a buffer from a domain.
+
+Rationale:
+
+Comments:
+
 Needs:
  - XenProd
\ No newline at end of file
diff --git a/docs/fusa/reqs/product-reqs/arm64/reqs.rst 
b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
index 0453dbb862..e2ab5ea43e 100644
--- a/docs/fusa/reqs/product-reqs/arm64/reqs.rst
+++ b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
@@ -53,10 +53,46 @@ Rationale:
 
 Comments:
 
+Covers:
+ - `XenMkt~static_vm_definition~1`
+
+Needs:
+ - XenSwdgn
+
+Translate domain virtual address to machine address
+---------------------------------------------------
+
+`XenProd~translate_domain_va_to_ma~1`
+
+Description:
+Xen shall support translating domain's virtual address to machine address.
+
 Rationale:
 
+Comments:
+
 Covers:
- - `XenMkt~static_vm_definition~1`
+ - `XenMkt~copy_buffer_from_domain~1`
+ - `XenMkt~copy_buffer_to_domain~1`
 
 Needs:
- - XenSwdgn
\ No newline at end of file
+ - XenSwdgn
+
+Access check and fetch page from domain
+---------------------------------------
+
+`XenProd~access_check_fetch_page~1`
+
+Description:
+Xen shall support access check and fetching page from a domain.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenMkt~copy_buffer_from_domain~1`
+ - `XenMkt~copy_buffer_to_domain~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®.