Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1632075 > unrolled thread

[PATCH] arm64: Print DT machine model in setup_machine_fdt()

Started byGeert Uytterhoeven <geert+renesas@glider.be>
First post2017-04-27 14:40 +0200
Last post2017-04-28 18:20 +0200
Articles 6 — 5 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] arm64: Print DT machine model in setup_machine_fdt() Geert Uytterhoeven <geert+renesas@glider.be> - 2017-04-27 14:40 +0200
    Re: [PATCH] arm64: Print DT machine model in setup_machine_fdt() Will Deacon <will.deacon@arm.com> - 2017-04-28 17:00 +0200
      Re: [PATCH] arm64: Print DT machine model in setup_machine_fdt() Geert Uytterhoeven <geert@linux-m68k.org> - 2017-04-28 18:20 +0200
        Re: [PATCH] arm64: Print DT machine model in setup_machine_fdt() Will Deacon <will.deacon@arm.com> - 2017-04-28 19:00 +0200
          Re: [PATCH] arm64: Print DT machine model in setup_machine_fdt() Sudeep Holla <sudeep.holla@arm.com> - 2017-04-28 19:40 +0200
    Re: [PATCH] arm64: Print DT machine model in setup_machine_fdt() Catalin Marinas <catalin.marinas@arm.com> - 2017-04-28 18:20 +0200

#1632075 — [PATCH] arm64: Print DT machine model in setup_machine_fdt()

FromGeert Uytterhoeven <geert+renesas@glider.be>
Date2017-04-27 14:40 +0200
Subject[PATCH] arm64: Print DT machine model in setup_machine_fdt()
Message-ID<tAQSe-Bq-13@gated-at.bofh.it>
On arm32, the machine model specified in the device tree is printed
during boot-up, courtesy of of_flat_dt_match_machine().

On arm64, of_flat_dt_match_machine() is not called, and the machine
model information is not available from the kernel log.

Print the machine model to make it easier to derive the machine model
from an arbitrary kernel boot log.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
I have scripts to save kernel boot logs, and compare logs[*] for
subsequent boots on the same machine.  Having a way to extract the
machine model from an arbitrary kernel boot log makes this easier.

Yes, I'm also a big fan of CONFIG_LOCALVERSION_AUTO and
CONFIG_LOCALVERSION.

[*] and clock and PM domain lists...
---
 arch/arm64/kernel/setup.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 28855ec1be95e113..2c822ef94f341417 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -180,6 +180,7 @@ static void __init smp_build_mpidr_hash(void)
 static void __init setup_machine_fdt(phys_addr_t dt_phys)
 {
 	void *dt_virt = fixmap_remap_fdt(dt_phys);
+	const char *name;
 
 	if (!dt_virt || !early_init_dt_scan(dt_virt)) {
 		pr_crit("\n"
@@ -192,7 +193,9 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys)
 			cpu_relax();
 	}
 
-	dump_stack_set_arch_desc("%s (DT)", of_flat_dt_get_machine_name());
+	name = of_flat_dt_get_machine_name();
+	pr_info("Machine model: %s\n", name);
+	dump_stack_set_arch_desc("%s (DT)", name);
 }
 
 static void __init request_standard_resources(void)
-- 
2.7.4

[toc] | [next] | [standalone]


#1632950

FromWill Deacon <will.deacon@arm.com>
Date2017-04-28 17:00 +0200
Message-ID<tBfxg-jE-3@gated-at.bofh.it>
In reply to#1632075
On Thu, Apr 27, 2017 at 02:33:05PM +0200, Geert Uytterhoeven wrote:
> On arm32, the machine model specified in the device tree is printed
> during boot-up, courtesy of of_flat_dt_match_machine().
> 
> On arm64, of_flat_dt_match_machine() is not called, and the machine
> model information is not available from the kernel log.
> 
> Print the machine model to make it easier to derive the machine model
> from an arbitrary kernel boot log.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> I have scripts to save kernel boot logs, and compare logs[*] for
> subsequent boots on the same machine.  Having a way to extract the
> machine model from an arbitrary kernel boot log makes this easier.
> 
> Yes, I'm also a big fan of CONFIG_LOCALVERSION_AUTO and
> CONFIG_LOCALVERSION.
> 
> [*] and clock and PM domain lists...
> ---
>  arch/arm64/kernel/setup.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> index 28855ec1be95e113..2c822ef94f341417 100644
> --- a/arch/arm64/kernel/setup.c
> +++ b/arch/arm64/kernel/setup.c
> @@ -180,6 +180,7 @@ static void __init smp_build_mpidr_hash(void)
>  static void __init setup_machine_fdt(phys_addr_t dt_phys)
>  {
>  	void *dt_virt = fixmap_remap_fdt(dt_phys);
> +	const char *name;
>  
>  	if (!dt_virt || !early_init_dt_scan(dt_virt)) {
>  		pr_crit("\n"
> @@ -192,7 +193,9 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys)
>  			cpu_relax();
>  	}
>  
> -	dump_stack_set_arch_desc("%s (DT)", of_flat_dt_get_machine_name());
> +	name = of_flat_dt_get_machine_name();
> +	pr_info("Machine model: %s\n", name);
> +	dump_stack_set_arch_desc("%s (DT)", name);
>  }

I think your use-case is slightly questionable (e.g. for ACPI, we print
something different, and this isn't generally considered to be ABI), but
the patch is harmless and if you find it useful then:

Acked-by: Will Deacon <will.deacon@arm.com>

Will

[toc] | [prev] | [next] | [standalone]


#1633009

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2017-04-28 18:20 +0200
Message-ID<tBgMG-1o8-31@gated-at.bofh.it>
In reply to#1632950
Hi Will,

On Fri, Apr 28, 2017 at 4:57 PM, Will Deacon <will.deacon@arm.com> wrote:
> On Thu, Apr 27, 2017 at 02:33:05PM +0200, Geert Uytterhoeven wrote:
>> On arm32, the machine model specified in the device tree is printed
>> during boot-up, courtesy of of_flat_dt_match_machine().
>>
>> On arm64, of_flat_dt_match_machine() is not called, and the machine
>> model information is not available from the kernel log.
>>
>> Print the machine model to make it easier to derive the machine model
>> from an arbitrary kernel boot log.
>>
>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
>> ---
>> I have scripts to save kernel boot logs, and compare logs[*] for
>> subsequent boots on the same machine.  Having a way to extract the
>> machine model from an arbitrary kernel boot log makes this easier.

> I think your use-case is slightly questionable (e.g. for ACPI, we print
> something different, and this isn't generally considered to be ABI), but
> the patch is harmless and if you find it useful then:

Not having access to an ARM ACPI system, what does it print for example?

I don't consider it ABI, though, just informational.

> Acked-by: Will Deacon <will.deacon@arm.com>

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

[toc] | [prev] | [next] | [standalone]


#1633027

FromWill Deacon <will.deacon@arm.com>
Date2017-04-28 19:00 +0200
Message-ID<tBhpn-1F2-13@gated-at.bofh.it>
In reply to#1633009
On Fri, Apr 28, 2017 at 06:16:46PM +0200, Geert Uytterhoeven wrote:
> On Fri, Apr 28, 2017 at 4:57 PM, Will Deacon <will.deacon@arm.com> wrote:
> > On Thu, Apr 27, 2017 at 02:33:05PM +0200, Geert Uytterhoeven wrote:
> >> On arm32, the machine model specified in the device tree is printed
> >> during boot-up, courtesy of of_flat_dt_match_machine().
> >>
> >> On arm64, of_flat_dt_match_machine() is not called, and the machine
> >> model information is not available from the kernel log.
> >>
> >> Print the machine model to make it easier to derive the machine model
> >> from an arbitrary kernel boot log.
> >>
> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >> ---
> >> I have scripts to save kernel boot logs, and compare logs[*] for
> >> subsequent boots on the same machine.  Having a way to extract the
> >> machine model from an arbitrary kernel boot log makes this easier.
> 
> > I think your use-case is slightly questionable (e.g. for ACPI, we print
> > something different, and this isn't generally considered to be ABI), but
> > the patch is harmless and if you find it useful then:
> 
> Not having access to an ARM ACPI system, what does it print for example?

It's supposed to print out some stuff from DMI, but my Juno just says:

  DMI not present or invalid.

Luckily, it's not really an issue because I don't get to a prompt after USB
fails to come up and it times out mounting the rootfs.

Will

[toc] | [prev] | [next] | [standalone]


#1633047

FromSudeep Holla <sudeep.holla@arm.com>
Date2017-04-28 19:40 +0200
Message-ID<tBi25-2bq-3@gated-at.bofh.it>
In reply to#1633027

On 28/04/17 17:52, Will Deacon wrote:
> On Fri, Apr 28, 2017 at 06:16:46PM +0200, Geert Uytterhoeven wrote:
>> On Fri, Apr 28, 2017 at 4:57 PM, Will Deacon <will.deacon@arm.com> wrote:
>>> On Thu, Apr 27, 2017 at 02:33:05PM +0200, Geert Uytterhoeven wrote:
>>>> On arm32, the machine model specified in the device tree is printed
>>>> during boot-up, courtesy of of_flat_dt_match_machine().
>>>>
>>>> On arm64, of_flat_dt_match_machine() is not called, and the machine
>>>> model information is not available from the kernel log.
>>>>
>>>> Print the machine model to make it easier to derive the machine model
>>>> from an arbitrary kernel boot log.
>>>>
>>>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
>>>> ---
>>>> I have scripts to save kernel boot logs, and compare logs[*] for
>>>> subsequent boots on the same machine.  Having a way to extract the
>>>> machine model from an arbitrary kernel boot log makes this easier.
>>
>>> I think your use-case is slightly questionable (e.g. for ACPI, we print
>>> something different, and this isn't generally considered to be ABI), but
>>> the patch is harmless and if you find it useful then:
>>
>> Not having access to an ARM ACPI system, what does it print for example?
> 
> It's supposed to print out some stuff from DMI, but my Juno just says:
> 
>   DMI not present or invalid.
> 

With latest firmware, I get something like:

DMI: ARM LTD ARM Juno Development Platform/ARM Juno Development
Platform, BIOS EDK II ...

-- 
Regards,
Sudeep

[toc] | [prev] | [next] | [standalone]


#1633011

FromCatalin Marinas <catalin.marinas@arm.com>
Date2017-04-28 18:20 +0200
Message-ID<tBgMG-1o8-35@gated-at.bofh.it>
In reply to#1632075
On Thu, Apr 27, 2017 at 02:33:05PM +0200, Geert Uytterhoeven wrote:
> On arm32, the machine model specified in the device tree is printed
> during boot-up, courtesy of of_flat_dt_match_machine().
> 
> On arm64, of_flat_dt_match_machine() is not called, and the machine
> model information is not available from the kernel log.
> 
> Print the machine model to make it easier to derive the machine model
> from an arbitrary kernel boot log.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Applied. Thanks.

-- 
Catalin

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web