Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp6003734imd; Wed, 31 Oct 2018 05:31:42 -0700 (PDT) X-Google-Smtp-Source: AJdET5eOGMEjLZkt43YAxjAkFPyLqX4G8qxp/qyXh/I0yCs0FyUhEaQI8dS1sTjjkJ/TGa3oukNF X-Received: by 2002:a17:902:b83:: with SMTP id 3-v6mr3331331plr.202.1540989102508; Wed, 31 Oct 2018 05:31:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540989102; cv=none; d=google.com; s=arc-20160816; b=vu7283YzeYFx5Em3KMi80gbMTSv5M5o1gzpnfNh8X2tsPs2fxzUDyPd+4ZjXGEFrf3 8w5UIKqcfcPnWCpEI+ICyCfwcdMIgYrVLXR5hKCVnfYI7/kvC9020bwL4V7bdVZlRBA5 PQOnhRVWEJ8UiVtB9/ttBh7Rg3bKIvm3rRbMWqwEBugCDCz8KM2VmARadYIMZdbBNzDL Tcg1RNJZjGOwcGuj4WM6ZHYleK1hOv0hsrO+UbCdHnYxw6+Wur7cRFo0EEyTLWH+8KjO 6/ayi/THug7h9Juw/ql/wzKg2/KsfgO3pAMB6Tz31RdL838217lF3ib8S+GO8/+RS8kC fljg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=y2jTSdh+RvAu8PCdH+BUkhA19rauUDZYRqc3EIdRSaw=; b=A2x7AXl9vF2XVUfh9vENL2veZZ86NavSBLxq3OoUt++q0vc/03WwUYgpuIoRawkbXE hHoot/4VVN5eO7V3B972kpHf0tb57uLIooCGq0bReb8l8S3+vEFeibEZBowEfBkIHQML hmt95FLDGZBCsi52iZm7M2JwUxct8CzE80i72Ebz2D7t+rWuBtsd3iMYl5eY4DWtPihz 9spqR4nhTW3Gav7+EbsCAxyfk+wSsTGlAhuIXXKZb8x2jnQ5UPtv5Dvr8Cy4+ihRxl+O yj/amXfcz+ntklmkAnS2WNfualnb2rUucsKYgQgTrASE1UIVQo+X6HziWCE5+RIKjw7F /1nw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=CuM12vBz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n2-v6si27059999plk.255.2018.10.31.05.31.19; Wed, 31 Oct 2018 05:31:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=CuM12vBz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728977AbeJaV1u (ORCPT + 99 others); Wed, 31 Oct 2018 17:27:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:57334 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728656AbeJaV1u (ORCPT ); Wed, 31 Oct 2018 17:27:50 -0400 Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 85F3B2084A; Wed, 31 Oct 2018 12:30:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1540989000; bh=F4XYSwQ87Iv8kE/KuKlIGX5f7xm9Byt+q2ENG7vgeMw=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=CuM12vBzu1k8Z6p1XeTIsL+NpJkmQ+SOJG/I7wMp7FbSGwGoOSPh/CbiHo6RE1Wd2 DAajBP2NL8Do26aHUrN1NMFruQ8wl6VWRmpqu3o3jPcEFI4o9PAoDvMqwdmnjWWJP1 uxFfBgxYoHJ5kVblx7P2B7cCdvM7axXjan2xcNr0= Received: by mail-qt1-f169.google.com with SMTP id z2-v6so17432029qts.1; Wed, 31 Oct 2018 05:30:00 -0700 (PDT) X-Gm-Message-State: AGRZ1gKDSY0NLzzlzHC0rA92YanMyyOENrarEpybyfOy9DGgO1hje2uQ F+AgxdkgdhIC9t3/6hGDiedSDDSRCORfD5yYxg== X-Received: by 2002:ac8:6b18:: with SMTP id w24mr2482903qts.144.1540988999663; Wed, 31 Oct 2018 05:29:59 -0700 (PDT) MIME-Version: 1.0 References: <20181030230721.28429-1-f.fainelli@gmail.com> <20181030230721.28429-6-f.fainelli@gmail.com> In-Reply-To: <20181030230721.28429-6-f.fainelli@gmail.com> From: Rob Herring Date: Wed, 31 Oct 2018 07:29:47 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 5/6] of/fdt: Remove custom __early_init_dt_declare_initrd() implementation To: Florian Fainelli Cc: "linux-kernel@vger.kernel.org" , Catalin Marinas , Will Deacon , Frank Rowand , Andrew Morton , Marc Zyngier , Russell King , aryabinin@virtuozzo.com, Andrey Konovalov , Masahiro Yamada , Robin Murphy , Laura Abbott , Stefan Agner , Johannes Weiner , ghackmann@android.com, Kristina Martsenko , chandan.vn@samsung.com, "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , devicetree@vger.kernel.org, rppt@linux.ibm.com, Russell King , Greentime Hu , deanbo422@gmail.com, gxt@pku.edu.cn, Ard Biesheuvel , arcml , Vineet Gupta Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 30, 2018 at 6:07 PM Florian Fainelli wrote: > > Now that ARM64 uses phys_initrd_start/phys_initrd_size, we can get rid > of its custom __early_init_dt_declare_initrd() which causes a fair > amount of objects rebuild when changing CONFIG_BLK_DEV_INITRD. In order > to make sure ARM64 does not produce a BUG() when VM debugging is turned > on though, we must avoid early calls to __va() which is what > __early_init_dt_declare_initrd() does and wrap this around to avoid > running that code on ARM64. > > Signed-off-by: Florian Fainelli > --- > arch/arm64/include/asm/memory.h | 8 -------- > drivers/of/fdt.c | 9 +++++++-- > 2 files changed, 7 insertions(+), 10 deletions(-) > > diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h > index b96442960aea..dc3ca21ba240 100644 > --- a/arch/arm64/include/asm/memory.h > +++ b/arch/arm64/include/asm/memory.h > @@ -168,14 +168,6 @@ > #define IOREMAP_MAX_ORDER (PMD_SHIFT) > #endif > > -#ifdef CONFIG_BLK_DEV_INITRD > -#define __early_init_dt_declare_initrd(__start, __end) \ > - do { \ > - initrd_start = (__start); \ > - initrd_end = (__end); \ > - } while (0) > -#endif > - > #ifndef __ASSEMBLY__ > > #include > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > index e34cb49231b5..f2b5becae96a 100644 > --- a/drivers/of/fdt.c > +++ b/drivers/of/fdt.c > @@ -892,15 +892,20 @@ const void * __init of_flat_dt_match_machine(const void *default_match, > } > > #ifdef CONFIG_BLK_DEV_INITRD > -#ifndef __early_init_dt_declare_initrd > static void __early_init_dt_declare_initrd(unsigned long start, > unsigned long end) > { > + /* ARM64 would cause a BUG to occur here when CONFIG_DEBUG_VM is > + * enabled since __va() is called too early. ARM64 does make use > + * of phys_initrd_start/phys_initrd_size so we can skip this > + * conversion. > + */ > +#if (!IS_ENABLED(CONFIG_ARM64)) Use 'if' not '#if'. Use C code rather than preprocessor whenever possible. > initrd_start = (unsigned long)__va(start); > initrd_end = (unsigned long)__va(end); > initrd_below_start_ok = 1; > -} > #endif > +} > > /** > * early_init_dt_check_for_initrd - Decode initrd location from flat tree > -- > 2.17.1 >