Message ID | 1455289046-21321-2-git-send-email-ard.biesheuvel@linaro.org |
---|---|
State | Superseded |
Headers | show |
On Fri, Feb 12, 2016 at 03:57:23PM +0100, Ard Biesheuvel wrote: > Since architectures may not yet have their linear mapping up and running > when the initrd address is discovered from the DT, factor out the > assignment of initrd_start and initrd_end, so that an architecture can > override it and use the translation it needs. > > Cc: Rob Herring <robh@kernel.org> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > drivers/of/fdt.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) Mark, Rob, any comments on this? Will > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > index 1f98156f8996..3e90bce70545 100644 > --- a/drivers/of/fdt.c > +++ b/drivers/of/fdt.c > @@ -760,6 +760,16 @@ 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) > +{ > + 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 > * @node: reference to node containing initrd location ('chosen') > @@ -782,9 +792,7 @@ static void __init early_init_dt_check_for_initrd(unsigned long node) > return; > end = of_read_number(prop, len/4); > > - initrd_start = (unsigned long)__va(start); > - initrd_end = (unsigned long)__va(end); > - initrd_below_start_ok = 1; > + __early_init_dt_declare_initrd(start, end); > > pr_debug("initrd_start=0x%llx initrd_end=0x%llx\n", > (unsigned long long)start, (unsigned long long)end); > -- > 2.5.0 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On 22 February 2016 at 17:49, Will Deacon <will.deacon@arm.com> wrote: > On Fri, Feb 12, 2016 at 03:57:23PM +0100, Ard Biesheuvel wrote: >> Since architectures may not yet have their linear mapping up and running >> when the initrd address is discovered from the DT, factor out the >> assignment of initrd_start and initrd_end, so that an architecture can >> override it and use the translation it needs. >> >> Cc: Rob Herring <robh@kernel.org> >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> >> --- >> drivers/of/fdt.c | 14 +++++++++++--- >> 1 file changed, 11 insertions(+), 3 deletions(-) > > Mark, Rob, any comments on this? > Already acked by Rob, and pulled into -next by Catalin ... _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Mon, Feb 22, 2016 at 05:56:40PM +0100, Ard Biesheuvel wrote: > On 22 February 2016 at 17:49, Will Deacon <will.deacon@arm.com> wrote: > > On Fri, Feb 12, 2016 at 03:57:23PM +0100, Ard Biesheuvel wrote: > >> Since architectures may not yet have their linear mapping up and running > >> when the initrd address is discovered from the DT, factor out the > >> assignment of initrd_start and initrd_end, so that an architecture can > >> override it and use the translation it needs. > >> > >> Cc: Rob Herring <robh@kernel.org> > >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > >> --- > >> drivers/of/fdt.c | 14 +++++++++++--- > >> 1 file changed, 11 insertions(+), 3 deletions(-) > > > > Mark, Rob, any comments on this? > > > > Already acked by Rob, and pulled into -next by Catalin ... Weird, I don't see that in my inbox or on the list archives. Where should I be looking? I'd certainly like to see some performance measurement of the BUG_ON in PHYS_ADDR that is introduced later in the series too. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On 22 February 2016 at 18:09, Will Deacon <will.deacon@arm.com> wrote: > On Mon, Feb 22, 2016 at 05:56:40PM +0100, Ard Biesheuvel wrote: >> On 22 February 2016 at 17:49, Will Deacon <will.deacon@arm.com> wrote: >> > On Fri, Feb 12, 2016 at 03:57:23PM +0100, Ard Biesheuvel wrote: >> >> Since architectures may not yet have their linear mapping up and running >> >> when the initrd address is discovered from the DT, factor out the >> >> assignment of initrd_start and initrd_end, so that an architecture can >> >> override it and use the translation it needs. >> >> >> >> Cc: Rob Herring <robh@kernel.org> >> >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> >> >> --- >> >> drivers/of/fdt.c | 14 +++++++++++--- >> >> 1 file changed, 11 insertions(+), 3 deletions(-) >> > >> > Mark, Rob, any comments on this? >> > >> >> Already acked by Rob, and pulled into -next by Catalin ... > > Weird, I don't see that in my inbox or on the list archives. Where should > I be looking? > > I'd certainly like to see some performance measurement of the BUG_ON > in PHYS_ADDR that is introduced later in the series too. > Apologies, I removed you from cc unintentionally. http://thread.gmane.org/gmane.linux.ports.arm.kernel/478714 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 1f98156f8996..3e90bce70545 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -760,6 +760,16 @@ 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) +{ + 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 * @node: reference to node containing initrd location ('chosen') @@ -782,9 +792,7 @@ static void __init early_init_dt_check_for_initrd(unsigned long node) return; end = of_read_number(prop, len/4); - initrd_start = (unsigned long)__va(start); - initrd_end = (unsigned long)__va(end); - initrd_below_start_ok = 1; + __early_init_dt_declare_initrd(start, end); pr_debug("initrd_start=0x%llx initrd_end=0x%llx\n", (unsigned long long)start, (unsigned long long)end);
Since architectures may not yet have their linear mapping up and running when the initrd address is discovered from the DT, factor out the assignment of initrd_start and initrd_end, so that an architecture can override it and use the translation it needs. Cc: Rob Herring <robh@kernel.org> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- drivers/of/fdt.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) -- 2.5.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel