Bug 254984 - [panic] Orange Pi Zero: panic: Built bad topology at 0xc0ac87d8. CPU mask (f) != (1)
Summary: [panic] Orange Pi Zero: panic: Built bad topology at 0xc0ac87d8. CPU mask (f...
Status: Closed Not A Bug
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: CURRENT
Hardware: arm Any
: --- Affects Only Me
Assignee: freebsd-arm (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-11 20:58 UTC by Martin Filla
Modified: 2021-04-12 15:37 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Filla 2021-04-11 20:58:57 UTC
---<<BOOT>>---
GDB: debug ports: uart
GDB: current port: uart
KDB: debugger backends: ddb gdb
KDB: current backend: ddb
Copyright (c) 1992-2021 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 14.0-CURRENT #0 main-n245885-15dc713ceb5: Thu Apr  8 08:44:43 UTC 2021
    root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm
FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
CPU: ARM Cortex-A7 r0p5 (ECO: 0x00000000)
CPU Features: 
  Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
  PXN, LPAE, Coherent Walk
Optional instructions: 
  SDIV/UDIV, UMULL, SMULL, SIMD(ext)
LoUU:2 LoC:3 LoUIS:2 
Cache level 1:
 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
Cache level 2:
 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
real memory  = 536272896 (511 MB)
avail memory = 506970112 (483 MB)
No PSCI/SMCCC call function found
WARNING: Some AP's failed to start
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
panic: Built bad topology at 0xc0abbb18.  CPU mask (f) != (1)
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self
         pc = 0xc059f468  lr = 0xc007b204 (db_trace_self_wrapper+0x30)
         sp = 0xc0e14c98  fp = 0xc0e14db0
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
         pc = 0xc007b204  lr = 0xc02d395c (vpanic+0x170)
         sp = 0xc0e14db8  fp = 0xc0e14dd8
         r4 = 0x00000100  r5 = 0xc0e14dec
         r6 = 0xc0754ebe  r7 = 0x00000000
vpanic() at vpanic+0x170
         pc = 0xc02d395c  lr = 0xc02d370c (doadump)
         sp = 0xc0e14de0  fp = 0xc0e14de4
         r4 = 0xc0abbb18  r5 = 0xc0e14e0a
         r6 = 0x00800001  r7 = 0x00000000
         r8 = 0x02400000  r9 = 0xc0abbb10
        r10 = 0xc0abbaf8
doadump() at doadump
         pc = 0xc02d370c  lr = 0xc0336cf0 (smp_topo_1level)
         sp = 0xc0e14dec  fp = 0xc0e14e30
         r4 = 0xc0abbaf8  r5 = 0xc0e14de4
         r6 = 0xc02d370c r10 = 0xc0e14dec
smp_topo_1level() at smp_topo_1level
         pc = 0xc0336cf0  lr = 0xc0309ae0 (sched_setup+0x10)
         sp = 0xc0e14e38  fp = 0xc0e14e60
         r4 = 0xc274eaec  r5 = 0xc0a97068
         r6 = 0x00800001  r7 = 0x00000000
         r8 = 0x02400000  r9 = 0xc0a97074
        r10 = 0xc0a9706c
sched_setup() at sched_setup+0x10
         pc = 0xc0309ae0  lr = 0xc0263498 (mi_startup+0x2a4)
         sp = 0xc0e14e68  fp = 0xc0e14e90
         r4 = 0xc274eaec  r5 = 0xc0a97068
         r6 = 0x00800001  r7 = 0x00000000
         r8 = 0x02400000  r9 = 0xc0a97074
        r10 = 0xc0a9706c
mi_startup() at mi_startup+0x2a4
         pc = 0xc0263498  lr = 0xc0000344 (_start+0x144)
         sp = 0xc0e14e98  fp = 0x00000000
         r4 = 0xc0000478  r5 = 0xc0b54000
         r6 = 0x0000000b  r7 = 0x00c52078
         r8 = 0xc0d71000  r9 = 0x5af239f8
        r10 = 0x00000000
_start() at _start+0x144
         pc = 0xc0000344  lr = 0xc0000344 (_start+0x144)
         sp = 0xc0e14e98  fp = 0x00000000
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x58: ldrb    r15, [r15, r15, ror r15]!
db>
Comment 1 Mark Millard 2021-04-11 21:13:09 UTC
As far as I can tell, you missed the first error notice:

No PSCI/SMCCC call function found

Without the PSCI/SMCCC it then reports:

WARNING: Some AP's failed to start

and that in turn is part of the explanation for:

CPU mask (f) != (1)

It would be better if the one-line-summary mentioned:

No PSCI/SMCCC call function found

instead if the later "CPU mask (f) != (1)".
Comment 2 Mark Millard 2021-04-11 21:43:54 UTC
(In reply to Mark Millard from comment #1)

Also FreeBSD does not provide an image for the
Orange Pi Zero but just an image that does not
have u-boot installed:

https://lists.freebsd.org/pipermail/freebsd-snapshots/2021-April/000844.html

lists just the one armv7 image:

o 14.0-CURRENT armv7 GENERICSD

which is at:

http://ftp3.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/14.0/FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20210408-15dc713ceb5-245885.img.xz

You likely used materials from some build of:

sysutils/u-boot-orangepi-zero

to provide a u-boot on the boot media. You likely should give the
details that indicate the version/vintage of
sysutils/u-boot-orangepi-zero that was put to use.

It is possible that the issue is associated with the recent
update: "sysutils/u-boot-*: Update to 2021.04" only happened
recently: 2021-04-07 07:57:52 +0000 .

Previously sysutils/u-boot-orangepi-zero was based on
"sysutils/u-boot-*: Update to 2020.10" ( as of 2020-11-07 
18:59:37 +0000 ).

It may not be FreeBSD that needs to change but you have not provided
all the information that indicates just what combination of boot
materials you have on your boot media, including version/vintage
information.
Comment 3 Martin Filla 2021-04-12 12:40:10 UTC
I booted, I must dd the u-boot image to sdcard

Booting [/boot/kernel/kernel]...               
Using DTB provided by EFI at 0x47ef5000.
Kernel entry at 0x54e00200...
Kernel args: (null)
---<<BOOT>>---
GDB: debug ports: uart
GDB: current port: uart
KDB: debugger backends: ddb gdb
KDB: current backend: ddb
Copyright (c) 1992-2021 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 14.0-CURRENT #0 main-n245885-15dc713ceb5: Thu Apr  8 08:44:43 UTC 2021
    root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm
FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
CPU: ARM Cortex-A7 r0p5 (ECO: 0x00000000)
CPU Features: 
  Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
  PXN, LPAE, Coherent Walk
Optional instructions: 
  SDIV/UDIV, UMULL, SMULL, SIMD(ext)
LoUU:2 LoC:3 LoUIS:2 
Cache level 1:
 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
Cache level 2:
 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
real memory  = 536240128 (511 MB)
avail memory = 506937344 (483 MB)
No PSCI/SMCCC call function found
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
random: entropy device external interface
WARNING: Device "openfirm" is Giant locked and may be deleted before FreeBSD 14.0.
WARNING: Device "kbd" is Giant locked and may be deleted before FreeBSD 14.0.
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
ofw_clkbus0: <OFW clocks bus> on ofwbus0
clk_fixed0: <Fixed clock> on ofw_clkbus0
clk_fixed1: <Fixed clock> on ofw_clkbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
regfix2: <Fixed Regulator> on ofwbus0
regfix3: <Fixed Regulator> on ofwbus0
rtc0: <Allwinner RTC> mem 0x1f00000-0x1f003ff irq 45,46 on simplebus0
rtc0: registered as a time-of-day clock, resolution 1.000000s
ccu_h3ng0: <Allwinner H3/H5 Clock Control Unit NG> mem 0x1c20000-0x1c203ff on simplebus0
ccu_sun8i_r0: <Allwinner SUN8I_R Clock Control Unit NG> mem 0x1f01400-0x1f014ff on simplebus0
gic0: <ARM Generic Interrupt Controller> mem 0x1c81000-0x1c81fff,0x1c82000-0x1c83fff,0x1c84000-0x1c85fff,0x1c86000-0x1c87fff irq 42 on simplebus0
gic0: pn 0x1, arch 0x2, rev 0x1, implementer 0x43b irqs 160
gpio0: <Allwinner GPIO/Pinmux controller> mem 0x1c20800-0x1c20bff irq 23,24 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <Allwinner GPIO/Pinmux controller> mem 0x1f02c00-0x1f02fff irq 49 on simplebus0
gpiobus1: <OFW GPIO bus> on gpio1
gpioregulator0: <GPIO controlled regulator> on ofwbus0
generic_timer0: <ARMv7 Generic Timer> irq 4,5,6,7 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
aw_syscon0: <Allwinner syscon> mem 0x1c00000-0x1c00fff on simplebus0
aw_sid0: <Allwinner Secure ID Controller> mem 0x1c14000-0x1c143ff on simplebus0
awusbphy0: <Allwinner USB PHY> mem 0x1c19400-0x1c1942b,0x1c1a800-0x1c1a803,0x1c1b800-0x1c1b803,0x1c1c800-0x1c1c803,0x1c1d800-0x1c1d803 on simplebus0
a31dmac0: <Allwinner DMA controller> mem 0x1c02000-0x1c02fff irq 8 on simplebus0
aw_mmc0: <Allwinner Integrated MMC/SD controller> mem 0x1c0f000-0x1c0ffff irq 10 on simplebus0
aw_mmc1: <Allwinner Integrated MMC/SD controller> mem 0x1c10000-0x1c10fff irq 11 on simplebus0
musbotg0: <Allwinner USB DRD> mem 0x1c19000-0x1c193ff irq 14 on simplebus0
musbotg0: setting phy mode 3
usbus0: Dynamic FIFO sizing detected, assuming 16Kbytes of FIFO RAM
usbus0 on musbotg0
ehci0: <Generic EHCI Controller> mem 0x1c1a000-0x1c1a0ff irq 15 on simplebus0
usbus1: EHCI version 1.0
usbus1 on ehci0
ohci0: <Generic OHCI Controller> mem 0x1c1a400-0x1c1a4ff irq 16 on simplebus0
usbus2 on ohci0
ehci1: <Generic EHCI Controller> mem 0x1c1b000-0x1c1b0ff irq 17 on simplebus0
usbus3: EHCI version 1.0
usbus3 on ehci1
ohci1: <Generic OHCI Controller> mem 0x1c1b400-0x1c1b4ff irq 18 on simplebus0
usbus4 on ohci1
gpioc0: <GPIO controller> on gpio0
awg0: <Allwinner Gigabit Ethernet> mem 0x1c30000-0x1c3ffff irq 27 on simplebus0
miibus0: <MII bus> on awg0
ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy1:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
awg0: Ethernet address: 02:42:78:42:f3:cf
aw_wdog0: <Allwinner A31 Watchdog> mem 0x1c20ca0-0x1c20cbf irq 30 on simplebus0
uart0: console (115384,n,8,1)mem 0x1c28000-0x1c283ff irq 35 on simplebus0
gpioc1: <GPIO controller> on gpio1
aw_thermal0: <Allwinner Thermal Sensor Controller> mem 0x1c25000-0x1c253ff irq 60 on simplebus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpufreq_dt0: <Generic cpufreq driver> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0
gpioled0: <GPIO LEDs> on ofwbus0
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 480Mbps High Speed USB v2.0
usbus4: 12Mbps Full Speed USB v1.0
Release APs
WARNING: WITNESS option enabled, expect reduced performance.
Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
ugen3.1: <Generic EHCI root HUB> at usbus3
ugen1.1: <Generic EHCI root HUB> at usbus1
ugen0.1: <Mentor Graphics OTG Root HUB> at usbus0
uhub0ugen4.1: <Generic OHCI root HUB> at usbus4
 on usbus3
uhub1 on usbus1
uhub2 on usbus0
uhub0: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3
uhub1: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
uhub3 on usbus4
uhub2: <Mentor Graphics OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
uhub3: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus4
Root mount waiting for:ugen2.1: <Generic OHCI root HUB> at usbus2
 usbus0uhub4 usbus1 on usbus2
 usbus2uhub4: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
 usbus3 usbus4
uhub3: 1 port with 1 removable, self powered
uhub4: 1 port with 1 removable, self powered
uhub2: 1 port with 1 removable, self powered
mmc0: <MMC/SD bus> on aw_mmc1
mmc0: No compatible cards found on bus
aw_mmc1: Spurious interrupt - no active request, rint: 0x00000004

mmc1: <MMC/SD bus> on aw_mmc0
mmcsd0: 8GB <SDHC SL08G 8.0 SN 35AAEDF1 MFG 06/2015 by 3 SD> at mmc1 50.0MHz/4bit/32768-block
mmc1: Failed to set VCCQ for card at relative address 43690
uhub0: 1 port with 1 removable, self powered
uhub1: 1 port with 1 removable, self powered
mountroot: waiting for device /dev/ufs/rootfs...
No suitable dump device was found.
Growing root partition to fill device
random: randomdev_wait_until_seeded unblock wait
random: unblocking device.
GEOM_PART: mmcsd0s2 was automatically resized.
  Use `gpart commit mmcsd0s2` to save changes or `gpart undo mmcsd0s2` to revert them.
mmcsd0s2 resized
mmcsd0s2a resized
gpart: arg0 'ufs/rootfs': Invalid argument
super-block backups (for fsck_ffs -b #) at:
 6402432, 7682880, 8963328, 10243776, 11524224, 12804672, 14085120, 15365568
/etc/rc: WARNING: hostid: unable to figure out a UUID from DMI data, generating a new one
Setting hostuuid: af878092-f668-11de-86ba-9b9181a4fa0d.
Setting hostid: 0x522a2dcf.
Starting file system checks:
/dev/ufs/rootfs: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ufs/rootfs: clean, 1365286 free (238 frags, 170631 blocks, 0.0% fragmentation)
Mounting local filesystems:.
Setting up harvesting: [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
Feeding entropy: .
Setting hostname: generic.
Building /boot/kernel/linker.hints
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
Soft Float compatibility ldconfig path:
lo0: link state changed to UP
awg0: link state changed to DOWN
Comment 4 Martin Filla 2021-04-12 12:41:36 UTC
This PR can be close