From patchwork Wed Sep 9 14:50:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 1360679 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=A2gsj7wi; 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=FO+4HxLs; 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=QYymlgIW; 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 4BmlMQ4Q0Dz9sVR for ; Thu, 10 Sep 2020 00:51:14 +1000 (AEST) 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:References:In-Reply-To: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:List-Owner; bh=YTDL4IfT0Bbu0sqEphQKu3PoV8MuKsKwKIgEBVXjXbE=; b=A2gsj7wiIu3Aj60vOhp+p1Ddl zfp+gozcwI3iYDB/E1qT4dPRf0tJZoieyyg6WkwK23+tHcq/Wi6f5mdhd5APgpvsJd6JlX9MpoEGY tmmEdKryFaRuUGpE/89ELXaz9VQNZctXBz69pbvxGkzpd1gzPgcIc8gJRtjRMeNRgN27ozlvufLkZ LRSzJobMEMOF96WIx80RAIEkJWiV3Bw8U+qb8UQ4sZ0JGHN1xdsWbWVG8g/XSoVD25h3YA8xmxMmf VTUyQgj/z0w7a32JdV58tpqCjSVtqB/cQBc2JWXAfLYHj85T8+FbGPNT3rVFfLu04K7vsmS16wJcV h7ICyZdug==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kG1RE-0005sI-Ep; Wed, 09 Sep 2020 14:51:08 +0000 Received: from esa1.hgst.iphmx.com ([68.232.141.245]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kG1RB-0005qS-QH for opensbi@lists.infradead.org; Wed, 09 Sep 2020 14:51:06 +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=1599663065; x=1631199065; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=hM21gngFGr52V5+osP3tCJS+vig70/4ErMqApe218eQ=; b=FO+4HxLsuv3HXgLYYGM4JUQfztGJ/IyOYHW2RXIaqYlUDLly+tFmwx4W jIbfOftcfWAWUEab1pOlsmG2rERZli5Gfe+NC8vo0DJ7mFWsUhy7889// ElknfhL07NOiXVHLTEab29NUIEbHdV3vuriB/jYV/+gnQHZBUaozDn1P+ RcZYgUAEV2Ouz8lyOcohCnspqRxPYSP9/N/RbBIMMeCb4OJIB5R5OXiEL mA7/HZtXAQFRgdjErVIYH/TCvyZVheJeZGM4M2Ny3MHbVZO1t8M5abdZ/ 6HjUihjwmtIHp9M5MnYhBkP6aYX7BHNKRNmjCvOQ/oxueoeQ6XOMCzHY7 w==; IronPort-SDR: VZAHdvO0M5viaBZ2b3uvXw9xvzXulKhSKJ7NnMwHAJ+B9+5HmeivR592Lc1NjWDwQwXoueDjYW AHzcBr8IVxHDzs4HaVLgYYGcrKGPoloDSW15KCdG7ZzACulbm8LI3/K201YfxD2kqtbDsLyS4C Dt5zyDUK52/AT6co9tPoDjFJJZytfuwvKff3gzUn3WRE+bM544lYb54l0eZHSnrsztsVtz7C7e qDBfrzclxClAL1er0AU9ePQ+0cjA+eVXK4V4lbQ8mOQdL8Kf+EHX7+BmyqepqJGvwejFo850tv 7I4= X-IronPort-AV: E=Sophos;i="5.76,409,1592841600"; d="scan'208";a="256518902" Received: from mail-co1nam04lp2051.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([104.47.45.51]) by ob1.hgst.iphmx.com with ESMTP; 09 Sep 2020 22:51:02 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YZdDgAaapXGoyZ1YKWM8faktSSPl27z+lvHsc31MxO52QbGS+xZpNTbFcteyXK6D0dBv8u7rzyOzkU2R5Ii1/Ql3IW7BX6l8xeiEnzbOGrAtN+sAeXYfbxNTgwwTZkRk0UYzLwv9D1zeJbIIa8QmxJn7o+0qgxEWZZDafSm9wfZJ6/uRGWnXdOHgIYFP+uDLK4QwAZR5uC8F/lE170r1txryMIu4ss9apC3DNpWQZcJ86nsiZjwnJJFWiiAqJNUGZcntV2NB0OIYgOvdXZ5DzWiDWhuGPawNaGGgtGqdcCFqkW19q5gPyFfaqT13VT4z2vi+zxJi2UqNxsC5+MhUXw== 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=bPH6/o/t8fnMP4OOW8nTYJ8bG15Pheme1zf02fAi2H0=; b=QjMNaGknVdiFekNveUDRpfkpBYp/GTdcd+CuknycFiMMlGknDjHIZ0TzOG+q/y+ZW3YTTEXYEv8vbzaaYjZMNbORms4DTR1aga5SbXv2T2OOXXhckByVD3bS4JBP64B5KWx136KQNr2uvaSPejUzQoWe1WEP5NHf6jTmNNhixKRS92HUI7wWEEr1Gj+0nvndmScewAa1B1oifRLzTuKwR4E5qpsUrgkHakq4VLAdGPJSb9iM4wwcOpaW5yfXiHOZPkjgmsH7RD/hYDrvf+RS+qfFeMQsLA705KxW51f/NhzdTEVVUFc6ImhKl9Gt+ah98X6PYxYkEkPidcS/q+BURQ== 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=bPH6/o/t8fnMP4OOW8nTYJ8bG15Pheme1zf02fAi2H0=; b=QYymlgIWZQ/M4BENRwMu9EAIFLHmxF6yKehIi8+LT1qxX+cgCFYDxpw4wlh49KVBm39BCgtJvagZy4sbMm3bxWAdTs8VdfQMS9G7uLWx7VSpMOhuyW0PrO3MKjbPJerFnq58TzqhAtpXhfc5Goi4ckAdBCT13TESOl/SZ8/9d5g= 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 DM6PR04MB5755.namprd04.prod.outlook.com (2603:10b6:5:162::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Wed, 9 Sep 2020 14:51:01 +0000 Received: from DM6PR04MB6201.namprd04.prod.outlook.com ([fe80::607a:44ed:1477:83e]) by DM6PR04MB6201.namprd04.prod.outlook.com ([fe80::607a:44ed:1477:83e%7]) with mapi id 15.20.3370.016; Wed, 9 Sep 2020 14:51:01 +0000 From: Anup Patel To: Atish Patra , Alistair Francis Subject: [PATCH 3/5] lib: utils: Improve fdt_cpu_fixup() implementation Date: Wed, 9 Sep 2020 20:20:26 +0530 Message-Id: <20200909145028.446794-4-anup.patel@wdc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200909145028.446794-1-anup.patel@wdc.com> References: <20200909145028.446794-1-anup.patel@wdc.com> X-ClientProxiedBy: BM1PR01CA0129.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:40::23) To DM6PR04MB6201.namprd04.prod.outlook.com (2603:10b6:5:127::32) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from wdc.com (103.15.57.4) by BM1PR01CA0129.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:40::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16 via Frontend Transport; Wed, 9 Sep 2020 14:50:59 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [103.15.57.4] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f677d574-f99f-4504-aad5-08d854cfc4d3 X-MS-TrafficTypeDiagnostic: DM6PR04MB5755: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: WDCIPOUTBOUND: EOP-TRUE X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pGskLVzNnpfnzou7h9lDjrsgAUktaarftWSmJJPcgdbD3SOOaGHLHsSwE4qPXrq//a4UdJiN3QnAe5yKGrX7to0hcaXauRlBvZV4x/iSwtq3SFa1n9soVAjDrv3sGrNCaLFvNLOEW9iwTMOoYyQheKEey0Aiq+e0QT+wsLPHpTRSbf/EydbVYpLcjDfbOEYgH74EgsQyhBAOXNqS9LDwonLGV7LX2qDQCyymjOFAZHCRs3L6XEJLz5My5kFYwoaMg4VwEudNJ4o7JUb6ZUSchTuVsL/5xuDQy1ZrGhxa5hKxbV2XuyK0SP9WFVqyTr7NxFwsg4QogOWEIDXakf1tdA== 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)(346002)(376002)(136003)(39860400002)(366004)(396003)(6666004)(66476007)(66556008)(52116002)(2906002)(7696005)(6636002)(86362001)(36756003)(55016002)(4326008)(8886007)(26005)(1076003)(186003)(66946007)(8936002)(16526019)(2616005)(956004)(316002)(110136005)(44832011)(83380400001)(8676002)(5660300002)(478600001)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: B8TJdd2519lpb2MLLqyKFcx7ea1h6t2B/+NeBjTq7qsSCiqRwDx1xwJA6JarvY2AHhnm0AQMZpi5mlNeWW7v+j0XaYMAjtZRPOlLRIHU6DkYf5Dkz6dA4EWY84Ts5QHrN8PFXbDeT0w0RQVAT+hPAPK4Gd9nkUNUCwlAsDTJd7TdZSurppolvSFVEwZv1y/Md/14cqSGGetCut2fXvqVTFSxHyWgwI3aHmjSPOQ5m3iKnTg9GTs28CFzM6BMIjYRN7GfA2xxvqxNEk6C4VZto3nr7j4+q9MPah+wOj/rIxOSI1CHANucpeNQiCwrgMgNYPZtSDxlIa3Rh1CM5hvEChi2oYqB6w1K00DO4N1JV3SL2PwRQ3g9mb5eASOBd4sKKNb+zlhDfFBubWb+EqcEViqLbsEubEkTpzPIAH+x2O84VpWwHEhKKu/OSQk3FlFwYqCfL4I7yOKyerCopCKtAfwUFfWU8QjUst4jKSS46kFjgq41hHbi7+bXk5e90nvFFjMgeIIJ9FxLaOQouwHet9LSlhMaANj7ZbiTjNPRrkPqgm1F6yIEDjwape6AJ4sYuGNebl2kg57iFPXFYMu2D07ogN0I2TzebuULP/itXZVbe6mm/aFBlgjqu4rKY9iTOYQqtwsFbPfQvz7VwMCCeg== X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: f677d574-f99f-4504-aad5-08d854cfc4d3 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB6201.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2020 14:51:01.2173 (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: dg/Sn+ucGgxA6vO/2X8ZTQQgWDzREKfXm7/X3h218pCPeh9hav5tBcPOqs+vGTTgZ0WLzxghak2JEhqvkrpwag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR04MB5755 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200909_105106_115532_B83F1675 X-CRM114-Status: GOOD ( 16.99 ) 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 [68.232.141.245 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_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_EF Message has a valid DKIM or DK signature from envelope-from 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 The fdt_cpu_fixup() should work fine even if HARTs without MMU are not marked invalid by platform support code. In future, we plan to treat HARTs without MMU as valid in the generic platform support so that we can hold these HARTs in HSM STOPPED state. Signed-off-by: Anup Patel Reviewed-by: Atish Patra --- lib/utils/fdt/fdt_fixup.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/utils/fdt/fdt_fixup.c b/lib/utils/fdt/fdt_fixup.c index 4da7397..8f554e1 100644 --- a/lib/utils/fdt/fdt_fixup.c +++ b/lib/utils/fdt/fdt_fixup.c @@ -21,7 +21,8 @@ void fdt_cpu_fixup(void *fdt) { struct sbi_scratch *scratch = sbi_scratch_thishart_ptr(); const struct sbi_platform *plat = sbi_platform_ptr(scratch); - int err, cpu_offset, cpus_offset; + int err, cpu_offset, cpus_offset, len; + const char *mmu_type; u32 hartid; err = fdt_open_into(fdt, fdt, fdt_totalsize(fdt) + 32); @@ -37,7 +38,15 @@ void fdt_cpu_fixup(void *fdt) if (err) continue; - if (sbi_platform_hart_invalid(plat, hartid)) + /* + * Disable a HART DT node if one of the following is true: + * 1. The HART is marked invalid by platform support + * 2. MMU is not available for the HART + */ + + mmu_type = fdt_getprop(fdt, cpu_offset, "mmu-type", &len); + if (sbi_platform_hart_invalid(plat, hartid) || + !mmu_type || !len) fdt_setprop_string(fdt, cpu_offset, "status", "disabled"); }