Hi all,
I'm trying to get L4Linux running on my raspberry pi(model B) but there is something wrong that I couldn't figure out.
The error message is:
Assertion failed: 'Fpu::fpu.current().owner() == current()' [ret=0xf0013544] /home/soap/project/L4/kernel/fiasco/src/kern/arm/thread-arm.cpp:800 at f0012b7c
The value of "Fpu::fpu.current().owner()" is 0 which seems to be the value set when fpu initialized.
Can anyone help me to fix it?
FPU is enabled in Fiasco config and the hello example works.
All the components are at latest revision(l4linux:41, fiasco:59, l4re:59)
Please let me know if something is missing.
Here's the full log: ------------------------------------------- L4 Bootstrapper Build: #37 Sun Dec 15 22:03:04 CST 2013, 4.7.2 Scanning up to 256 MB RAM Memory size is 256MB (00000000 - 0fffffff) RAM: 0000000000000000 - 000000000fffffff: 262144kB Total RAM: 256MB mod09: 0151b000-0181b000: ramdisk-arm.rd mod08: 01229000-0151a4b8: vmlinuz.arm mod07: 01228000-012280bd: arm-rv.io mod06: 01112000-01227740: io mod05: 01111000-01111173: l4lx.cfg mod04: 010be000-01110bec: ned mod03: 010a4000-010bd498: l4re mod02: 01072000-010a3664: moe mod01: 01068000-010713b0: sigma0 mod00: 01016000-0106787c: fiasco Moving up to 10 modules behind 1100000 moving module 00 { 1016000-106787b } -> { 1905000-195687b } [333948] moving module 01 { 1068000-10713af } -> { 1957000-19603af } [37808] moving module 02 { 1072000-10a3663 } -> { 1961000-1992663 } [202340] moving module 03 { 10a4000-10bd497 } -> { 181b000-1834497 } [103576] moving module 04 { 10be000-1110beb } -> { 1835000-1887beb } [338924] moving module 05 { 1111000-1111172 } -> { 1100000-1100172 } [371] moving module 06 { 1112000-122773f } -> { 1101000-121673f } [1136448] moving module 07 { 1228000-12280bc } -> { 1217000-12170bc } [189] moving module 08 { 1229000-151a4b7 } -> { 1218000-15094b7 } [3085496] moving module 09 { 151b000-181afff } -> { 150a000-1809fff } [3145728] moving module 03 { 181b000-1834497 } -> { 180a000-1823497 } [103576] moving module 04 { 1835000-1887beb } -> { 1824000-1876beb } [338924] Scanning fiasco -serial_esc Scanning sigma0 Scanning moe rom/l4lx.cfg Relocated mbi to [0x100f000-0x100f15d] Loading fiasco Loading sigma0 Loading moe find kernel info page... found kernel info page at 0x2000 Regions of list 'regions' [ 1000, 19ff] { a00} Kern fiasco [ 2000, 5efff] { 5d000} Kern fiasco [ 90000, 968cf] { 68d0} Sigma0 sigma0 [ 98000, 9e17b] { 617c} Sigma0 sigma0 [ 140000, 16d58b] { 2d58c} Root moe [ 170000, 186f0f] { 16f10} Root moe [ 1000000, 10153f7] { 153f8} Boot bootstrap [ 100f000, 100f25a] { 25b} Root Multiboot info [ 1100000, 1876beb] { 776bec} Root Module API Version: (87) experimental Sigma0 config ip:00090100 sp:01014de4 Roottask config ip:00140260 sp:00000000 Starting kernel fiasco at 000011ec Hello from Startup::stage2 Cache config: ON ID_PFR[01]: 00000111 00000011 ID_[DA]FR0: 00000033 00000000 ID_MMFR[04]: 01130003 10030302 01222100 00000000 FPU0: Arch: VFPv2(1), Part: VFP11(20), r: 5, v: b, i: 41, t: hard, p: dbl/sngl SERIAL ESC: allocated IRQ 57 for serial uart Not using serial hack in slow timer handler. Welcome to Fiasco.OC (arm)! L4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden Rev: r59 compiled with gcc 4.7.2 for Broadcom 2835 [] Build: #18 Sun Dec 15 21:36:50 CST 2013
Calibrating timer loop... done. MDB: use page size: 20 MDB: use page size: 12 SIGMA0: Hello! KIP @ 2000 allocated 4KB for maintenance structures SIGMA0: Dump of all resource maps RAM:------------------------ [0:0;fff] [0:5f000;8ffff] [0:97000;97fff] [0:9f000;13ffff] [4:140000;16dfff] [0:16e000;16ffff] [4:170000;186fff] [0:187000;100efff] [4:100f000;100ffff] [0:1010000;10fffff] [4:1100000;1876fff] [0:1877000;effffff] IOMEM:---------------------- [0:10000000;ffffffff] MOE: Hello world MOE: found 237400 KByte free memory MOE: found RAM from 5f000 to f000000 MOE: allocated 239 KByte for the page array @0x9f000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:501000] BOOTFS: [180a000-1823498] [C:503000] l4re BOOTFS: [1824000-1876bec] [C:504000] ned BOOTFS: [1100000-1100173] [C:505000] l4lx.cfg BOOTFS: [1101000-1216740] [C:506000] io BOOTFS: [1217000-12170bd] [C:507000] arm-rv.io BOOTFS: [1218000-15094b8] [C:508000] vmlinuz.arm BOOTFS: [150a000-180a000] [C:509000] ramdisk-arm.rd MOE: cmdline: moe rom/l4lx.cfg MOE: Starting: rom/ned rom/l4lx.cfg MOE: loading 'rom/ned' Ned says: Hi World! Ned: loading file: 'rom/l4lx.cfg' l4linux | libio: Warning: Query of 'vbus' failed! l4linux | PH 0 (t: 1) offs=00008000 vaddr=02000000 vend=0235af1c l4linux | phys=02000000 ephys=0235af1c l4linux | f_sz=002d93b6 memsz=0035af1c flgs=rwx l4linux | PH 1 (t: 4) offs=0029b3f4 vaddr=022933f4 vend=02293418 l4linux | phys=022933f4 ephys=02293418 l4linux | f_sz=00000024 memsz=00000024 flgs=r-x l4linux | PH 2 (t: 1685382481) offs=00000000 vaddr=00000000 vend=00000000 l4linux | phys=00000000 ephys=00000000 l4linux | f_sz=00000000 memsz=00000000 flgs=rwx l4linux | Starting binary at 0x2000298, argc=7 argv=0x80007f8c *argv=0xb1007ff0 argv0=rom/vmlinuz.arm l4linux | External resolver is at 0xa80007a0 l4linux | ======> L4Linux starting... <======== l4linux | Linux version 3.11.0-l4-svn41 (soap@soap-quantal) (gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-64) ) #5 Sun Dec 15 21:56:56 CST 2013 l4linux | Binary name: rom/vmlinuz.arm l4linux | This is an AEABI build. l4linux | Linux kernel command line (6 args): mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=2048 init=/bin/sh l4linux | CPU mapping (l:p)[1]: 0:0 l4linux | Image: 02000000 - 02400000 [4096 KiB]. l4linux | Areas: Text: 02000000 - 022b2000 [2760kB] (a bit longer) l4linux | Data: 022b2000 - 022d4100 [136kB] l4linux | Initdata: 02294000 - 022b053c [113kB] l4linux | BSS: 022d93b6 - 0235af1c [518kB] l4linux | Device scan: l4linux | Device scan done. l4linux | l4lx_thread_create: Created thread 413 (cpu0) (u:b3000e00, v:b3000c00, sp:022b3fa4) l4linux | main thread will be 413 l4linux | l4x_register_pointer_section: addr = 02000000 size = 3518464 l4linux | section-with-init: Virt: 0x2000000 to 0x235af1b [3435 KiB] l4linux | section-with-init: Phys: 0x0024f000 to 0x005a9f1b, [3435 KiB] l4linux | Main thread running, waiting... l4linux | L4x: Memory size: 64MB l4linux | L4x: Setting superpages for main memory l4linux | L4x: Adjusted memory start: 02000000 l4linux | Main memory: Virt: 0x2400000 to 0x63fffff [65536 KiB] l4linux | Main memory: Phys: 0x01900000 to 0x058fffff, [65536 KiB] l4linux | l4x: vmalloc area: 06400000 - 0e400000 l4linux | l4x_register_pointer_section: addr = 02000000 size = 3518464 l4linux | text: Virt: 0x2000000 to 0x235af1b [3435 KiB] l4linux | text: Phys: 0x0024f000 to 0x005a9f1b, [3435 KiB] l4linux | l4x_rd_path: rom/ramdisk-arm.rd l4linux | Loading: rom/ramdisk-arm.rd l4linux | INITRD: Size of RAMdisk is 3072KiB l4linux | RAMdisk from 00002000 to 00302000 [3072KiB] l4linux | l4lx_thread_create: Created thread 418 (timer) (u:b3000a00, v:00000000, sp:022f5fa0) Booting Linux on physical CPU 0x0 Linux version 3.11.0-l4-svn41 (soap@soap-quantal) (gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-64) ) #5 Sun Dec 15 21:56:56 CST 2013 CPU: Fiasco [410fb767] revision 7 (ARMv7), cr=00000000 CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: L4 Memory policy: ECC disabled, Data cache writeback INITRD: 00002000 - 00302000 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 17209 Kernel command line: mem=64M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=2048 init=/bin/sh PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 64804K/69636K available (2033K kernel code, 136K rwdata, 604K rodata, 113K init, 518K bss, 4832K reserved) Virtual kernel memory layout: vector : 0xbffff000 - 0xc0000000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0x06400000 - 0x0e400000 ( 128 MB) lowmem : 0x00000000 - 0x06400000 ( 100 MB) modules : Virtual kernel memory layout: vector : 0xbffff000 - 0xc0000000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0x06400000 - 0x0e400000 ( 128 MB) lowmem : 0x00000000 - 0x06400000 ( 100 MB) moNR_IRQS:220 l4timer: Using IRQ210 sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms Console: colour dummy device 80x30 console [ttyLv0] enabled Calibrating delay loop... 464.48 BogoMIPS (lpj=2322432) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok Setting up static identity map for 0x021e7cb8 - 0x021e7cb8 NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations bio: create slab <bio-0> at 0 Switched to clocksource l4kipclk NET: Registered protocol family 2 TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 Trying to unpack rootfs image as initramfs... rootfs image is not initramfs (junk in compressed archive); looks like an initrd INITRD: Freeing memory. l4x: Checks passed. msgmni has been set to 126 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) L4 serial driver ttyLv0 at MMIO 0x1 (irq = 211) is a L4 l4ser_shm: L4 shared mem serial driver l4cdds: No name given, not starting. brd: module loaded l4bdds: No name given, not starting. mousedev: PS/2 mouse device common for all mice TCP: cubic registered NET: Registered protocol family 17 0x00000000, 0xf1199000 // these are values of 'Fpu::fpu.current().owner()' and 'current()'
Assertion failed: 'Fpu::fpu.current().owner() == current()' [ret=0xf0013544] /home/soap/project/L4/kernel/fiasco/src/kern/arm/thread-arm.cpp:800 at f0012b7c ------------------------------------------------------- # end of log
Thank you for any help!
Soap
Hi,
On Sun, Dec 15, 2013 at 11:59:56PM +0800, Wei Jin wrote:
Hi all,
I'm trying to get L4Linux running on my raspberry pi(model B) but there is something wrong that I couldn't figure out.
The error message is:
Assertion failed: 'Fpu::fpu.current().owner() == current()' [ret=0xf0013544]
I got this assertion also but I don't know why. Another toolchain helped, try toolchain [1].
- Alex
Thanks Alex!
I've rebuilt everything using this toolchain but unfortunately it doesn't work too.
Have you succeed booting L4Linux on rpi? Or at least passing this assertion?
On Mon, Dec 16, 2013 at 3:33 AM, Alexander Aring alex.aring@gmail.comwrote:
Hi,
On Sun, Dec 15, 2013 at 11:59:56PM +0800, Wei Jin wrote:
Hi all,
I'm trying to get L4Linux running on my raspberry pi(model B) but there
is
something wrong that I couldn't figure out.
The error message is:
Assertion failed: 'Fpu::fpu.current().owner() == current()'
[ret=0xf0013544]
I got this assertion also but I don't know why. Another toolchain helped, try toolchain [1].
- Alex
On Tue, Dec 17, 2013 at 12:12:04AM +0800, Wei Jin wrote:
Thanks Alex!
I've rebuilt everything using this toolchain but unfortunately it doesn't work too.
Have you succeed booting L4Linux on rpi? Or at least passing this assertion?
I hack on the plain fiasco l4 kernel. I know this assertion because I tried another toolchain at first. This toolchain doesn't work but my classmates successful booting fiasco L4 kernel on rpi (model b) with the Sourcery CodeBench toolchain. Then I switch my toolchain to this one and it worked for me.
- Alex
l4-hackers@os.inf.tu-dresden.de