Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Apr 2016 10:59:33 +0200
From:      Svatopluk Kraus <onwahe@gmail.com>
To:        bob prohaska <fbsd@www.zefox.net>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, bob prohaska <bob@www.zefox.net>
Subject:   Re: No usable event timer found on RPI2
Message-ID:  <CAFHCsPWMqtnOtMRZ9CiL%2B2_1Ox_d_Mh=LdoGMGRHBjZVd12HfA@mail.gmail.com>
In-Reply-To: <20160409020229.GF71221@www.zefox.net>
References:  <20160409020229.GF71221@www.zefox.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Apr 9, 2016 at 4:02 AM, bob prohaska <fbsd@www.zefox.net> wrote:
> Hi all,
>
> For the last few days attempts to boot new kernels have ended with a panic,
> "No usable event timer found". Thinking I'd damaged the kernel config file,
> I replaced it with an unmolested version via svnlite. No improvement. The
> sources were downloaded yesterday. A kernel from a few days earlier seems
> to work fine. The only error found during kernel build said something about
>
> --- elf_note.o ---
> /usr/src/sys/arm/arm/elf_note.S:35:1: warning: DWARF2 only supports one section per compilation unit
> .pushsection .note.tag ; .balign 4 ; .long 2f - 1f ; .long 4f - 3f ; .long 1 ; 1: .asciz "FreeBSD" ; 2: .balign 4 ; 3:
> .long 1100105 ; 4: .balign 4 ; .popsection;
> ^
> ctfconvert -L VERSION -g elf_note.o
> ERROR: ctfconvert: rc = -1 No entry found [dwarf_next_cu_header_c(61)]
> --- exception.o ---
>
> but this could well be an existing issue that simply hadn't been noticed.
>
> Here's the boot transcript:
>
>
>
> U-Boot 2015.04 (May 30 2015 - 22:13:58)
>
> DRAM:  944 MiB
> WARNING: Caches not enabled
> RPI 2 Model B
> MMC:   bcm2835_sdhci: 0
> reading uboot.env
>
> ** Unable to read "uboot.env" from mmc0:1 **
> Using default environment
>
> In:    serial
> Out:   lcd
> Err:   lcd
> Net:   Net Initialization Skipped
> No ethernet found.
> Hit any key to stop autoboot:  0
> Booting from: mmc 0 ubldr
> reading ubldr
> 265922 bytes read in 207 ms (1.2 MiB/s)
> ## Starting application at 0x02000094 ...
> Consoles: U-Boot console
> Compatible U-Boot API signature found @3ab4a4c8
>
> FreeBSD/armv6 U-Boot loader, Revision 1.2
> (bob@fbsd.zefox.com, Thu Jun 11 08:12:11 PDT 2015)
>
> DRAM: 944MB
> Number of U-Boot devices: 1
> U-Boot env: loaderdev='mmc 0'
> Found U-Boot device: disk
>   Checking unit=0 slice=<auto> partition=<auto>... good.
> /boot/kernel/kernel data=0x60fd24+0x1002dc syms=[0x4+0x83b20+0x4+0x97230]
>
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel]...
> Using DTB provided by U-Boot at address 0x100.
> Kernel entry at 0x2200100...
> Kernel args: (null)
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> Copyright (c) 1992-2016 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 11.0-CURRENT #70 r297693: Fri Apr  8 16:28:30 PDT 2016
>     root@www.zefox.com:/usr/obj/usr/src/sys/RPI2 arm
> FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM 3.8.0)
> VT: init without driver.
> sema_sysinit
> CPU: Cortex A7 rev 5 (Cortex-A core)
>  Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
>  WB enabled LABT branch prediction disabled
> 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  = 989851648 (943 MB)
> avail memory = 957444096 (913 MB)
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> random: entropy device external interface
> kbd0 at kbdmux0
> ofwbus0: <Open Firmware Device Tree>
> simplebus0: <Flattened device tree simple bus> mem 0x3f000000-0x3fffffff on ofwbus0
> generic_timer0: <ARMv7 Generic Timer> irq 10000,10001,10002,10003 on ofwbus0
> generic_timer0: Unable to alloc int resource.
> device_attach: generic_timer0 attach returned 6
> generic_timer0: <ARMv7 Generic Timer> irq 10000,10001,10002,10003 on ofwbus0
> device_attach: generic_timer0 attach returned 6


The problem is here. Recently, bcm283x interrupt controllers were
reworked for new interrupt framework and enabled by default. As I
don't see that local_intc is attached in your dmesg, you use stale dts
(dtb) files. My rpi2 dmesg looks this way:

FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> mem
0x3f000000-0x3fffffff on ofwbus0
local_intc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff
on simplebus0
generic_timer0: <ARMv7 Generic Timer> irq 10000,10001,10002,10003 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
intc0: <BCM2835 Interrupt Controller> mem 0xb200-0xb3ff irq 10004 on simplebus0


> intc0: <BCM2835 Interrupt Controller> mem 0xb200-0xb3ff on simplebus0
> bcmwd0: <BCM2708/2835 Watchdog> mem 0x10001c-0x100027 on simplebus0
> gpio0: <BCM2708/2835 GPIO controller> mem 0x200000-0x2000af irq 10004,10005,10006,10007 on simplebus0
> gpio0: read-only pins: 46,48-53.
> gpio0: reserved pins: 48-53.
> gpiobus0: <OFW GPIO bus> on gpio0
> gpioled0: <GPIO led> at pin 35 on gpiobus0
> gpioled1: <GPIO led> at pin 47 on gpiobus0
> gpioc0: <GPIO controller> on gpio0
> iichb0: <BCM2708/2835 BSC controller> mem 0x205000-0x20501f irq 10008 on simplebus0
> iicbus0: <OFW I2C bus> on iichb0
> iic0: <I2C generic I/O> on iicbus0
> iichb1: <BCM2708/2835 BSC controller> mem 0x804000-0x80401f irq 10009 on simplebus0
> iicbus1: <OFW I2C bus> on iichb1
> iic1: <I2C generic I/O> on iicbus1
> spi0: <BCM2708/2835 SPI controller> mem 0x204000-0x20401f irq 10010 on simplebus0
> spibus0: <OFW SPI bus> on spi0
> bcm_dma0: <BCM2835 DMA Controller> mem 0x7000-0x7fff,0xe05000-0xe05fff irq 10011,10012,10013,10014,10015,10016,10017,10018,10019,10020,10021,10022,10023 on simplebus0
> mbox0: <BCM2835 VideoCore Mailbox> mem 0xb880-0xb8bf irq 10024 on simplebus0
> sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x300000-0x3000ff irq 10025 on simplebus0
> mmc0: <MMC/SD bus> on sdhci_bcm0
> uart0: <PrimeCell UART (PL011)> mem 0x201000-0x201fff irq 10026 on simplebus0
> uart0: console (115200,n,8,1)
> vchiq0: <BCM2835 VCHIQ> mem 0xb800-0xb84f irq 10027 on simplebus0
> vchiq: local ver 8 (min 3), remote ver 8.
> pcm0: <VCHIQ audio> on vchiq0
> bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem 0x980000-0x99ffff irq 10028 on simplebus0
> usbus0 on bcm283x_dwcotg0
> cpulist0: <Open Firmware CPU Group> on ofwbus0
> cpu0: <Open Firmware CPU> on cpulist0
> bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
> cpu1: <Open Firmware CPU> on cpulist0
> cpu2: <Open Firmware CPU> on cpulist0
> cpu3: <Open Firmware CPU> on cpulist0
> fb0: <BCM2835 VT framebuffer driver> on ofwbus0
> fbd0 on fb0
> VT: initialize with new VT driver "fb".
> fb0: 1824x984(1824x984@0,0) 24bpp
> fb0: fbswap: 1, pitch 5472, base 0x3d359000, screen_size 5428224
> cryptosoft0: <software crypto>
> panic: No usable event timer found!
> cpuid = 0
> KDB: enter: panic
> [ thread pid 0 tid 100000 ]
> Stopped at      $d.6:   ldrb    r15, [r15, r15, ror r15]!
> db>
>
> Many thanks if you got this far, and for any guidance. I'm well and truly baffled.
>
> bob prohaska
>
> _______________________________________________
> freebsd-arm@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFHCsPWMqtnOtMRZ9CiL%2B2_1Ox_d_Mh=LdoGMGRHBjZVd12HfA>