From patchwork Thu Oct 15 13:26:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 1382666 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2001:8b0:10b:1231::1; helo=merlin.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=merlin.20170209 header.b=FmJixpmm; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.a=rsa-sha256 header.s=dkim.wdc.com header.b=UnCrEAr2; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-sharedspace-onmicrosoft-com header.b=f3G3CE/5; dkim-atps=neutral Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CBqpP5wdmz9sSs for ; Fri, 16 Oct 2020 00:27:39 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=W2vApdw0yEuWE/pzxQ6c7O/CtTlC9MQl83EoWlUsEOo=; b=FmJixpmmBZkHwiXT16C6AQUQ2Z 2GHf66BD5FyyBZVsU6y29VliNM3VJEF2koPfx9Na/a+T5LFEuVLFqOVPpY+wpn3ifysYW4IzeB/+G x5ZmXhdeRgbRrg/DUJnwCxrN63j+4PSF3xd2C6wlww4IW2foO3FWj2N3T/ObvtKntiL+fVLEBcuIk djpe+oNDAPC9eMT+m01emsDHMYsTN2OEXuwgl7+FpJw78IDE/HLGrzrXfcw/LzAF5TuyvzHXKoxs0 CQNqx501q4FzWr0U8H4qWgOJskXQXx9byemp9Xk2UnLjZTxW/xeO1FTt5TshErFufQeZYKaE0fMJT O+leptuA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kT3I3-0004Dm-4V; Thu, 15 Oct 2020 13:27:31 +0000 Received: from esa3.hgst.iphmx.com ([216.71.153.141]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kT3Hz-0004DJ-UU for opensbi@lists.infradead.org; Thu, 15 Oct 2020 13:27:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1602768448; x=1634304448; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=BaIeHTpo6RoQRjQH55/3u+Q4diZR0VsygVeVRnSlTEg=; b=UnCrEAr243Kko8d1+Ps5OPsTuMg2BM0pGsv/KC8AMYyQT+2lT/eH3MmB k+kZhmGCD++so++8iprmiXhNruNWk/FxzkrVxsNB/fvOpmVyqaV7cqeEj r5FzwjT7WGamz7q3zbvrx9mUc3UvL3QazgRY3UfIXzwx6bQMEwayLxh7O Onl4UAZPB62RJsjLw9yjCZNjmx+B54qVBkT59co5+HlwWYWyVuy1S9h5k jjFwLVw/psl9VlzeAx9K+sf3Bqd74VqOcCvkFfHK4D3vvteaUQUURVnyS 7tyEiIl9eqz0x0XuNOd1p3N2GKN1fG+NZSz9X4HEXhqJ1FmAYiRfnyV1i g==; IronPort-SDR: UyYNN859s8vWbmlRleGe310v82VvAdqQi+wBRLMsMYK8//piEUIu2Lw3cqP9sNrLloI4gzOwdM wruuOzIX0Ew+OuWZIPzvQeXgkzt68q7FY7I06RCcdJ2rBff5rnRPTDRvnO1wkiPQuboVm0XeCI 5aJ5G19rY5P1KJ2mgwR5DlKN7np8wNIumTsqmJZalK+6fCQb3CzmY2p5/qs7l/xrE5KcH1c98S fCOWb6uQH8p+y32dHjwLqfNgONfiuQ7j5TuJEDDY+SuNimgYi4t6TrickRTnAO4CHxKKQWhiSV SG0= X-IronPort-AV: E=Sophos;i="5.77,379,1596470400"; d="scan'208";a="154457403" Received: from mail-cys01nam02lp2059.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) ([104.47.37.59]) by ob1.hgst.iphmx.com with ESMTP; 15 Oct 2020 21:27:24 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dA/aOdsrrevCutG14KeuXnJwRM8nr9JRAAJiv5JURTEZlV6BbrDxeq3MiWiMCMtOvUeW83rWnztTLSLm7X6O+OxYcjKwQ0DLg/SwPpGEuub8vsKbX6gg4zNy4aUHZgcOfUgLLLB4zNOlLkyfyOtV0GhbWGBAoVXdBozY57YtiJlsEh83nt4ufNFcfFssj6VoFbn3uXd6NmJPMkKYmvgzXOSJLBnQtN7BBJ79CF6kza25Tp49XSU0ArprUlTb1pbKT2HKqJNEGr7guLldeoeHn/lkLDhYU6GzBXAG8z3Oqb6S0Slw0VvzRflaUSrsXNo8UIWZszft97FB6RmNHA3Zew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O+dCQ8nuqdmC1S9dyAkZuPU9viL/OXAG3RY7ydW5Qq4=; b=TOk35vrzu/5bt+xmENzLrFVLsChZF4gEIYMi2YZGG0KBgr+KMCABjGqUpChJvJeyuy+eTq3Qxv+VQK/cHBxK/Tz88PQKSj7Y+8dP5acKQ39q/vuSv3mb2wWLJTd7nYbT9dIKUQXbRgTPZWggPB0KKqIt5dB8OqGiEsgH3zepwPYU8qzG1g+xV52qbik5VqevvjIDilvGOFbanDyWl5VERugcINn3592Fd6TRjQncCDRdWdWeh7hixFY8D5a0n82xwM/WY2yftCZOswfLejTEb7qOWsAYfP89WVFMP4m1SD+pO5zJ8jSDCRJHdxZlMDzmFmEapdLFFqfwTKfIvS/uIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass header.d=wdc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O+dCQ8nuqdmC1S9dyAkZuPU9viL/OXAG3RY7ydW5Qq4=; b=f3G3CE/5kKU+BqJh6+8b5TY8WB3llIRQYrC715FA7lANB/KFNTVAAWb+yxpmssbmUczLUTlgWfvTF8lwYeqfQz3PYatamTDoqGvRtBeu2yPu7B0z8mM3HURt9gVMxQKckRUmIJ2IfcFjsP/OKPf4kzFGvRweQagLC9f4a1gqJb0= Authentication-Results: wdc.com; dkim=none (message not signed) header.d=none;wdc.com; dmarc=none action=none header.from=wdc.com; Received: from DM6PR04MB6201.namprd04.prod.outlook.com (2603:10b6:5:127::32) by DM6PR04MB6624.namprd04.prod.outlook.com (2603:10b6:5:1b6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.21; Thu, 15 Oct 2020 13:27:23 +0000 Received: from DM6PR04MB6201.namprd04.prod.outlook.com ([fe80::d035:e2c6:c11:51dd]) by DM6PR04MB6201.namprd04.prod.outlook.com ([fe80::d035:e2c6:c11:51dd%6]) with mapi id 15.20.3477.021; Thu, 15 Oct 2020 13:27:23 +0000 From: Anup Patel To: Atish Patra , Alistair Francis Subject: [PATCH v2 00/16] OpenSBI domain support Date: Thu, 15 Oct 2020 18:56:44 +0530 Message-Id: <20201015132700.2232820-1-anup.patel@wdc.com> X-Mailer: git-send-email 2.25.1 X-Originating-IP: [122.167.44.151] X-ClientProxiedBy: MAXPR0101CA0065.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:e::27) To DM6PR04MB6201.namprd04.prod.outlook.com (2603:10b6:5:127::32) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from wdc.com (122.167.44.151) by MAXPR0101CA0065.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:e::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.22 via Frontend Transport; Thu, 15 Oct 2020 13:27:20 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2f9bd481-b0b5-401d-0123-08d8710e0ccf X-MS-TrafficTypeDiagnostic: DM6PR04MB6624: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: WDCIPOUTBOUND: EOP-TRUE X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gvGU4Gf5jpI2GfabvHJo4oZH6ZPXMt91uUB1SX6mrBlyYYFZUbBWZJW0CtNL7vQn2X1rjWufPu8vFGCWsp1FEjERRA+R7JZhApqeOBXBX3sP6LReAX+9kh2WBeD53zRsSDBY70EBX0S+5pL+DQjia64uEfc2frvP3v20KAx2NrzGRVtJn96TR/nJOqWPNZh9eDIOpiWbXNUXM1dS4sAfxuzezrHuzimRIhrt2q72SvI9p82h39igUBJZ5xIMi324F7wMMPuhytw9XIMob8+4scg83SQJEbm4IUT+UFcnZGNGfFWQrCGH1CL8h8xdMEv0e17ckMOd4mM5m0Or5zLA7DsC55UF3/wbSfqnNOydMJuXW3d4PrGsV1uPFQiy2jLoadULoDMlof7O4NiDabNQCXOs8a/62GdmXco75SBrRcCiSCA3t8w46arOxCpXT9CMmBGCcSBWJDVVupp4zQa6ag== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR04MB6201.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(376002)(39860400002)(136003)(366004)(346002)(2906002)(66946007)(110136005)(66556008)(5660300002)(44832011)(66476007)(36756003)(6666004)(316002)(54906003)(8886007)(8676002)(8936002)(86362001)(34490700002)(1076003)(52116002)(26005)(16526019)(186003)(55016002)(83380400001)(966005)(478600001)(956004)(2616005)(6636002)(83080400001)(4326008)(7696005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: A/DWOjgLXIT/yOY8J+fWv8mUnsJU1ohCC37M3f5JeYlrGbEYcAeomhEuaIhEffreBfqgE5fI+jxOJ00V8DpvPnpVPHdUAPOS+cZjFL1+yBZj0X0EjEfTxsXpK6kjG6u56apb6OIsNA2/tz+evh0a1MfqtsZEskJyjTxiqW24p3mdoppFoPZss5kGZ0gHOnOLN3t/PwTvM/G1v6Z6kumo+4bgncYS1x9Oc+78b1R87cUFQrrxRUnah1jyo4ScIdM+4yvqD/W7bVHcudxO7BZJlX4VwIaJgRrHCSlJBH88tgUMkPXwSH5Vn8kjmuYAxp/Y9iMALMufJ806KKqtq7LasLWJ//JDYdmvqKIzuPTVU2kGHPAAy4P5XhbaxPZXLY1R9J9vFVvegDaJHcRJHsFDpXdxZagL1Aa1sgFkyRRTzD3hBpBSOer8fY4bWkpfOZp29foEPUhQyVCc0oGbdE1hy+MSmCXjdDolBuuks+/ED5bV0kkWVoq41u111W2VaJJnLW8BynQz0ZO07w8sY7K+iLEm5qYdU1bjjicvDxcNeMLklAS9nbhIWuGXmSO6fruzyFBQl+hIqcZG0B+bIYT9+rhf6NDnNSJh7BxU7KWZxdF5YKTo5QfJBj7iMq2zk0xjKJ4rQcABxvBtnF746KpDbQ== X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f9bd481-b0b5-401d-0123-08d8710e0ccf X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB6201.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2020 13:27:23.4336 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pG7C8852mrMQTlLMa56DhLFLqEqgVWFsZMvuWHw6IkmjYD4YUNGqQDBu1KNkIxTAeOzVzCGDfewVtjcsv8iwVw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR04MB6624 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201015_092728_923967_2BFFBAEE X-CRM114-Status: GOOD ( 16.84 ) X-Spam-Score: -2.5 (--) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-2.5 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [216.71.153.141 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.0 MSGID_FROM_MTA_HEADER Message-Id was added by a relay X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Anup Patel , Anup Patel , opensbi@lists.infradead.org Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org This series extends OpenSBI to provide system-level partitioning where each logical system-level partition is referred to as OpenSBI domain. The last patch of this series provides documentation for OpenSBI domain support. It will be responsibility of OpenSBI platform support to populate OpenSBI domains based on use-case of platform vendor. We will be having separate series to extend OpenSBI generic platform so that OpenSBI generic platform can populate OpenSBI domains from DTB passed by the previous booting stage which in-turn provides more configurability to the previous booting stage. These patches are also available in domains_v2 branch at https://github.com/avpatel/opensbi.git Changes since v1: - Updated PATCH subject in PATCH5 - Updated PATCH6 to allow next stage mode as S-mode or U-mode only - Added SBI_DOMAIN_MAX_INDEX define in PATCH6 - Renamed sbi_domain_assigned_hart to sbi_domain_is_assigned_hart in PATCH6 - Renamed sbi_domain_assigned_hartmask to sbi_domain_get_assigned_hartmask in PATCH6 - Addressed nit comments in PATCH16 Anup Patel (16): include: sbi: Remove redundant includes from sbi_platform.h include: sbi: Remove pmp_region callbacks from sbi_platform_operations lib: sbi: Configure PMP late in coldboot and warmboot path lib: sbi: Remove redundant hartid parameter from sbi_hart_init() include: sbi: Make hartmask pointer const in sbi_hartmask_test_hart() lib: sbi: Add initial domain support lib: sbi: Extend sbi_hsm_hart_started_mask() for domains lib: sbi: Extend sbi_hsm_hart_start() for domains lib: sbi: Optimize sbi_hsm_hart_started_mask() implementation lib: sbi: Extend sbi_system_reset() for domains lib: utils: Update fdt_reserved_memory_fixup() to use current domain lib: utils: Update fdt_cpu_fixup() to use current domain lib: sbi: Remove redundant sbi_hart_pmp_xyz() functions lib: sbi: Configure PMP based on domain memory regions lib: sbi: Display domain details in boot prints docs: Add initial documentation for domain support README.md | 3 + docs/domain_support.md | 106 +++++++++ docs/doxygen.cfg | 1 + include/sbi/sbi_domain.h | 148 ++++++++++++ include/sbi/sbi_hart.h | 13 +- include/sbi/sbi_hartmask.h | 2 +- include/sbi/sbi_hsm.h | 12 +- include/sbi/sbi_platform.h | 56 +---- lib/sbi/objects.mk | 1 + lib/sbi/sbi_domain.c | 473 +++++++++++++++++++++++++++++++++++++ lib/sbi/sbi_ecall_hsm.c | 8 +- lib/sbi/sbi_ecall_legacy.c | 4 +- lib/sbi/sbi_hart.c | 152 ++++-------- lib/sbi/sbi_hsm.c | 59 +++-- lib/sbi/sbi_init.c | 59 +++-- lib/sbi/sbi_ipi.c | 6 +- lib/sbi/sbi_system.c | 11 +- lib/utils/fdt/fdt_fixup.c | 55 ++--- 18 files changed, 923 insertions(+), 246 deletions(-) create mode 100644 docs/domain_support.md create mode 100644 include/sbi/sbi_domain.h create mode 100644 lib/sbi/sbi_domain.c