PINE64+ Release APs, APs not started

Henri Hennebert hlh at restart.be
Thu Jul 27 12:31:24 UTC 2017


On 07/27/2017 07:52, Emmanuel Vadot wrote:
> On Tue, 25 Jul 2017 19:22:19 +0200
> Henri Hennebert <hlh at restart.be> wrote:
> 
>> Hello,
>>
>> With FreeBSD 12.0-CURRENT #0 r320599 I can boot normally:
>>
>> ...
>> Release APs
>> CPU  0: ARM Cortex-A53 r0p4 affinity:  0
>>    Instruction Set Attributes 0 = <AES+PMULL,SHA1,SHA2,CRC32>
>>    Instruction Set Attributes 1 = <0>
>>            Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
>>            Processor Features 1 = <0>
>>         Memory Model Features 0 = <4k Granule,64k
>> Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
>>         Memory Model Features 1 = <>
>>                Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6
>> Breakpoints,PMUv3,Debug v8>
>>                Debug Features 1 = <0>
>>            Auxiliary Features 0 = <0>
>>            Auxiliary Features 1 = <0>
>> CPU  1: ARM Cortex-A53 r0p4 affinity:  1
>> CPU  2: ARM Cortex-A53 r0p4 affinity:  2
>> CPU  3: ARM Cortex-A53 r0p4 affinity:  3
>> ...
>>
>> With r320869, I get
>>
>> Release APs
>> APs not started
>>     x0: ffff000000977d80
>>     x1: fffffd000299ba80
>>     x2:                3
>>
>> I succeed one time to boot with r321003 but after that I try multiple
>> times and get the same error: APs not started
>>
>> I try r321371 to no avail.
>>
>> Any idea ?
>>
>> Henri
> 
> 
>   Hello Henri,
> 
>   I'm in the process of updating the u-boot port for pine64 which adds
> new and better PSCI support. I should be done by the end of the week.
>   In the meantime you can use the u-boot I built from here :
>   fetch https://people.freebsd.org/~manu/uboot/u-boot-pine64.bin
>   dd if=u-boot-pine64.bin of=/dev/da0 bs=1k seek=8 conv=sync
> 
>   Cheers,
> 
Here is the boot dialog with kernel 12.0 r321371:

U-Boot SPL 2017.07-00011-g41b31da7ca-dirty (Jul 27 2017 - 07:37:57)
DRAM: 2048 MiB
Trying to boot from MMC1


U-Boot 2017.07-00011-g41b31da7ca-dirty (Jul 27 2017 - 07:37:57 +0200) 
Allwinner Technology


 >> FreeBSD EFI boot block
    Loader path: /boot/loader.efi

    Initializing modules: ZFS UFS
    Probing 3 block devices.....* done
     ZFS found no pools
     UFS found 1 partition
Consoles: EFI console
Command line arguments: loader.efi
Image base: 0xb6dbd008
EFI version: 2.05
EFI Firmware: Das U-boot (rev 0.00)

FreeBSD/arm64 EFI loader, Revision 1.1
(Tue Jul 25 03:58:20 CEST 2017 root at norquay.restart.bel)
EFI boot environment
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x71e578 data=0xa2a80+0x39e6a6 
syms=[0x8+0xf6db0+0x8+0xeaf4a]
/boot/entropy size=0x1000

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
Using DTB provided by EFI at 0x48000000.
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2017 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 12.0-CURRENT #0 r321371M: Tue Jul 25 16:02:39 CEST 2017
     root at norquay.restart.bel:/usr/obj/usr/src/sys/NORQUAY arm64
FreeBSD clang version 5.0.0 (trunk 308421) (based on LLVM 5.0.0svn)
VT: init without driver.
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: unblocking device.
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
clk_fixed1: <Fixed clock> on ofwbus0
clk_fixed2: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
aw_ccung0: <Allwinner Clock Control Unit NG> mem 0x1c20000-0x1c203ff on 
simplebus0
aw_ccung0: Cannot set parent to pll_ddr for dram
regfix0: <Fixed Regulator> on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
awusbphy0: <Allwinner USB PHY> mem 
0x1c19400-0x1c19413,0x1c1a800-0x1c1a803,0x1c1b800-0x1c1b803 on simplebus0
gic0: <ARM Generic Interrupt Controller> mem 
0x1c81000-0x1c81fff,0x1c82000-0x1c83fff,0x1c84000-0x1c85fff,0x1c86000-0x1c87fff 
irq 210
gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 224
gpio0: <Allwinner GPIO/Pinmux controller> mem 0x1c20800-0x1c20bff irq 
10,11,12 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <Allwinner GPIO/Pinmux controller> mem 0x1f02c00-0x1f02fff irq 24 
on simplebus0
gpiobus1: <OFW GPIO bus> on gpio1
generic_timer0: <ARMv8 Generic Timer> irq 0,1,2,3 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
rtc0: <Allwinner RTC> mem 0x1f00000-0x1f00053 irq 22,23 on simplebus0
rtc0: registered as a time-of-day clock, resolution 1.000000s
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
a10_mmc0: <Allwinner Integrated MMC/SD controller> mem 
0x1c0f000-0x1c0ffff irq 4 on simplebus0
mmc0: <MMC/SD bus> on a10_mmc0
ohci0: <Generic OHCI Controller> mem 0x1c1b400-0x1c1b4ff irq 9 on simplebus0
usbus0 on ohci0
gpioc0: <GPIO controller> on gpio0
uart0: <16750 or compatible> mem 0x1c28000-0x1c283ff irq 13 on simplebus0
uart0: console (115384,n,8,1)
gpioc1: <GPIO controller> on gpio1
awg0: <Allwinner Gigabit Ethernet> mem 
0x1c30000-0x1c31fff,0x1c00030-0x1c00033 irq 25 on simplebus0
miibus0: <MII bus> on awg0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 
100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, w
rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy1:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 
100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, w
awg0: Ethernet address: 02:ba:cf:46:d5:39
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Generic OHCI root HUB> at usbus0
uhub0: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
device_attach: uhub0 attach returned 6
usbus0: Root HUB problem, error=USB_ERR_NO_ROOT_HUB
mmcsd0: 16GB <SDHC SL16G 8.0 SN A9A41D45 MFG 03/2017 by 3 SD> at mmc0 
50.0MHz/4bit/65535-block
Release APs
APs not started
   x0: ffff00000096dd00
   x1: fffffd000094c540
   x2:               ü

And now I try the kernel r320599 which can detect the processors:


U-Boot SPL 2017.07-00011-g41b31da7ca-dirty (Jul 27 2017 - 07:37:57)
DRAM: 2048 MiB
Trying to boot from MMC1


U-Boot 2017.07-00011-g41b31da7ca-dirty (Jul 27 2017 - 07:37:57 +0200) 
Allwinner Technology


 >> FreeBSD EFI boot block
    Loader path: /boot/loader.efi

    Initializing modules: ZFS UFS
    Probing 3 block devices.....* done
     ZFS found no pools
     UFS found 1 partition
Consoles: EFI console
Command line arguments: loader.efi
Image base: 0xb6dbd008
EFI version: 2.05
EFI Firmware: Das U-boot (rev 0.00)

FreeBSD/arm64 EFI loader, Revision 1.1
(Tue Jul 25 03:58:20 CEST 2017 root at norquay.restart.bel)
EFI boot environment
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x71e578 data=0xa2a80+0x39e6a6 
syms=[0x8+0xf6db0+0x8+0xeaf4a]
/boot/entropy size=0x1000

Hit [Enter] to boot immediately, or any other key for command prompt.


Type '?' for a list of commands, 'help' for more detailed help.
OK unload
OK load /boot/kernel.r320599/kernel
/boot/kernel.r320599/kernel text=0x7240cc data=0x9fcf8+0x39e6ce 
syms=[0x8+0xf5f88+0x8+0xea601]
OK set module_path=/boot/kernel.r320599
OK boot -s
Booting...
Using DTB provided by EFI at 0x48000000.
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2017 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 12.0-CURRENT #0 r320599M: Sat Jul  8 18:24:19 CEST 2017
     root at norquay.restart.bel:/usr/obj/usr/src/sys/NORQUAY arm64
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on 
LLVM 4.0.0)
VT: init without driver.
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
arc4random: no preloaded entropy cache
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
clk_fixed1: <Fixed clock> on ofwbus0
clk_fixed2: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
awusbphy0: <Allwinner USB PHY> mem 
0x1c19400-0x1c19413,0x1c1a800-0x1c1a803,0x1c1b800-0x1c1b803 on simplebus0
gic0: <ARM Generic Interrupt Controller> mem 
0x1c81000-0x1c81fff,0x1c82000-0x1c83fff,0x1c84000-0x1c85fff,0x1c86000-0x1c87fff 
irq 210
gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 224
gpio0: <Allwinner GPIO/Pinmux controller> mem 0x1c20800-0x1c20bff irq 
10,11,12 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <Allwinner GPIO/Pinmux controller> mem 0x1f02c00-0x1f02fff irq 24 
on simplebus0
gpiobus1: <OFW GPIO bus> on gpio1
generic_timer0: <ARMv8 Generic Timer> irq 0,1,2,3 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
rtc0: <Allwinner RTC> mem 0x1f00000-0x1f00053 irq 22,23 on simplebus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
ohci0: <Generic OHCI Controller> mem 0x1c1b400-0x1c1b4ff irq 9 on simplebus0
usbus0 on ohci0
gpioc0: <GPIO controller> on gpio0
uart0: <Non-standard ns8250 class UART with FIFOs> mem 
0x1c28000-0x1c283ff irq 13 on simplebus0
uart0: console (-1,n,8,1)
gpioc1: <GPIO controller> on gpio1
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
Release APs
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
  Instruction Set Attributes 0 = <AES+PMULL,SHA1,SHA2,CRC32>
  Instruction Set Attributes 1 = <0>
          Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
          Processor Features 1 = <0>
       Memory Model Features 0 = <4k Granule,64k 
Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
       Memory Model Features 1 = <>
              Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 
Breakpoints,PMUv3,Debug v8>
              Debug Features 1 = <0>
          Auxiliary Features 0 = <0>
          Auxiliary Features 1 = <0>
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
arc4random: no preloaded entropy cache 

Trying to mount root from ufs:/dev/mmcsd0s2a [rw,noatime]... 

Root mount waiting for:ugen0.1: <Generic OHCI root HUB> at usbus0 

  usbus0 

uhub0: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
device_attach: uhub0 attach returned 6
usbus0: Root HUB problem, error=USB_ERR_NO_ROOT_HUB
mountroot: waiting for device /dev/mmcsd0s2a...
Mounting from ufs:/dev/mmcsd0s2a failed with error 19.

Loader variables:
   vfs.root.mountfrom=ufs:/dev/mmcsd0s2a
   vfs.root.mountfrom.options=rw,noatime

Manual root filesystem specification:
   <fstype>:<device> [options]
       Mount <device> using filesystem <fstype>
       and with the specified (optional) option list.

     eg. ufs:/dev/da0s1a
         zfs:tank
         cd9660:/dev/cd0 ro
           (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)

   ?               List valid disk boot devices
   .               Yield 1 second (for background tasks)
   <empty line>    Abort manual input

mountroot>

To be noted:

device_attach: uhub0 attach returned 6
usbus0: Root HUB problem, error=USB_ERR_NO_ROOT_HUB

and mmcsd0 is not detected.

I think that the DTB is wrong.

Note that my kernel config have:

options         FDT                     # Flattened Device Tree bus driver
options         FDT_DTB_STATIC          # Statically embed a DTB file 
into a kernel image
makeoptions     FDT_DTS_FILE=pine64_plus.dts

Henri




More information about the freebsd-arm mailing list