[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181029235206.30060-5-f.fainelli@gmail.com>
Date: Mon, 29 Oct 2018 16:52:04 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: linux-kernel@...r.kernel.org
Cc: Florian Fainelli <f.fainelli@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Marc Zyngier <marc.zyngier@....com>,
Russell King <rmk+kernel@...linux.org.uk>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Andrey Konovalov <andreyknvl@...gle.com>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Robin Murphy <robin.murphy@....com>,
Laura Abbott <labbott@...hat.com>,
Stefan Agner <stefan@...er.ch>,
Johannes Weiner <hannes@...xchg.org>,
Greg Hackmann <ghackmann@...roid.com>,
Kristina Martsenko <kristina.martsenko@....com>,
CHANDAN VN <chandan.vn@...sung.com>,
linux-arm-kernel@...ts.infradead.org (moderated list:ARM64 PORT
(AARCH64 ARCHITECTURE)),
devicetree@...r.kernel.org (open list:OPEN FIRMWARE AND FLATTENED
DEVICE TREE), rppt@...ux.ibm.com, linux@...linux.org.uk,
green.hu@...il.com, deanbo422@...il.com, gxt@....edu.cn,
ard.biesheuvel@...aro.org
Subject: [PATCH 4/6] of/fdt: Populate phys_initrd_start/phys_initrd_size from FDT
If the architecture implements ARCH_HAS_PHYS_INITRD, make the FDT
scanning code populate the physical address of the start of the FDT and
its size.
Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
---
arch/arm/mm/init.c | 2 +-
drivers/of/fdt.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 8f364aa24172..517e95cfb5d2 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -237,7 +237,7 @@ static void __init arm_initrd_init(void)
phys_addr_t start;
unsigned long size;
- /* FDT scan will populate initrd_start */
+ /* FDT scan will populate initrd_start and phys_initrd_start */
if (initrd_start && !phys_initrd_size) {
phys_initrd_start = __virt_to_phys(initrd_start);
phys_initrd_size = initrd_end - initrd_start;
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 76c83c1ffeda..313cd4f24258 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -899,6 +899,10 @@ static void __early_init_dt_declare_initrd(unsigned long start,
initrd_start = (unsigned long)__va(start);
initrd_end = (unsigned long)__va(end);
initrd_below_start_ok = 1;
+#ifdef CONFIG_ARCH_HAS_PHYS_INITRD
+ phys_initrd_start = start;
+ phys_initrd_size = end - start;
+#endif
}
#endif
--
2.17.1
Powered by blists - more mailing lists