From nobody Sat Nov 23 13:27:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1722592009; cv=pass; d=zohomail.com; s=zohoarc; b=Q6kYstA6oeqbs6lNfbfOi30vhBLmImjO+29TavC7s30DhQsHYmtoW3TJ1P3gT/EAxhZfvWOdHyjHLjppJxD9ESADm4uYtzR5GSjVCOqkL91ZIq7Fx5W7IHLGI+iG2tSJbfYH5UyqYBADz13zBjsjAhDVlIkvt7X+I9NR+B/6Eh4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1722592009; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RFFqgAkmdyOuJy5JYhvhPk6hTFrLiUYeXIC7Vd/14p0=; b=CE6VKPnfTUVXXheC/l0FAjbG76a6QCGz6wyh/3SCE9+g0DvDTEUQhgxs+WGeoRQ5kRejR7IpN8tTCMptl4NlLavK9/iot2012YeZD4QuucCZYthp4oBLYCR2t06zd5dk1SW+tE/lcOR7Z/5X6RiYe0cdOMLMLfoQ6wtMRR63Oig= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1722592009703563.4915769106785; Fri, 2 Aug 2024 02:46:49 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.770846.1181441 (Exim 4.92) (envelope-from ) id 1sZorm-0008Ir-N9; Fri, 02 Aug 2024 09:46:30 +0000 Received: by outflank-mailman (output) from mailman id 770846.1181441; Fri, 02 Aug 2024 09:46:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZorm-0008HT-Ix; Fri, 02 Aug 2024 09:46:30 +0000 Received: by outflank-mailman (input) for mailman id 770846; Fri, 02 Aug 2024 09:46:30 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZorm-00083o-3B for xen-devel@lists.xenproject.org; Fri, 02 Aug 2024 09:46:30 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on20617.outbound.protection.outlook.com [2a01:111:f400:7e88::617]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 163822dc-50b4-11ef-8776-851b0ebba9a2; Fri, 02 Aug 2024 11:46:28 +0200 (CEST) Received: from SJ0PR03CA0240.namprd03.prod.outlook.com (2603:10b6:a03:39f::35) by SN7PR12MB7154.namprd12.prod.outlook.com (2603:10b6:806:2a5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.28; Fri, 2 Aug 2024 09:46:23 +0000 Received: from CO1PEPF000044F5.namprd05.prod.outlook.com (2603:10b6:a03:39f:cafe::fe) by SJ0PR03CA0240.outlook.office365.com (2603:10b6:a03:39f::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.23 via Frontend Transport; Fri, 2 Aug 2024 09:46:23 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Fri, 2 Aug 2024 09:46:23 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 04:46:20 -0500 Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 2 Aug 2024 04:46:20 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 163822dc-50b4-11ef-8776-851b0ebba9a2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lyZ9shV5hb3FjOcnS8jNaM7e4o11EwPzPbh53TEqkbPEJGRyZbHk+SCLzZPNfFfIBSn4e79auUoxRJsJNP6xpBrzSs7vA7MR1ZeddaUYH9ILbmKyHdZ/p4bIMe30fakx2SfBa7+xiBIKAl2ALk9rmEkewyTNKepAIZfVDrbLfNOMUmKBEvTusAuNu+S3lMBB1AzqybVBVAIKZeqkecjMul3UII2mLwtAU70O6f9x8fsvkAw45L+F96vxDiX/dMPUioUO1HZt4N4IXCsbGFNgW4Qs3RW1cc9sB3gVeltgr7XcmaFfnhypE7GxgP3hfbB9rGVwh9LIJPSlJ1jumYl3HQ== 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=RFFqgAkmdyOuJy5JYhvhPk6hTFrLiUYeXIC7Vd/14p0=; b=WqNGy8ZvXJeQf3UHrnRQum6GN+mHZxa3+4oVbeGLU0BTdws4gFWM480HEMuRWFq4iIqkUgvnvPsjw+dCUHBaNGG8og04NvG6OYavIBfWTsgsJ2be0PCa432QSoHWXcvXHCzAa0FfHF6ebAKohM2TuOpVo6KRKd+Bi265RMAywzbjdp0vJ5xgtS3m8ndYAXptueeLtQ180uEBoxGqwnTnP2p/HF1wfdMiL4wGn21Oh42l+nQ0hg7r+K1R7ZoRBV4g9Z7lLrN2G4UaH+vtUz/nWp+0bsXdhowLLgzP6pNLL/358f0elX+wfTTskR6LRGxRolD+axHqVRr7rWRCfX7LgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RFFqgAkmdyOuJy5JYhvhPk6hTFrLiUYeXIC7Vd/14p0=; b=tfQOt4xAVuF3Yct6Ca2dkoJ8/gVJJfC0oatji2I52p8GqATRqXAY9oCKvqlwuD1dcr70scUVkO4nDirQrKKNAbnhVg3wxGxBLU6txdFfoldzQ9BU2S/sA0Dof4RdVzWt/g177c3rbv33hXunPcinW8+pVJqrMEn+0gjfDC9jR/I= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Ayan Kumar Halder To: , , , , , CC: Subject: [PATCH v2 1/3] docs: Introduce Fusa Requirement and define maintainers Date: Fri, 2 Aug 2024 10:46:12 +0100 Message-ID: <20240802094614.1114227-2-ayan.kumar.halder@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240802094614.1114227-1-ayan.kumar.halder@amd.com> References: <20240802094614.1114227-1-ayan.kumar.halder@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|SN7PR12MB7154:EE_ X-MS-Office365-Filtering-Correlation-Id: 1907e77b-087e-4ec7-1afc-08dcb2d7f866 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TKgxOJLfwoGsBGRweiVrLRa++kchUkRfy45ZjWZT/EbgBWLakQTTA/ikCEoy?= =?us-ascii?Q?uhBNnSnQRVIawYv9Es5ugl1IfD8zFVwmTx3OdTe0NmpUF1R5AZu9TVGFEeZf?= =?us-ascii?Q?lF8/Xj2GQW5gPhfegCydI6Z4d9TyGqBvTONl++hrUt4zJli7Ukxn0Tm09KcU?= =?us-ascii?Q?p0SXvmKj7RAYqqrlg5/Gt9V99SzykedVgvtxiQx5HLU5WcxiUsbcWNc1EyIS?= =?us-ascii?Q?IoMwLZIQTAJEeI4cSUbbR0LuTQRsHo9stC+lT/HCTVRXqF/bJ6IqHAZG46M3?= =?us-ascii?Q?RbA051SJrjQ9fdlVSov8SVu0zjXuzIwc17zllD6DpIIC1nyHJESBFaT/NRye?= =?us-ascii?Q?zyrW4EY0N/Z1KNj+wLMvGJ4A4jPy65UNvpNjDVKk+lnFgUvt5hmEl6H+41o4?= =?us-ascii?Q?bmhQcmHaiJU/uzgMFWKUSEch53b1RkUXM5E4yYHwcjciI+V+uE7ZEUclVy3W?= =?us-ascii?Q?lcfwfMfZkUia4G3mQpoNi3Jng9uKrj0Dv5EEv+8MG7uo50QZjuQmCjBc+jbX?= =?us-ascii?Q?c0ZbjXdun8FvY4SRYnk9Q8UwtnWmu+GFsjjKR7jEjjODd3TvUG3SO5O+vv+C?= =?us-ascii?Q?0IVqfiZPOAsBtlvlnHDABIfD6tpcNN8IEmrJgVKzAATlqHK3qfWZIw0T00vK?= =?us-ascii?Q?7PbezplzEBkjaRFzY31BdUDlSq9giozEwO0imVgYjuViPAp/xNd5hynMkNoB?= =?us-ascii?Q?Sf6qi6Nb9gT5AWzj7mZgSJbuugpQdlmhVGCqrOVVOBhrT061v3iH9Uhz2rZd?= =?us-ascii?Q?aBxi9296leowe4maalnkiWhBSgsbUCRjHZzC9H2Ft4w3mTbIAAh/E6agKu59?= =?us-ascii?Q?wxUvYhXyEMAwO3oTjT/+sXEgvK7Z7Tc8I6jl1zOTQBxwxhpMm1YKWAYeX5/T?= =?us-ascii?Q?SdK3yH3dZ54gOIqXflTXulNosWECS6eUbCwoIBfISCJRQWZOBB6ns/3EwuYz?= =?us-ascii?Q?7YXMqfWlC3lD6FtAACny1c5JtJ0SnvcAb2xJwX4bEGJRrBQm0OKDDdtkxJTS?= =?us-ascii?Q?RwegbqcfOfNJAEd3EHyXCS5l9qSlNX+JOqhkVIXoSbGNtJxtD8PlZ28C6QR9?= =?us-ascii?Q?NFxZ/dN41S3nS1+i+JSIa3HMcgLuLK8qwB8YeQKdO4wuUGbFfMqRpnhR7U1r?= =?us-ascii?Q?360RFpTinMpWphIRa0SchzBmgkr7LYPXuud4CbKHCXpGbJXzn9Jzy4Ah/SQ2?= =?us-ascii?Q?XoSmoAK747qrSibHl+szNcgTbQUVu6fVWRkYiyEAMmGpDpsnx3o+wSlcWufN?= =?us-ascii?Q?QoU6zVsPbt6V0f75YIxDXVtO5ezod9M5AtYXgiq+C5wWYIeBYIEqgb/N91yo?= =?us-ascii?Q?LHD+u99N7mT3i5krpEqsWFD1okMpt+LY/7gAF4JwpkQ26mh/FbTmgto+/ryO?= =?us-ascii?Q?10m25KGTFwN2QJoaePq8otQBHhDImISIoLD/zyhrlvB3CzP4sQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 09:46:23.2421 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1907e77b-087e-4ec7-1afc-08dcb2d7f866 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044F5.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7154 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1722592010549116600 Content-Type: text/plain; charset="utf-8" The FUSA folder is expected to contain requirements and other documents to enable safety certification of Xen hypervisor. Added a README to explain how the requirements are categorized, written and their supported status. Added maintainers for the same. Signed-off-by: Ayan Kumar Halder Acked-by: Bertrand Marquis Acked-by: Michal Orzel Reviewed-by: Stefano Stabellini --- Changes from :- v1 - 1. Added a comment from Stefano. 2. Added Ack. MAINTAINERS | 9 +++++ docs/fusa/reqs/README.md | 78 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 docs/fusa/reqs/README.md diff --git a/MAINTAINERS b/MAINTAINERS index 7c524a8a93..0d328e065c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -314,6 +314,15 @@ F: xen/arch/x86/include/asm/x86_*/efi*.h F: xen/common/efi/ F: xen/include/efi/ =20 +FUSA +M: Stefano Stabellini +M: Bertrand Marquis +M: Michal Orzel +M: Ayan Kumar Halder +M: Artem Mygaiev +S: Supported +F: docs/fusa/ + GDBSX DEBUGGER M: Elena Ufimtseva S: Supported diff --git a/docs/fusa/reqs/README.md b/docs/fusa/reqs/README.md new file mode 100644 index 0000000000..651f0a4e00 --- /dev/null +++ b/docs/fusa/reqs/README.md @@ -0,0 +1,78 @@ +This folder contains a set of requirements describing Xen and its implemen= tation +in a form suitable for a safety certification process. + +The status is experimental and it is maintained on a best effort basis. The +requirements may get slightly out of sync with the code. We are actively w= orking +on a process to keep them updated, more details to follow. + +The requirements writing style is inspired from the ANSI/IEEE guide to Sof= tware +Requirements Standard 830-1984. + +The requirements are categorized as follows :- + +1. Market requirements - They define the high level functionalities of the +hypervisor without going into concepts specific to Xen. Those should allow= a +system architect to understand wether Xen is providing the functionalities= it +needs for its system. This is the top level of the requirements. + +2. Product requirements - They define the Xen specific concepts and interf= aces +provided by Xen without going into implementation details. One or several = of +those requirements are linked to each market requirement. An Architect can= use +them understand how Xen fulfils a market need and design how Xen should be= used +in his system. + +3. Design requirements - They describe what the software implementation is= doing +from a technical point of view. One or several design requirement together +define how product requirements are fulfilled technically and are linked to +them. An implementer can use them to know how to write or understand the X= en +code. + +The requirements are linked using OpenFastTrace +(https://github.com/itsallcode/openfasttrace/blob/main/doc/user_guide.md). +OpenFastTrace parses through the requirements and generates a traceability +report. + +The following is the skeleton for a requirement. + +Title /* Title of the requirement */ +----- + +`unique_tag` +/* + * Each requirement needs to have a unique tag associated. The format is + * req_type~name~revision. + * + * Thus, it consists of three components :- + * requirement type - This denotes the category of requirement. Thus, it s= hall + * be 'XenMkt', 'XenProd' or 'XenSwdgn' to denote market, product or design + * requirement. + * name - This denotes name of the requirement. In case of architecture sp= ecific + * requirements, this starts with the architecture type (ie x86_64, arm64). + * revision number - This gets incremented each time the requirement is mo= dified. + */ + +Description: +This shall describe the requirement in a definitive tone. In other words, +the requirement begins with 'Xen shall ...'. Further, the description is +expected to be unambiguous and consistent. + +Rationale: +This describes a rationale explaining the reason of the presence of the +requirement when this can help the reader. This field can be left blank. + +Comments: +This describes the use cases for the requirement when this can help the +reader. This field can be left blank as well. + +Covers: +This denotes the unique_tag of the parent. This field is non existent for = the +market requirement as it is the top level. + +Needs: +This denotes the requirement type of its children. This field is non exist= ent +for the design requirements as there are no subsequent requirements linked= to +them. + + +The requirements are expected to the technically correct and follow the ab= ove +guidelines. --=20 2.25.1 From nobody Sat Nov 23 13:27:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1722592013; cv=pass; d=zohomail.com; s=zohoarc; b=TG7amK2zBSjU8g3VrSHF1bIlKfPczsrIctw40dcQQgEZ8fOInQEwR8f6nlYySQSiHOt0Kl7Jnflx+/0Jm/4AfXHXeQop0NVo91KCNbgQ3B6c79wBiwEss3PJujfi7/rqobyXW/w+lN/YEeFH0SVA517hW1xNz+v8NxtfbUFK25A= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1722592013; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ROvLqZynJLVIZT8BYNTLOyYLBnBJrqyCwo6P9kBWoS0=; b=SDvOqR1KDK3s3567nZESmdR3F1OBD+AuMp8y2EdSnvqsu2K7a7I8ckFFCUnCBpRc94X133Xktd8QUcbaEiaYQ9SKUnm0NFdi53jyGWmYcVuj0ZacgIOX9TqbhwKRccBHuuMcdjA681gVYJL2CLO+VgyQcSn2jbva8RWfRdWhx/M= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1722592013277807.2423313514045; Fri, 2 Aug 2024 02:46:53 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.770847.1181456 (Exim 4.92) (envelope-from ) id 1sZorq-0000JH-4p; Fri, 02 Aug 2024 09:46:34 +0000 Received: by outflank-mailman (output) from mailman id 770847.1181456; Fri, 02 Aug 2024 09:46:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZorq-0000JA-1J; Fri, 02 Aug 2024 09:46:34 +0000 Received: by outflank-mailman (input) for mailman id 770847; Fri, 02 Aug 2024 09:46:33 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZorp-0000IF-0M for xen-devel@lists.xenproject.org; Fri, 02 Aug 2024 09:46:33 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2062e.outbound.protection.outlook.com [2a01:111:f403:2412::62e]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 17fabafb-50b4-11ef-bc03-fd08da9f4363; Fri, 02 Aug 2024 11:46:31 +0200 (CEST) Received: from SJ0PR03CA0220.namprd03.prod.outlook.com (2603:10b6:a03:39f::15) by IA1PR12MB6529.namprd12.prod.outlook.com (2603:10b6:208:3a6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.23; Fri, 2 Aug 2024 09:46:24 +0000 Received: from CO1PEPF000044F5.namprd05.prod.outlook.com (2603:10b6:a03:39f:cafe::d) by SJ0PR03CA0220.outlook.office365.com (2603:10b6:a03:39f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.22 via Frontend Transport; Fri, 2 Aug 2024 09:46:24 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1PEPF000044F5.mail.protection.outlook.com (10.167.241.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Fri, 2 Aug 2024 09:46:24 +0000 Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 04:46:23 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 04:46:23 -0500 Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 2 Aug 2024 04:46:22 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 17fabafb-50b4-11ef-bc03-fd08da9f4363 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aXe2qJXLoMSUFsl7HnTydDlmdxVYkCTq2zfiKtCP+Srw+gha8lcAQawkDFaVnQ0qBnH4STwo1IxdTg5LsfS0e/uw/n3yOndLZ7/Z7gB8JIB+6+euEGCkWOmCZcSm/uQwyaF+OQjl+ZlMk/7wJKMiLexXWHaH9qNcK/lC2rM+1Vcx2IAxkXu9BnN6cexs1okdPflorCxuqetinFubDiOC490/GYsBwfTXYEAXAmRWEll3lfS/rl6v+0tTGppVLkpUeh9ieVSfvE9wXMk+48ZIN1efmbFN1EXBulbqsANBh+RRfic2HGpTRWXLYA9PldfU6WPISRXLeYOkWQj17L3+NA== 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=ROvLqZynJLVIZT8BYNTLOyYLBnBJrqyCwo6P9kBWoS0=; b=cqc3n9HVyiuoyPNBKBNOKkIJoxLodGpycZy7xZLIFpW1m7o/QOe7Od+YhIyDkIXTZnmRcOFeS3tiHEbfdIZvFkxTpn7a7t48kWWJ+TNgTurvD4dchwPg/uFkEe2nbjTk5E/iKepFuXe/3yvGEPu4CTyEbHmUB7ACOMNdlk4A1TNIBKL3Dk+3yrcuNHcGCWt1acZ9V+HO1vXlHOj7QpxSullMDkW4gqP6GT/Sstobsg1hotcoXNA7TCIr1tvtZrdKj4XsmcWaF59z7dDisFlTIoRpf1MAfTado1EeaQi+d49i07gQqnSPT36IVE+pfa7DJ6Y/z+LkXwrZRWiRHdmmpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ROvLqZynJLVIZT8BYNTLOyYLBnBJrqyCwo6P9kBWoS0=; b=3HHeDDdfVX/Qr4CKCvNyihXwjvF7F9lXSQ+EQ58hkH4ZKI0RGXoldJB6eyBHdbX1cH/pI8Vu9qG4/N4JPEtLMJWkyD7gEyAdE5wNW4lFiRMMKidEvbOxk0XtzdUH2Vqd9wT5Cpn+IlUJb9PMe3VSeXTDwlWCx1BzlJxeBrr7FAo= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Ayan Kumar Halder To: , , , , , CC: Subject: [PATCH v2 2/3] docs: fusa : reqs: Added a sample of requirements [DO_NOT_MERGE] Date: Fri, 2 Aug 2024 10:46:13 +0100 Message-ID: <20240802094614.1114227-3-ayan.kumar.halder@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240802094614.1114227-1-ayan.kumar.halder@amd.com> References: <20240802094614.1114227-1-ayan.kumar.halder@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F5:EE_|IA1PR12MB6529:EE_ X-MS-Office365-Filtering-Correlation-Id: 58bdf271-4a89-4801-c450-08dcb2d7f911 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?PdO/TAU8A3MOYDqMnnHGrbqiDqvneeUQy6kktoosJV+5Lq20q2DckOWoHhYi?= =?us-ascii?Q?W/G67xCXNm9B3kQSbsog5JdVugkkptbh67+9VGD6WDjBuiwVRlWbfouepYe2?= =?us-ascii?Q?JNKwrtjYELoYbdM90andgFTR1+OQH/L6rbk3HjYfmglrvyoPPLE7e5WXD2HD?= =?us-ascii?Q?caowbN2Hnovf643WAkB4pmg/EulrBRyJVXt4o7g3qcwog2Y2XmmLK/mTSora?= =?us-ascii?Q?bjFg1awKZKLjHI/8BWOk410ujMhKc/sSMM8dnD0SziIV8kaJ0X4VO8bWSPG2?= =?us-ascii?Q?JxMreqjBJjiyZbK/68HmQnEgjQP/GmFK9q5VAr5HWA3yedJy4rdqT9HJxIpg?= =?us-ascii?Q?UU7Zvg3Y1jdcy8RBYGd+BZCQDizMe1nvcG7ySAHq3eHYQZw/XxQTpROcls6o?= =?us-ascii?Q?GoAwT6c43mddO9pbDvUNPXySPI9PJxFa/rr96JRDiJNpb9ke2Au1KeiY9NH8?= =?us-ascii?Q?uzWFOKIbiGnQZNzPJSnH6gIc5Yn4r4kXI8N1K0TbsJfnSSi+cNXmCwr+H4sk?= =?us-ascii?Q?Ar+b1ISMpfgl/it6JN81aE3SgoIw8nkItQ4fuR1I8rpcp3vAFtgk87oT+oCN?= =?us-ascii?Q?VAq8/9B1irjFWjvasPui845uUwRPYoI4H8PyMtA/kKt9bPG5xptElQp/9MLK?= =?us-ascii?Q?V6GYmeNfW9+dANy0pnbpm+xHWk1xwIllGedPFSXuCmxjN94TJ8Xcl+Z9FkSN?= =?us-ascii?Q?oFKMvIKP6yQiHzULRl3EeLqOE3mj+2YEWl9p80+zv3PYeOKMOKrzntqa/75j?= =?us-ascii?Q?jJZEXvzVSvUKEjQHjaoxhpzimBzsem59pnjmKXmh5eq33gE5XhzkP4PPOp6G?= =?us-ascii?Q?n2F5RetbUNgLr1uASebF+c9EQ9HOn1l1FRMVQkSDa4O8MFX3epuYz8Sda6/4?= =?us-ascii?Q?8Lx9/glVlIPD8Au080PLx9rcaVfmRbqYs7aftq1OWl2DQs9LOEWJUkLaNxQ3?= =?us-ascii?Q?FOW5xPYcMuEhFGsXxnjlt4rGqgdse2RA6JOejzaudfk1PWB1dDuPxNamga94?= =?us-ascii?Q?hTz7HH3m2duk7EyTBZHSAZ4QpF4FSHkN93TqQLRD99b0L4QKGrrgHYHM7jOi?= =?us-ascii?Q?gqAD1X5WYWMdG4LW90vAMDiibuhBChCDU8WQzuFRX6Tm0p1p85f19vVVNJdL?= =?us-ascii?Q?HC8kCObG1m7UGC0x/yBdcrvUq5MV+QWBcq1Dltec+vTS9Lsg+5rIz4G1rgDE?= =?us-ascii?Q?QHK/194ANGxTSkMzbI3XB2BixiCBtpdGe8u1y3tYtO3Mf4ZRCKQDpcuyiMxx?= =?us-ascii?Q?ZrSShzwXK7GWyYVdA3lb3LOZ0d2op18VQXR4sdHpRkSjSiUkH64tc4/lOA7V?= =?us-ascii?Q?+8o+rQFP1AzgPUIrP7HvYKmLSbBic8srqtSuddYS6unfn0Nb91KM11URl/SG?= =?us-ascii?Q?+1UtmN0kHoG31kU5koErOHFBETqA?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 09:46:24.3515 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 58bdf271-4a89-4801-c450-08dcb2d7f911 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044F5.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6529 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1722592014369116600 Content-Type: text/plain; charset="utf-8" Added a sample of market, product and design requirements. This is to help explain how we are writing the requirements and understand the context of the first patch. We will be sending these requirements for review in the subsequent patches. Please do not merge this patch. Signed-off-by: Ayan Kumar Halder --- Changes from :- v1 - 1. Filenames contain '-' instead of '_'. .../reqs/design-reqs/arm64/emulated-uart.rst | 240 ++++++++++++++++++ .../reqs/design-reqs/arm64/generic-timer.rst | 146 +++++++++++ docs/fusa/reqs/design-reqs/xen-version.rst | 207 +++++++++++++++ docs/fusa/reqs/market-reqs/reqs.rst | 77 ++++++ docs/fusa/reqs/product-reqs/reqs.rst | 64 +++++ 5 files changed, 734 insertions(+) create mode 100644 docs/fusa/reqs/design-reqs/arm64/emulated-uart.rst create mode 100644 docs/fusa/reqs/design-reqs/arm64/generic-timer.rst create mode 100644 docs/fusa/reqs/design-reqs/xen-version.rst create mode 100644 docs/fusa/reqs/market-reqs/reqs.rst create mode 100644 docs/fusa/reqs/product-reqs/reqs.rst diff --git a/docs/fusa/reqs/design-reqs/arm64/emulated-uart.rst b/docs/fusa= /reqs/design-reqs/arm64/emulated-uart.rst new file mode 100644 index 0000000000..483db92fa8 --- /dev/null +++ b/docs/fusa/reqs/design-reqs/arm64/emulated-uart.rst @@ -0,0 +1,240 @@ +UART +=3D=3D=3D=3D + +The following are the requirements related to SBSA UART [1] emulated and +exposed by Xen to Arm64 domains. + +Probe the UART device tree node +------------------------------- + +`XenSwdgn~arm64_uart_probe_dt_node~1` + +Description: +Xen shall generate a device tree node for the SBSA UART (in accordance to = Arm +SBSA UART device tree binding [2]) to allow domains to probe it. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Transmit data in software polling mode +-------------------------------------- + +`XenSwdgn~arm64_uart_transmit_data_poll_mode~1` + +Description: +Domain shall transmit data in polling mode (i.e. without involving interru= pts). + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Transmit data in interrupt driven mode +-------------------------------------- + +`XenSwdgn~arm64_uart_transmit_data_irq_mode~1` + +Description: +Domain shall transmit data in interrupt driven mode. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Receive data in software polling mode +------------------------------------- + +`XenSwdgn~arm64_uart_receive_data_polling_mode~1` + +Description: +Domain shall receive data in polling mode (i.e. without involving interrup= ts). + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Receive data in interrupt driven mode +------------------------------------- + +`XenSwdgn~arm64_uart_receive_data_interrupt_driven_mode~1` + +Description: +Domain shall receive data in interrupt driven mode. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Access UART data register +------------------------- + +`XenSwdgn~arm64_uart_access_data_register~1` + +Description: +Domain shall access (read/write) UART data register. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Access UART receive status register +----------------------------------- + +`XenSwdgn~arm64_uart_access_receive_status_register~1` + +Description: +Domain shall access (read/write) UART receive status register. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Access UART flag register +------------------------- + +`XenSwdgn~arm64_uart_access_flag_register~1` + +Description: +Domain shall access (read only) UART flag register. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Access UART mask set/clear register +----------------------------------- + +`XenSwdgn~arm64_uart_access_mask_register~1` + +Description: +Domain shall access (read/write) UART mask set/clear register. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Access UART raw interrupt status register +----------------------------------------- + +`XenSwdgn~arm64_uart_access_raw_interrupt_status_register~1` + +Description: +Domain shall access (read only) UART raw interrupt status register. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Access UART masked interrupt status register +-------------------------------------------- + +`XenSwdgn~arm64_uart_access_mask_irq_status_register~1` + +Description: +Domain shall access (read only) UART masked interrupt status register. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Access UART interrupt clear register +------------------------------------ + +`XenSwdgn~arm64_uart_access_irq_clear_register~1` + +Description: +Domain shall access (write only) UART interrupt clear register. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Receive UART TX interrupt +------------------------- + +`XenSwdgn~arm64_uart_receive_tx_irq~1` + +Description: +Domain shall receive UART TX interrupt + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Receive UART RX interrupt reception +----------------------------------- + +`XenSwdgn~arm64_uart_receive_rx_irq~1` + +Description: +Domain shall receive UART RX interrupt + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +Initial State +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Access UART in an initial (reset) state +--------------------------------------- + +`XenSwdgn~arm64_uart_access_reset_state~1` + +Description: +Domain shall be given the access to the UART in a state, where all registe= rs +hold the reset value according to the specification [3] (only for registers +implemented as part of SBSA UART). + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_uart~1` + +| [1] Arm Base System Architecture, chapter B +| [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/t= ree/Documentation/devicetree/bindings/serial/arm_sbsa_uart.txt +| [3] PrimeCell UART (PL011) diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa= /reqs/design-reqs/arm64/generic-timer.rst new file mode 100644 index 0000000000..00228448a3 --- /dev/null +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst @@ -0,0 +1,146 @@ +Generic Timer +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +The following are the requirements related to ARM Generic Timer [1] interf= ace +exposed by Xen to Arm64 domains. + +Probe the Generic Timer device tree node from a domain +------------------------------------------------------ + +`XenSwdgn~arm64_probe_generic_timer_dt~1` + +Description: +Xen shall generate a device tree node for the Generic Timer (in accordance= to +ARM architected timer device tree binding [2]) to allow domains to probe i= t. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` + +Read system counter frequency +----------------------------- + +`XenSwdgn~arm64_read_system_counter_freq~1` + +Description: +Domain shall read the frequency of the system counter (either via CNTFRQ_E= L0 +register or "clock-frequency" device tree property if present). + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` + +Access CNTKCTL_EL1 system register from a domain +------------------------------------------------ + +`XenSwdgn~arm64_access_cntkctl_el1_system_register~1` + +Description: +Domain shall access the counter-timer kernel control register to allow +controlling the access to the timer from userspace (EL0). + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` + +Access virtual timer from a domain +---------------------------------- + +`XenSwdgn~arm64_access_virtual_timer~1` + +Description: +Domain shall access and make use of the virtual timer by accessing the fol= lowing +system registers: +CNTVCT_EL0, +CNTV_CTL_EL0, +CNTV_CVAL_EL0, +CNTV_TVAL_EL0. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` + +Access physical timer from a domain +----------------------------------- + +`XenSwdgn~arm64_access_physical_timer~1` + +Description: +Domain shall access and make use of the physical timer by accessing the +following system registers: +CNTPCT_EL0, +CNTP_CTL_EL0, +CNTP_CVAL_EL0, +CNTP_TVAL_EL0. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` + +Trigger the virtual timer interrupt from a domain +------------------------------------------------- + +`XenSwdgn~arm64_trigger_virtual_timer_interrupt~1` + +Description: +Domain shall program the virtual timer to generate the interrupt when the +asserted condition is met. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` + +Trigger the physical timer interrupt from a domain +-------------------------------------------------- + +`XenSwdgn~arm64_trigger_physical_timer_interrupt~1` + +Description: +Domain shall program the physical timer to generate the interrupt when the +asserted condition is met. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` + +Assumption of Use on the Firmware +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D + +Expose system timer frequency +----------------------------- + +`XenSwdgn~arm64_program_cntfrq_el0_or_dt_prop_system_timer_freq~1` + +Description: +Underlying firmware shall program CNTFRQ_EL0 with the system timer frequen= cy. +As an alternative, "clock-frequency" dt property (in the host device tree)= can +also be used to specify the system timer frequency. This helps in case of = buggy +firmware when CNTFRQ_EL0 is programmed incorrectly or not programmed at al= l. + +Rationale: + +Comments: + +Covers: + - `XenProd~emulated_timer~1` diff --git a/docs/fusa/reqs/design-reqs/xen-version.rst b/docs/fusa/reqs/de= sign-reqs/xen-version.rst new file mode 100644 index 0000000000..c5c58bb2df --- /dev/null +++ b/docs/fusa/reqs/design-reqs/xen-version.rst @@ -0,0 +1,207 @@ +Hypercall xen_version +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +The following are the requirements related to __HYPERVISOR_xen_version hyp= ercall +[1] exposed by Xen to Arm64 and AMD64 PVH domains. + +Access hypercall __HYPERVISOR_xen_version for getting xen version +----------------------------------------------------------------- + +`XenSwdgn~access_hyp_xen_version_read_ver~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_version +as a command. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Validate the xen version returned by the XENVER_version command +--------------------------------------------------------------- + +`XenSwdgn~validate_version_hyp_xen_version~1` + +Description: +The xen version returned should correspond to 4.18. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Access hypercall __HYPERVISOR_xen_version for getting xen extraversion +---------------------------------------------------------------------- + +`XenSwdgn~access_hyp_xen_version_get_extraversion~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_extraversion a= s a +command. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Access hypercall __HYPERVISOR_xen_version for getting compile information +------------------------------------------------------------------------- + +`XenSwdgn~access_hyp_xen_version_get_compile_info~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_compile_info a= s a +command. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Access hypercall __HYPERVISOR_xen_version for getting capabilities +------------------------------------------------------------------ + +`XenSwdgn~access_hyp_xen_version_get_capabilities~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_capabilities a= s a +command. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Validate the capabilities returned by XENVER_capabilities command +----------------------------------------------------------------- + +`XenSwdgn~validate_cap_return_xenver_capabilities~1` + +Description: +For Arm64, the capabilities returned should be xen-*-aarch64 string. +For AMD64 PVH, the capabilities returned should be hvm-*-x86_64 string. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Access hypercall __HYPERVISOR_xen_version for getting changeset +--------------------------------------------------------------- + +`XenSwdgn~access_hyp_xen_version_get_changeset~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_changeset +as a command. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Access hypercall __HYPERVISOR_xen_version for getting features +-------------------------------------------------------------- + +`XenSwdgn~access_hyp_xen_version_get_features~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_get_features a= s a +command. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Check supported features returned by the XENVER_get_features command when = the submap index passed is 0 +--------------------------------------------------------------------------= ---------------------------- + +`XenSwdgn~check_supported_features_xenver_get_features~1` + +Description: +For Arm64, the bit position corresponding to the supported features should= be 1. +Examples of Arm64 supported features: + + * XENFEAT_ARM_SMCCC_supported + +For AMD64 PVH, the bit positions corresponding to the supported features s= hould +be 1. +Examples of AMD64 PVH supported features: + + * XENFEAT_memory_op_vnode_supported + * XENFEAT_vcpu_time_phys_area + * XENFEAT_runstate_phys_area + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Access hypercall __HYPERVISOR_xen_version for getting guest handle +------------------------------------------------------------------ + +`XenSwdgn~access_hyp_xen_version_get_guest_handle~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_guest_handle a= s a +command. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Access hypercall __HYPERVISOR_xen_version for getting xen pagesize +------------------------------------------------------------------ + +`XenSwdgn~access_hyp_xen_version_get_xen_pagesize~1` + +Description: +Domain shall access __HYPERVISOR_xen_version passing XENVER_pagesize +as a command and NULL as the guest handle. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +Validate the page size returned by XENVER_pagesize command +---------------------------------------------------------- + +`XenSwdgn~validate_page_size_xenver_pagesize_cmd~1` + +Description: +The returned page size should be 4KB. + +Rationale: + +Comments: + +Covers: + - `XenProd~version_hypercall~1` + +| [1] https://xenbits.xenproject.org/gitweb/?p=3Dxen.git;a=3Dblob;f=3Dxen/= include/public/version.h;hb=3DHEAD diff --git a/docs/fusa/reqs/market-reqs/reqs.rst b/docs/fusa/reqs/market-re= qs/reqs.rst new file mode 100644 index 0000000000..a3f84cd503 --- /dev/null +++ b/docs/fusa/reqs/market-reqs/reqs.rst @@ -0,0 +1,77 @@ +Functional Requirements +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Run Arm64 VMs +------------- + +`XenMkt~run_arm64_vms~1` + +Description: +Xen shall run Arm64 VMs. + +Rationale: + +Comments: + +Needs: + - XenProd + +Run AMD-x86 VMs +--------------- + +`XenMkt~run_x86_vms~1` + +Description: +Xen shall run AMD-x86 VMs. + +Rationale: + +Comments: + +Needs: + - XenProd + +Support non paravirtualised VMs +------------------------------- + +`XenMkt~non_pv_vms_support~1` + +Description: +Xen shall support running guests which are not virtualisation aware. + +Rationale: + +Comments: + +Needs: + - XenProd + +Provide console to the VMs +-------------------------- + +`XenMkt~provide_console_vms~1` + +Description: +Xen shall provide a console to a VM. + +Rationale: + +Comments: + +Needs: + - XenProd + +Provide timer to the VMs +------------------------ + +`XenMkt~provide_timer_vms~1` + +Description: +Xen shall provide a timer to a VM. + +Rationale: + +Comments: + +Needs: + - XenProd diff --git a/docs/fusa/reqs/product-reqs/reqs.rst b/docs/fusa/reqs/product-= reqs/reqs.rst new file mode 100644 index 0000000000..9954b7532a --- /dev/null +++ b/docs/fusa/reqs/product-reqs/reqs.rst @@ -0,0 +1,64 @@ +Domain Creation And Runtime +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D + +Emulated UART +------------- + +`XenProd~emulated_uart~1` + +Description: +Xen shall emulate Arm SBSA UART on behalf of the domains. + +Rationale: + +Comments: +The domains can use it to write/read to/from the console. + +Covers: + - `XenMkt~run_arm64_vms~1` + - `XenMkt~non_pv_vms_support~1` + - `XenMkt~provide_console_vms~1` + +Needs: + - XenSwdgn + +Emulated Timer +-------------- + +`XenProd~emulated_timer~1` + +Description: +Xen shall emulate Arm Generic Timer timer on behalf of domains. + +Rationale: + +Comments: +The domains can use it for e.g. scheduling. + +Covers: + - `XenMkt~run_arm64_vms~1` + - `XenMkt~non_pv_vms_support~1` + - `XenMkt~provide_timer_vms~1` + +Needs: + - XenSwdgn + +Version Hypercall +----------------- + +`XenProd~version_hypercall~1` + +Description: +Xen shall provide an interface to expose Xen version, type and compile +information. + +Rationale: + +Comments: + +Covers: + - `XenMkt~run_arm64_vms~1` + - `XenMkt~run_x86_vms~1` + +Needs: + - XenSwdgn --=20 2.25.1 From nobody Sat Nov 23 13:27:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1722592016; cv=pass; d=zohomail.com; s=zohoarc; b=JFWUNr/sQJzuMyqU00+IPGh0NWCwsY20YK/F2uOYG6Os2Jh3EaWLv/i8319r+ETBbTGlGWebzflriPXPBI/zOZVnXTMF2COgRn5Ggc827Ra9cgVkORXSrLblJLJ2K/IJTTjxDkgz2TODiwyBCkFwNMcE7mS7vYsVlnq10Mrli2E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1722592016; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+PH+usP0G5xTrCqcAYiKhBQS5kLnoQhrAx4bS3grPWU=; b=UahPJ8JMeCPZOnjufiHCLyKSBSUyy0OYBub2z5aCxuSkWCJcO9DwfHRgoLtoHlu7YiaEaYE7xmwg+oQsMTTBVO99vx9QtBFgNTj3zxdFyMXGLXIt6pbbS3hReQGjs/Y9j1xrIGgr8Qo5uFKkZ4jIE5ACmhPMAxjhe9zUrmakBzA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1722592016188899.4568365484724; Fri, 2 Aug 2024 02:46:56 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.770848.1181465 (Exim 4.92) (envelope-from ) id 1sZort-0000ge-C9; Fri, 02 Aug 2024 09:46:37 +0000 Received: by outflank-mailman (output) from mailman id 770848.1181465; Fri, 02 Aug 2024 09:46:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZort-0000fy-94; Fri, 02 Aug 2024 09:46:37 +0000 Received: by outflank-mailman (input) for mailman id 770848; Fri, 02 Aug 2024 09:46:36 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sZorr-0000IF-Up for xen-devel@lists.xenproject.org; Fri, 02 Aug 2024 09:46:35 +0000 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on20600.outbound.protection.outlook.com [2a01:111:f403:2416::600]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 1a357734-50b4-11ef-bc03-fd08da9f4363; Fri, 02 Aug 2024 11:46:35 +0200 (CEST) Received: from MW4PR03CA0316.namprd03.prod.outlook.com (2603:10b6:303:dd::21) by IA1PR12MB7712.namprd12.prod.outlook.com (2603:10b6:208:420::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.28; Fri, 2 Aug 2024 09:46:30 +0000 Received: from CO1PEPF000044F4.namprd05.prod.outlook.com (2603:10b6:303:dd:cafe::68) by MW4PR03CA0316.outlook.office365.com (2603:10b6:303:dd::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.23 via Frontend Transport; Fri, 2 Aug 2024 09:46:30 +0000 Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1PEPF000044F4.mail.protection.outlook.com (10.167.241.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Fri, 2 Aug 2024 09:46:30 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 2 Aug 2024 04:46:28 -0500 Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 2 Aug 2024 04:46:28 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1a357734-50b4-11ef-bc03-fd08da9f4363 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qzMsOsh6m+1P9nXHgp/vZfvRcpIZ+qGnptm0MFiNMasn/ZkaKH7tVR3KVXrAFf/MZWylh4NVnTvgeu38D6Iv1fKtcpYCRy+p26siIJ0m6lELz3B088rKFPNWt87itpwLIFuEvj/NAWqIKwu70X0O37RVN9jHi/FjE2svBqDXG/1GOM46CwzNwjmEYSgeRA8adM7/j8elrMgfte58B6v5b1/y73kaw6SvvxfzXfrOQwpCcNVgfeiIcyGmLnclQKhdgYDKcmE6LNrIKBpZpBJE1aXjca6xXL2KktMD1O9u1xTFWgvsHt7VIj0r6D+/soAOGZgeTJJstVPL4WjweiiDQg== 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=+PH+usP0G5xTrCqcAYiKhBQS5kLnoQhrAx4bS3grPWU=; b=ZLQAUaMgplfwLYT7Md7aS4xkKhkMJF/zesUwNXj/T+kqJG5trz+OV7s5qz0FoOcNLqbhGkx5vCitElBb5PgaILduSXBrv4/L5Dj5j4eg2HTYOj8S3BjRwVK/XXDQzS1G6Wukpg1nqwLIM+aqmziS8gxo3J8IGvxKLeIZzpyAQnQnbtwWgCuFgv7dHE7zjSs3KpAkqQEl7eEjHSQi3kSfNVPpIUwunnvZgDmP8AIkadBF4DMSkFZZjIf/+f3rcDk0O40SXVaQGBt9eLMRfBiKNTmNw8qDiEGQk3BSkGDAG88JvUzA8FuxGMr1hCjBQrcSBPvZo4vw0lr+QcfqzakYfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+PH+usP0G5xTrCqcAYiKhBQS5kLnoQhrAx4bS3grPWU=; b=f/KMXBU2Ylsveor7OW+Iag7LUO9FscbC9IwWa5a5Va889dXMIfX1EDP0oJ9k83tn/b0P59LBrtiYBN4ZBW7C0+kjjgnOLn7OTQPssfRb3B+MlETBU/isaTWebxNc/5JPGfJXbvr0GTYqnUBNqwdN5l5P6JvyYqJLRxM7nXFE4NA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C From: Ayan Kumar Halder To: , , , , , CC: Subject: [PATCH v2 3/3] docs: fusa: reqs: Added a requirements writing style guide Date: Fri, 2 Aug 2024 10:46:14 +0100 Message-ID: <20240802094614.1114227-4-ayan.kumar.halder@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240802094614.1114227-1-ayan.kumar.halder@amd.com> References: <20240802094614.1114227-1-ayan.kumar.halder@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F4:EE_|IA1PR12MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: b5a92b44-4c90-457f-601c-08dcb2d7fc99 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?2G6eOntsc83bzXk3z5whKCebIWycyvprIq77dBLZiyi6CxBvPgTDsP6bRBFV?= =?us-ascii?Q?iuqdnIkMpwiRWeM4swmOf2JkvzKwsRavHYfNNEDjglVtYEbJaKFhDymsEyJZ?= =?us-ascii?Q?hoGhlqb8yaI/FZ/XBXVYTHqc1hutrtOHLiNtmugtac59tRNFFR3IclfcY8yQ?= =?us-ascii?Q?c2YlMRTyKk7jyzBc6PfJJIVk7oEwu46bX9p9iVCOjg6K3L+50YONvgd5QBgN?= =?us-ascii?Q?A5/ml9sT4wPzKM7bNYPt7ipfS0bcQa7bH3H7VVYrgCB9Ag677Cc+2/6jcuFs?= =?us-ascii?Q?ERyadC3gdlNGwTYxTGocYxk2wW9gJQshrbzYS2GwLv/e9nkHYyHbaZyPQHua?= =?us-ascii?Q?ZkRDvQhZoU/x2eAUTO5hQ/kOZDEbf5228mZYHZqMT82a9/gy6aOn/YZVmaSe?= =?us-ascii?Q?/V0KYzMzWi3weOx+xjDwSuPplBpxhDHUAGwiKz48p8K1DUmoF1NLt0HLKHKW?= =?us-ascii?Q?AcFUqKWlFMScQmqqLeG/5+oy52ZZSnURnNYR4zDflCxDXV+AegMN3xcuYYFh?= =?us-ascii?Q?JzKFtdmjEO4DRi8CTRKAIyUN7OrndN87Kx6TYvIHMVKM7zUWUPdnroo10duL?= =?us-ascii?Q?9t84927qSwbvoAIHHf+ZR8hjPUGWe4gqCe27CH6CmdeIfxE2WYNa6WTldj1t?= =?us-ascii?Q?RpAdKjk9qcap5JHOWHEQ3/TvmMXDET9MGfJG+BDsoj6/d9sNbUoGJdTTfIAP?= =?us-ascii?Q?mhuexlgt6gcCBjP7xvzH78O6K9mKkjNbXPiept6u9KvJT5VTye7auHwUSoaH?= =?us-ascii?Q?o84LB9bLz5h0zhQ4jidCwy4Xif9VhXbldUX5Ed2OsiRNTYCAR7CzypcqlLQK?= =?us-ascii?Q?65jh422HZM0y4qtx5OgBd/Kp5RoApGVuJf9dVvlwxAZWAXas0mX5sKP1ZZf1?= =?us-ascii?Q?kgd9AYP3Qi87l2FU6MdypXeeU8D0CbN9+r0rRoRY3o7IOKRA/R5rMfZZ5sIg?= =?us-ascii?Q?ZSKVLNwJep4zKh/M5zYw4C65WZ7cZBjb7rfk+1Fz2gCjutnXX7q1EL2dcDXR?= =?us-ascii?Q?WVvCgldBt9LojjnB0oybCrtodkpmS4aWnwY0yA9UNtW1AF6kwnuImR4UySie?= =?us-ascii?Q?Z1qx6K6lK+w1oaRNTVX4mrUCS66fGlzlCUFi5IvI9tRl1sr8tS9FFWRZ9tCY?= =?us-ascii?Q?Zr2ypgUPMfgNM/auqBNhBCrbWYP5u8c4jJmbP2EemL1SAIBQLJe3b0SJfTJu?= =?us-ascii?Q?7R0rABpHGNPHmjy4NMwcy3g0yldK2bgYGb1M6rhR6jyiIRVKCKEnSzqIjQ9n?= =?us-ascii?Q?kx4aleyc9quXZ+DuI3YRLHfH+pk30zqYFqL9juuAqKhzh+O6BKOR8WGiV6Hg?= =?us-ascii?Q?hf8Sfezorlg3IGZx4Ta6f0GzkJ0HiuVXWaGv9HZu6R3ZyUVkD+X2zQkriPjg?= =?us-ascii?Q?7bg/F1GhZFvh1/igYlX8mDTN1qfWDlvJvIQgy3xXjdbtBMhuhOxMrlVg4rYs?= =?us-ascii?Q?bPljRmb0huzVjm4mY2mQgqOfh/ldAFt5?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2024 09:46:30.2578 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b5a92b44-4c90-457f-601c-08dcb2d7fc99 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044F4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7712 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1722592018283116600 Content-Type: text/plain; charset="utf-8" Added a guide to help write and review requirements. The requirements are written to enable safety certification of Xen hypervisor. Signed-off-by: Ayan Kumar Halder Acked-by: Bertrand Marquis --- Changes from :- v1 - 1. No change. docs/fusa/reqs/REQUIREMENTS-STYLE | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/fusa/reqs/REQUIREMENTS-STYLE diff --git a/docs/fusa/reqs/REQUIREMENTS-STYLE b/docs/fusa/reqs/REQUIREMENT= S-STYLE new file mode 100644 index 0000000000..cd2408b9f2 --- /dev/null +++ b/docs/fusa/reqs/REQUIREMENTS-STYLE @@ -0,0 +1,34 @@ +Requirements writing style for the Xen Hypervisor +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +The requirements writing style described below is the style used for writi= ng the +requirements of the Xen hypervisor to enable functional safety certificati= on. + +The requirements writing style is inspired from the ANSI/IEEE guide to Sof= tware +Requirements Standard. Specifically, the requirements should satisfy the +following validation checklist. +(Source - https://www.nasa.gov/reference/appendix-c-how-to-write-a-good-re= quirement) + +Clarity - +The requirements should be clear, unambiguous, consise and simple. Each +requirement should express a single thought. Each requirement stated shoul= d have +a single interpretation. + +Consistency - +Any requirement shouldn't contradict with any other requirement. The requi= rements +should be categorized correctly (the categories have been explained in the +README). The tone of each requirement should be definitive (ie "Xen shall = ..." +should be present in each requirement). + +Traceability - +Any market requirement should be linked to the product requirement/s and +vice versa. Any product requirement should be linked to the design require= ment/s +and vice versa. Full bi-directional traceability should be maintained betw= een +market, product and design requirements. + +Correctness - +The requirements should be feasible and technically correct (at the time of +writing). However, it is not expected that the requirements will be kept u= pto +date with the code. + +The requirements follow the same license and line length as the code. --=20 2.25.1