* ARM64 boot failure on Macchiatobin with Marvell 18.12 firmware
@ 2019-02-01 11:19 Russell King - ARM Linux admin
2019-02-01 11:46 ` Will Deacon
0 siblings, 1 reply; 4+ messages in thread
From: Russell King - ARM Linux admin @ 2019-02-01 11:19 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
I've updated the ATF, DDR and Marvell binaries firmware from 17.10
to 18.12 on a Macchiatobin Single-shot board, while keeping u-boot
the same version (17.10).
When booting a previously working 4.20 kernel, I now get:
Booting Linux on physical CPU 0x0000000000 [0x410fd081]
Linux version 4.20.0+ (rmk@rmk-PC.armlinux.org.uk) (gcc version 4.9.2
(GCC)) #212 SMP PREEMPT Thu Jan 31 15:33:31 GMT 2019
Machine model: Marvell 8040 MACCHIATOBin Single-shot
earlycon: uart0 at MMIO 0x00000000f0512000 (options '115200n8')
printk: bootconsole [uart0] enabled
SError Interrupt on CPU0, code 0xbf000002 -- SError
CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
pstate: 00400085 (nzcv daIf +PAN -UAO)
pc : setup_arch+0xe8/0x56c
lr : setup_arch+0xe0/0x56c
sp : ffffff8008b03f10
x29: ffffff8008b03f10 x28: 0000000000a50018
x27: 0000000000000000 x26: 000000007ffa2e88
x25: 000000007f7a2c68 x24: 0000000000000003
x23: 0000000000000000 x22: ffffffbefe90005c
x21: 0000000000000001 x20: ffffff8008b46000
x19: ffffff8008080000 x18: 00000000000000ff
x17: 0000000000001000 x16: 0000000000001000
x15: 446e1c00644a0615 x14: 2e392e34206e6f69
x13: 7372657620636367 x12: 0000000000000008
x11: 0000000000000007 x10: 0101010101010101
x9 : fffffffffffffffb x8 : 0000000000000008
x7 : 0000000000000003 x6 : 0080000000008080
x5 : 000000000000005f x4 : 000000000000006c
x3 : 0000000000000063 x2 : 000000000000006c
x1 : ffffff8008961ff9 x0 : 0000000000000080
Kernel panic - not syncing: Asynchronous SError Interrupt
CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
Call trace:
dump_backtrace+0x0/0x158
show_stack+0x14/0x1c
dump_stack+0x90/0xb0
panic+0x148/0x2b8
print_tainted+0x0/0xa8
arm64_serror_panic+0x74/0x80
do_serror+0x5c/0xb8
el1_error+0xb4/0x144
setup_arch+0xe8/0x56c
start_kernel+0x64/0x408
If I'm reading the Cortex-A72 ESR information correctly, this is a
Slave Error SError interrupt.
The failing code sequence appears to be:
ffffff8008a53098: 9401506a bl ffffff8008aa7240 <dump_stack_set_arch_desc>
ffffff8008a5309c: 97fff636 bl ffffff8008a50974 <parse_early_param>
ffffff8008a530a0: d2801000 mov x0, #0x80
// #128
ffffff8008a530a4: d51b4220 msr daif, x0
ffffff8008a530a8: d0fffcdb adrp x27, ffffff80089ed000 <kallsyms_token_index+0x8b300>
If I downgrade the firmware back to 17.10, the kernel boots fine again.
Any ideas what's going on here?
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ARM64 boot failure on Macchiatobin with Marvell 18.12 firmware
2019-02-01 11:19 ARM64 boot failure on Macchiatobin with Marvell 18.12 firmware Russell King - ARM Linux admin
@ 2019-02-01 11:46 ` Will Deacon
2019-02-01 12:30 ` Russell King - ARM Linux admin
2019-02-01 12:43 ` Ard Biesheuvel
0 siblings, 2 replies; 4+ messages in thread
From: Will Deacon @ 2019-02-01 11:46 UTC (permalink / raw)
To: Russell King - ARM Linux admin; +Cc: linux-arm-kernel, ard.biesheuvel
[+Ard]
On Fri, Feb 01, 2019 at 11:19:18AM +0000, Russell King - ARM Linux admin wrote:
> I've updated the ATF, DDR and Marvell binaries firmware from 17.10
> to 18.12 on a Macchiatobin Single-shot board, while keeping u-boot
> the same version (17.10).
>
> When booting a previously working 4.20 kernel, I now get:
>
> Booting Linux on physical CPU 0x0000000000 [0x410fd081]
> Linux version 4.20.0+ (rmk@rmk-PC.armlinux.org.uk) (gcc version 4.9.2
> (GCC)) #212 SMP PREEMPT Thu Jan 31 15:33:31 GMT 2019
> Machine model: Marvell 8040 MACCHIATOBin Single-shot
> earlycon: uart0 at MMIO 0x00000000f0512000 (options '115200n8')
> printk: bootconsole [uart0] enabled
> SError Interrupt on CPU0, code 0xbf000002 -- SError
> CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
> Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
> pstate: 00400085 (nzcv daIf +PAN -UAO)
> pc : setup_arch+0xe8/0x56c
> lr : setup_arch+0xe0/0x56c
> sp : ffffff8008b03f10
> x29: ffffff8008b03f10 x28: 0000000000a50018
> x27: 0000000000000000 x26: 000000007ffa2e88
> x25: 000000007f7a2c68 x24: 0000000000000003
> x23: 0000000000000000 x22: ffffffbefe90005c
> x21: 0000000000000001 x20: ffffff8008b46000
> x19: ffffff8008080000 x18: 00000000000000ff
> x17: 0000000000001000 x16: 0000000000001000
> x15: 446e1c00644a0615 x14: 2e392e34206e6f69
> x13: 7372657620636367 x12: 0000000000000008
> x11: 0000000000000007 x10: 0101010101010101
> x9 : fffffffffffffffb x8 : 0000000000000008
> x7 : 0000000000000003 x6 : 0080000000008080
> x5 : 000000000000005f x4 : 000000000000006c
> x3 : 0000000000000063 x2 : 000000000000006c
> x1 : ffffff8008961ff9 x0 : 0000000000000080
> Kernel panic - not syncing: Asynchronous SError Interrupt
> CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
> Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
> Call trace:
> dump_backtrace+0x0/0x158
> show_stack+0x14/0x1c
> dump_stack+0x90/0xb0
> panic+0x148/0x2b8
> print_tainted+0x0/0xa8
> arm64_serror_panic+0x74/0x80
> do_serror+0x5c/0xb8
> el1_error+0xb4/0x144
> setup_arch+0xe8/0x56c
> start_kernel+0x64/0x408
>
> If I'm reading the Cortex-A72 ESR information correctly, this is a
> Slave Error SError interrupt.
>
> The failing code sequence appears to be:
>
> ffffff8008a53098: 9401506a bl ffffff8008aa7240 <dump_stack_set_arch_desc>
> ffffff8008a5309c: 97fff636 bl ffffff8008a50974 <parse_early_param>
> ffffff8008a530a0: d2801000 mov x0, #0x80
> // #128
> ffffff8008a530a4: d51b4220 msr daif, x0
> ffffff8008a530a8: d0fffcdb adrp x27, ffffff80089ed000 <kallsyms_token_index+0x8b300>
>
> If I downgrade the firmware back to 17.10, the kernel boots fine again.
>
> Any ideas what's going on here?
Looks like you're taking the SError as soon as we unmask them, so it
could've been pending for ages. It would be interesting to see if it's
actually caused by the kernel, or if the firmware triggers it beforehand.
Will
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ARM64 boot failure on Macchiatobin with Marvell 18.12 firmware
2019-02-01 11:46 ` Will Deacon
@ 2019-02-01 12:30 ` Russell King - ARM Linux admin
2019-02-01 12:43 ` Ard Biesheuvel
1 sibling, 0 replies; 4+ messages in thread
From: Russell King - ARM Linux admin @ 2019-02-01 12:30 UTC (permalink / raw)
To: Will Deacon; +Cc: linux-arm-kernel, ard.biesheuvel
On Fri, Feb 01, 2019 at 11:46:32AM +0000, Will Deacon wrote:
> [+Ard]
>
> On Fri, Feb 01, 2019 at 11:19:18AM +0000, Russell King - ARM Linux admin wrote:
> > I've updated the ATF, DDR and Marvell binaries firmware from 17.10
> > to 18.12 on a Macchiatobin Single-shot board, while keeping u-boot
> > the same version (17.10).
> >
> > When booting a previously working 4.20 kernel, I now get:
> >
> > Booting Linux on physical CPU 0x0000000000 [0x410fd081]
> > Linux version 4.20.0+ (rmk@rmk-PC.armlinux.org.uk) (gcc version 4.9.2
> > (GCC)) #212 SMP PREEMPT Thu Jan 31 15:33:31 GMT 2019
> > Machine model: Marvell 8040 MACCHIATOBin Single-shot
> > earlycon: uart0 at MMIO 0x00000000f0512000 (options '115200n8')
> > printk: bootconsole [uart0] enabled
> > SError Interrupt on CPU0, code 0xbf000002 -- SError
> > CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
> > Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
> > pstate: 00400085 (nzcv daIf +PAN -UAO)
> > pc : setup_arch+0xe8/0x56c
> > lr : setup_arch+0xe0/0x56c
> > sp : ffffff8008b03f10
> > x29: ffffff8008b03f10 x28: 0000000000a50018
> > x27: 0000000000000000 x26: 000000007ffa2e88
> > x25: 000000007f7a2c68 x24: 0000000000000003
> > x23: 0000000000000000 x22: ffffffbefe90005c
> > x21: 0000000000000001 x20: ffffff8008b46000
> > x19: ffffff8008080000 x18: 00000000000000ff
> > x17: 0000000000001000 x16: 0000000000001000
> > x15: 446e1c00644a0615 x14: 2e392e34206e6f69
> > x13: 7372657620636367 x12: 0000000000000008
> > x11: 0000000000000007 x10: 0101010101010101
> > x9 : fffffffffffffffb x8 : 0000000000000008
> > x7 : 0000000000000003 x6 : 0080000000008080
> > x5 : 000000000000005f x4 : 000000000000006c
> > x3 : 0000000000000063 x2 : 000000000000006c
> > x1 : ffffff8008961ff9 x0 : 0000000000000080
> > Kernel panic - not syncing: Asynchronous SError Interrupt
> > CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
> > Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
> > Call trace:
> > dump_backtrace+0x0/0x158
> > show_stack+0x14/0x1c
> > dump_stack+0x90/0xb0
> > panic+0x148/0x2b8
> > print_tainted+0x0/0xa8
> > arm64_serror_panic+0x74/0x80
> > do_serror+0x5c/0xb8
> > el1_error+0xb4/0x144
> > setup_arch+0xe8/0x56c
> > start_kernel+0x64/0x408
> >
> > If I'm reading the Cortex-A72 ESR information correctly, this is a
> > Slave Error SError interrupt.
> >
> > The failing code sequence appears to be:
> >
> > ffffff8008a53098: 9401506a bl ffffff8008aa7240 <dump_stack_set_arch_desc>
> > ffffff8008a5309c: 97fff636 bl ffffff8008a50974 <parse_early_param>
> > ffffff8008a530a0: d2801000 mov x0, #0x80
> > // #128
> > ffffff8008a530a4: d51b4220 msr daif, x0
> > ffffff8008a530a8: d0fffcdb adrp x27, ffffff80089ed000 <kallsyms_token_index+0x8b300>
> >
> > If I downgrade the firmware back to 17.10, the kernel boots fine again.
> >
> > Any ideas what's going on here?
>
> Looks like you're taking the SError as soon as we unmask them, so it
> could've been pending for ages. It would be interesting to see if it's
> actually caused by the kernel, or if the firmware triggers it beforehand.
It could be something that the older u-boot is doing that the newer
firmware doesn't like, but that's just a guess.
I think I'm just going to stick with the older 17.10 firmware for
macchiatobin - building the newer u-boot is just way too much hassle.
Following the firmware build instructions it seems that "make
mvebu_mcbin-88f8040_defconfig" results in a u-boot configuration that
creates a binary without the DTB appended...
It also requires a gcc newer than 6.0 - well, I'm not waste yet more
time about to rebuild my 4.9.2 toolchain for ARM64 and potentially
introduce yet more breakage to waste still more time just because
u-boot wants it.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ARM64 boot failure on Macchiatobin with Marvell 18.12 firmware
2019-02-01 11:46 ` Will Deacon
2019-02-01 12:30 ` Russell King - ARM Linux admin
@ 2019-02-01 12:43 ` Ard Biesheuvel
1 sibling, 0 replies; 4+ messages in thread
From: Ard Biesheuvel @ 2019-02-01 12:43 UTC (permalink / raw)
To: Will Deacon; +Cc: Russell King - ARM Linux admin, linux-arm-kernel
On Fri, 1 Feb 2019 at 12:46, Will Deacon <will.deacon@arm.com> wrote:
>
> [+Ard]
>
> On Fri, Feb 01, 2019 at 11:19:18AM +0000, Russell King - ARM Linux admin wrote:
> > I've updated the ATF, DDR and Marvell binaries firmware from 17.10
> > to 18.12 on a Macchiatobin Single-shot board, while keeping u-boot
> > the same version (17.10).
> >
> > When booting a previously working 4.20 kernel, I now get:
> >
> > Booting Linux on physical CPU 0x0000000000 [0x410fd081]
> > Linux version 4.20.0+ (rmk@rmk-PC.armlinux.org.uk) (gcc version 4.9.2
> > (GCC)) #212 SMP PREEMPT Thu Jan 31 15:33:31 GMT 2019
> > Machine model: Marvell 8040 MACCHIATOBin Single-shot
> > earlycon: uart0 at MMIO 0x00000000f0512000 (options '115200n8')
> > printk: bootconsole [uart0] enabled
> > SError Interrupt on CPU0, code 0xbf000002 -- SError
> > CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
> > Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
> > pstate: 00400085 (nzcv daIf +PAN -UAO)
> > pc : setup_arch+0xe8/0x56c
> > lr : setup_arch+0xe0/0x56c
> > sp : ffffff8008b03f10
> > x29: ffffff8008b03f10 x28: 0000000000a50018
> > x27: 0000000000000000 x26: 000000007ffa2e88
> > x25: 000000007f7a2c68 x24: 0000000000000003
> > x23: 0000000000000000 x22: ffffffbefe90005c
> > x21: 0000000000000001 x20: ffffff8008b46000
> > x19: ffffff8008080000 x18: 00000000000000ff
> > x17: 0000000000001000 x16: 0000000000001000
> > x15: 446e1c00644a0615 x14: 2e392e34206e6f69
> > x13: 7372657620636367 x12: 0000000000000008
> > x11: 0000000000000007 x10: 0101010101010101
> > x9 : fffffffffffffffb x8 : 0000000000000008
> > x7 : 0000000000000003 x6 : 0080000000008080
> > x5 : 000000000000005f x4 : 000000000000006c
> > x3 : 0000000000000063 x2 : 000000000000006c
> > x1 : ffffff8008961ff9 x0 : 0000000000000080
> > Kernel panic - not syncing: Asynchronous SError Interrupt
> > CPU: 0 PID: 0 Comm: swapper Not tainted 4.20.0+ #212
> > Hardware name: Marvell 8040 MACCHIATOBin Single-shot (DT)
> > Call trace:
> > dump_backtrace+0x0/0x158
> > show_stack+0x14/0x1c
> > dump_stack+0x90/0xb0
> > panic+0x148/0x2b8
> > print_tainted+0x0/0xa8
> > arm64_serror_panic+0x74/0x80
> > do_serror+0x5c/0xb8
> > el1_error+0xb4/0x144
> > setup_arch+0xe8/0x56c
> > start_kernel+0x64/0x408
> >
> > If I'm reading the Cortex-A72 ESR information correctly, this is a
> > Slave Error SError interrupt.
> >
> > The failing code sequence appears to be:
> >
> > ffffff8008a53098: 9401506a bl ffffff8008aa7240 <dump_stack_set_arch_desc>
> > ffffff8008a5309c: 97fff636 bl ffffff8008a50974 <parse_early_param>
> > ffffff8008a530a0: d2801000 mov x0, #0x80
> > // #128
> > ffffff8008a530a4: d51b4220 msr daif, x0
> > ffffff8008a530a8: d0fffcdb adrp x27, ffffff80089ed000 <kallsyms_token_index+0x8b300>
> >
> > If I downgrade the firmware back to 17.10, the kernel boots fine again.
> >
> > Any ideas what's going on here?
>
> Looks like you're taking the SError as soon as we unmask them, so it
> could've been pending for ages. It would be interesting to see if it's
> actually caused by the kernel, or if the firmware triggers it beforehand.
>
AIUI, they switched from giving the non-secure world access to all the
SoC config registers to exposing this as SIP services in ARM-TF. So
the SErrors are likely the result of MMIO accesses by U-Boot to
regions that are now configured as secure-only.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-02-01 12:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-01 11:19 ARM64 boot failure on Macchiatobin with Marvell 18.12 firmware Russell King - ARM Linux admin
2019-02-01 11:46 ` Will Deacon
2019-02-01 12:30 ` Russell King - ARM Linux admin
2019-02-01 12:43 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).