l4-hackers
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1999 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1998 -----
- December
- November
- October
September 2017
- 3 participants
- 4 discussions
Hello l4-hackers,
I am currently working on porting the Fiasco.OC micro kernel onto the
Raspberry pi 2.
Therefore, I am struggling with memory mapping, and I encounter the
following error when launching the default 'hello' entry:
L4 Bootstrapper
Build: #2 Tue Feb 23 11:57:19 CET 2016, 4.8.3 20140303 (prerelease)
Scanning up to 1024 MB RAM, starting at offset 32MB
Memory size is 1024MB (00000000 - 3fffffff)
RAM: 0000000000000000 - 000000003fffffff: 1048576kB
Total RAM: 1024MB
Scanning fiasco
Scanning sigma0
Scanning moe
Moving up to 5 modules behind 1100000
moving module 02 { 10db000-110c4d7 } -> { 11cc000-11fd4d7 } [201944]
moving module 01 { 10c9000-10da373 } -> { 11ba000-11cb373 } [70516]
moving module 00 { 1043000-10c889f } -> { 1134000-11b989f } [546976]
moving module 04 { 1029000-10425af } -> { 111a000-11335af } [103856]
moving module 03 { 100f000-102849b } -> { 1100000-111949b } [103580]
Loading fiasco
Loading sigma0
Loading moe
find kernel info page...
found kernel info page at 0x2000
Regions of list 'regions'
[ 1000, 1aff] { b00} Kern fiasco
[ 2000, 92fff] { 91000} Kern fiasco
[ 93000, 930eb] { ec} Root mbi_rt
[ c0000, c9c33] { 9c34} Sigma0 sigma0
[ d0000, d6177] { 6178} Sigma0 sigma0
[ 140000, 16905b] { 2905c} Root moe
[ 170000, 17b58b] { b58c} Root moe
[ 1000000, 100e4ff] { e500} Boot bootstrap
[ 1100000, 1133fff] { 34000} Root Module
API Version: (87) experimental
Sigma0 config ip:000c0100 sp:00000000
Roottask config ip:00140250 sp:00000000
Starting kernel fiasco at 000012b8
Non-HYP kernel detected but running in HYP mode, switching back.
Hello from Startup::stage2
Assertion failed
at /home/adebut/Documents/snapshotTest/l4re-snapshot-2015123115/src/kernel/fiasco/src/kern/buddy_alloc.cpp:101:
(unsigned long)block >= _base
Press any key to reboot.
I am currently working on the latest snapshot (2015123115), with
U-Boot as a bootloader, and testing on a real board (Raspberry Pi 2
model B V1.1). The entry built is the standard 'hello', and I use the
ramdisk-arm.rd given in the snapshot.
I did add a custom Bsp for the board, mainly based on the first
Raspberry Pi except for the Base Address, that is 0x3F000000
instead of the first Pi's 0x20000000.
I highly think that it is an address configuration problem, because it
first happened when I did expand the RAM size to 1024MB.
With further investigation, I found out that it was the kernel memory
allocation that causes this error, and suspect an incorrect MMU mapping.
This suspicion comes from the fact that the assertion takes the address
_base (0xf0400000) and the currently allocated block (0xee100000).
I did not modify any parameter in the kern/arm/mem_layout-arm.cpp file
on the Fiasco directory, which provides the default ARM addressing.
Maybe that's where my error comes from ? How can I correctly configure
my memory mapping, besides what I already configure in the Bsp (given in
attachment) ?
Also, it is the first time that I am assigned for porting a system, do
you have some hints, like important steps to follow ?
I am pretty sure it is a newbie error, but I cannot figure it out for
now :(
Thanks in advance for your time,
--
Antoine Debut
EPITA 2016 - GISTRE
3
7
Hello everyone,
I am having trouble getting the network to work on L4Linux running on
the zedboard. I have enabled the macb driver which my net card needs, I
have created a device tree telling l4linux where to find the device and
I have written the io configuration.
The problem is that L4linux doesn't have access to the 3 clocks it needs
for the network device to work. Those are "pclk", "hclk", "tx_clk". I
understand that I have to assign those clocks to l4linux. But how can I
do that? I cannot find any examples of assigning clocks. Won't this
create an issue to the Fiasco kernel? Should the driver use "l4kipclk"
instead of "pclk"?
Below you will find the dmesg output, my io files, my cfg file and the
device tree.
Thank you for your time and help!
Manolis
----dmesg output part begin----
__l4x_ioremap: Mapping physaddr e000b000 [0x1000 Bytes, e000b000+001000]
to 00002000+000000
/amba/ethernet@e000b000: could not find phandle
ERROR: could not get clock /amba/ethernet@e000b000:pclk(0)
macb e000b000.ethernet: failed to get macb_clk (4294967294)
macb: probe of e000b000.ethernet failed with error -2
----dmesg output part end----
---- zynq.dts begin ----
{
model = "L4Linux (DT)";
compatible = "L4Linux";
#address-cells = <1>;
#size-cells = <1>;
chosen { };
aliases { };
amba {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x3>;
ranges;
ethernet@e000b000 {
compatible = "cdns,zynq-gem", "cdns,gem", "cdns,macb";
reg = <0xe000b000 0x1000>;
status = "okay";
interrupts = <0x0 0x16 0x4>;
clocks = <0x1 0x1e 0x1 0x1e 0x1 0xd>;
clock-names = "pclk", "hclk", "tx_clk";
#address-cells = <0x1>;
#size-cells = <0x0>;
phy-mode = "rgmii-id";
phy-handle = <0x4>;
ethernet-phy@0 {
reg = <0x0>;
linux,phandle = <0x4>;
phandle = <0x4>;
};
};
};
};
---- zynq.dts end ----
---- zedboard.devs begin ----
local Res = Io.Res
local Hw = Io.Hw
Io.hw_add_devices(function()
NIC = Hw.Device(function()
compatible = {"cdns,zynq-gem", "cdns,gem", "cdns,macb"};
Property.hid = "cdns,zynq-gem";
Property.flags = Io.Hw_device_DF_dma_supported;
Resource.irq = Io.Res.irq(54);
Resource.mem = Res.mmio(0xe000b000, 0xe000bfff);
end);
end);
---- zedboard.devs end ----
---- hw_devices.io begin ----
local Hw = Io.system_bus()
Io.add_vbus("l4linux", Io.Vi.System_bus
{
ethernet = wrap(Hw.NIC);
})
---- hw_devices.io end ----
---- l4lx.cfg begin ----
local L4 = require("L4");
local loader = L4.default_loader;
local lxname = "vmlinuz";
-- Start io
vbus_l4linux = loader:new_channel();
local vbus_input = loader:new_channel();
loader:start(
{
caps = {
sigma0 = L4.cast(L4.Proto.Factory,
L4.Env.sigma0):create(L4.Proto.Sigma0);
icu = L4.Env.icu;
input = vbus_input:svr();
l4linux = vbus_l4linux:svr();
},
log = { "IO", "y" },
l4re_dbg = L4.Dbg.Warn,
}, "rom/io rom/zedboard.devs rom/hw_devices.io");
L4.default_loader:start(
{ caps = {
vbus = vbus_l4linux;
},
l4re_dbg = L4.Dbg.Warn,
log = L4.Env.log:m("rws"),
},
"rom/vmlinuz mem=312M console=ttyLv0 " ..
"l4x_dtb=rom/zynq-zed.dtb " ..
"l4x_rd=rom/ramdisk-" .. L4.Info.arch() .. ".rd "
.. "root=1:0 ramdisk_size=5000");
---- l4lx.cfg end ----
3
13
Hi,
Starting from a previous work [1], I have succeeded in booting L4Linux on
Cubietruck with the snapshot (l4re-snapshot-2016082114). Then I have
been trying to configure L4Linux to access Ethernet device. With current
configuration I cannot boot L4Llinux anymore. Following is my configuration
and boot log:
l4lx-net-cubi.devs
===========================================
local Res = Io.Res
local Hw = Io.Hw
Io.hw_add_devices(function()
NIC = Hw.Device(function()
Property.hid = "sun7ia20gmac";
compatible = {"allwinner,sun7i-a20-gmac"};
Resource.regs = Res.mmio(0x01c50000, 0x01c5ffff);
--Resource.irq = Res.irq(0);
Resource.irq = Res.irq(85);
--Resource.irq = Res.irq(4);
Property.flags = Io.Hw_device_DF_dma_supported;
end);
end)
l4lx-net-cubi.io
===========================================
local hw = Io.system_bus()
Io.add_vbus("l4linux", Io.Vi.System_bus
{
NIC = wrap(hw:match("allwinner,sun7i-a20-gmac"));
})
l4lx-net-cubi.cfg
===========================================
local L4 = require("L4");
local loader = L4.default_loader;
vbus_l4linux = loader:new_channel();
loader:start(
{
caps = {
icu = L4.Env.icu,
sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0),
l4linux = vbus_l4linux:svr(),
},
log = {"IO", "y"},
l4re_dbg = L4.Dbg.Warn,
},
"rom/io -vvv rom/l4lx-net-cubi.devs rom/l4lx-net-cubi.io"
);
-- start L4Linux
loader:start(
{
caps = {
vbus = vbus_l4linux,
},
--log = {"l4linux", "cyan"},
log = L4.Env.log:m("rws"),
l4re_dbg = L4.Dbg.Warn,
},
"rom/vmlinuz mem=64M console=ttyLv0 earlyprintk=1 l4x_dtb=rom/sun7i-a20-cubietruck.dtb "
.. "l4x_rd=rom/ramdisk-" .. L4.Info.arch() .. ".rd "
.. "root=1:0 rw ramdisk_size=4000"
);
modules.list
============================================
entry L4Linux-net-cubi
roottask moe rom/l4lx-net-cubi.cfg
module l4re
module ned
module io
module sun7i-a20-cubietruck.dtb
module l4lx-net-cubi.cfg
module l4lx-net-cubi.devs
module l4lx-net-cubi.io
module vmlinuz
module[perl] "ramdisk-$ENV{ARCH}.rd"
boot log
===================================
U-Boot SPL 2017.03-rc3 (Aug 14 2017 - 13:26:17)
DRAM: 2048 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC1
U-Boot 2017.03-rc3 (Aug 14 2017 - 13:26:17 +0200) Allwinner Technology
CPU: Allwinner A20 (SUN7I)
Model: Cubietech Cubietruck
I2C: ready
DRAM: 2 GiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
Setting up a 1024x768 vga console (overscan 0x0)
In: serial
Out: vga
Err: vga
SCSI: SATA link 0 timeout.
AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part ccc apst
Net: eth0: ethernet@01c50000
starting USB...
USB0: USB EHCI 1.00
USB1: USB OHCI 1.0
USB2: USB EHCI 1.00
USB3: USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
reading /boot/boot.scr
1165 bytes read in 24 ms (46.9 KiB/s)
## Executing script at 43100000
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
reading boot/uImage
10481728 bytes read in 652 ms (15.3 MiB/s)
## Booting kernel from Legacy Image at 48000000 ...
Image Name: L4 Image #32
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 10481664 Bytes = 10 MiB
Load Address: 41000000
Entry Point: 41000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
L4 Bootstrapper
Build: #32 Mi 13. Sep 11:47:18 CEST 2017, 4.9.4
Scanning up to 1024 MB RAM, starting at offset 32MB
Memory size is 1024MB (40000000 - 7fffffff)
RAM: 0000000040000000 - 000000007fffffff: 1048576kB
Total RAM: 1024MB
Scanning fiasco
Scanning sigma0
Scanning moe
Moving up to 12 modules behind 41100000
moving module 02 { 419cd000-419fe49b } -> { 41abd000-41aee49b } [201884]
moving module 01 { 419bb000-419cc337 } -> { 41aab000-41abc337 } [70456]
moving module 00 { 4192d000-419ba98b } -> { 41a1d000-41aaa98b } [579980]
moving module 11 { 4162d000-4192cfff } -> { 4171d000-41a1cfff } [3145728]
moving module 10 { 4122b000-4162c473 } -> { 4131b000-4171c473 } [4199540]
moving module 09 { 4122a000-4122a0c2 } -> { 4131a000-4131a0c2 } [195]
moving module 08 { 41229000-412291ef } -> { 41319000-413191ef } [496]
moving module 07 { 41228000-4122835d } -> { 41318000-4131835d } [862]
moving module 06 { 4121f000-41227d73 } -> { 4130f000-41317d73 } [36212]
moving module 05 { 41094000-4121e8d3 } -> { 41184000-4130e8d3 } [1616084]
moving module 04 { 41032000-410936a7 } -> { 41122000-411836a7 } [399016]
moving module 03 { 41010000-4103145f } -> { 41100000-4112145f } [136288]
Loading fiasco
Loading sigma0
Loading moe
find kernel info page...
found kernel info page (via ELF) at 40002000
Regions of list 'regions'
[ 40000000, 400001cf] { 1d0} Root mbi_rt
[ 40001000, 40001a7f] { a80} Kern fiasco
[ 40002000, 4009afff] { 99000} Kern fiasco
[ 400c0000, 400ca287] { a288} Sigma0 sigma0
[ 400d0000, 400d6177] { 6178} Sigma0 sigma0
[ 40140000, 40168fcb] { 28fcc} Root moe
[ 40170000, 40176ff3] { 6ff4} Root moe
[ 41000000, 4100f5cb] { f5cc} Boot bootstrap
[ 41100000, 41a1cfff] { 91d000} Root Module
found kernel options (via ELF) at 40003000
API Version: (87) experimental
Sigma0 config ip:400c0100 sp:00000000
Roottask config ip:40140210 sp:00000000
Starting kernel fiasco at 4000124c
Non-HYP kernel detected but running in HYP mode, switching back.
Hello from Startup::stage2
Number of IRQs available at this GIC: 160
FPU: Initialize
FPU0: Subarch: 2, Part: 30, Rev: 4, Var: 7, Impl: 41
ARM generic timer: freq=24000000 interval=24000 cnt=212673046
SERIAL ESC: allocated IRQ 33 for serial uart
Not using serial hack in slow timer handler.
Welcome to L4/Fiasco.OC!
L4/Fiasco.OC microkernel on arm
Rev: unknown compiled with gcc 4.9.4 for Allwinner A20 []
Build: #4 Mon Sep 11 10:25:38 CEST 2017
Calibrating timer loop... done.
MDB: use page size: 20
MDB: use page size: 12
SIGMA0: Hello!
KIP @ 40002000
allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:40000000;40000fff]
[0:4009b000;400bffff]
[0:400cb000;400cffff]
[0:400d7000;4013ffff]
[4:40140000;40168fff]
[0:40169000;4016ffff]
[4:40170000;40176fff]
[0:40177000;410fffff]
[4:41100000;41a1cfff]
[0:41a1d000;7effffff]
IOMEM:----------------------
[0:0;3fffffff]
[0:80000000;ffffffff]
MOE: Hello world
MOE: found 1021976 KByte free memory
MOE: found RAM from 40000000 to 7f000000
MOE: allocated 1008 KByte for the page array @0x40177000
MOE: virtual user address space [0-bfffffff]
MOE: rom name space cap -> [C:103000]
BOOTFS: [41100000-41121460] [C:105000] l4re
BOOTFS: [41122000-411836a8] [C:107000] ned
BOOTFS: [41184000-4130e8d4] [C:109000] io
BOOTFS: [4130f000-41317d74] [C:10b000] sun7i-a20-cubietruck.dtb
BOOTFS: [41318000-4131835e] [C:10d000] l4lx-net-cubi.cfg
BOOTFS: [41319000-413191f0] [C:10f000] l4lx-net-cubi.devs
BOOTFS: [4131a000-4131a0c3] [C:111000] l4lx-net-cubi.io
BOOTFS: [4131b000-4171c474] [C:113000] vmlinuz
BOOTFS: [4171d000-41a1d000] [C:115000] ramdisk-arm.rd
MOE: cmdline: moe rom/l4lx-net-cubi.cfg
MOE: Starting: rom/ned rom/l4lx-net-cubi.cfg
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/l4lx-net-cubi.cfg'
IO | Io service
IO | Verboseness level: 4
IO | unused physical memory space:
IO | [00000000000000-0000003fffffff]
IO | [00000080000000-000000ffffffff]
IO | no 'iommu' capability found use CPU-phys for DMA
IO | Loading: config 'rom/l4lx-net-cubi.devs'
IO | warning: inconsistent fixed resource @ device: /System Bus/
IO | : hid=sun7ia20gmac
IO | DMADOM [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO | Loading: config 'rom/l4lx-net-cubi.io'
IO | Real Hardware -----------------------------------
IO | System Bus: hid=
IO | Resources: ==== start ====
IO | DMADOM [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO | Resources: ===== end =====
IO | NIC: hid=sun7ia20gmac
IO | Clients: ===== start ====
IO | NIC: [N2Vi9Proxy_devE]
IO | Clients: ===== end ====
IO | Resources: ==== start ====
IO | IRQ [00000000000055-00000000000055 1] none (32bit) (align=0 flags=1)
IO | IOMEM [00000001c50000-00000001c5ffff 10000] non-pref (32bit) (align=ffff flags=2)
IO | DMADOM [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO | Resources: ===== end =====
IO | warning: could not register control interface at cap 'platform_ctl'
IO | Ready. Waiting for request.
PH 0 offs=00010000 flags=rwx PH-type=0x1
virt=02000000 evirt=0245b5dc
phys=02000000 ephys=0245b5dc
f_sz=003d3653 memsz=0045b5dc
PH 1 offs=00394898 flags=r-x PH-type=0x4
virt=02384898 evirt=023848bc
phys=02384898 ephys=023848bc
f_sz=00000024 memsz=00000024
PH 2 offs=00000000 flags=rwx PH-type=0x6474e551
virt=00000000 evirt=00000000
phys=00000000 ephys=00000000
f_sz=00000000 memsz=00000000
Starting binary at 0x2000330, argc=9 argv=0xafff4f84 *argv=0xb1007ff4 argv0=rom/vmlinuz
External resolver is at 0xa80007cc
======> L4Linux starting... <========
Linux version 4.7.0-l4 (yiyang@i85217) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01) ) #4 Wed Sep 13 11:18:30 CEST 2017
Binary name: rom/vmlinuz
This is an AEABI build.
Linux kernel command line (8 args): mem=64M console=ttyLv0 earlyprintk=1 l4x_dtb=rom/sun7i-a20-cubietruck.dtb l4x_rd=rom/ramdisk-arm.rd root=1:0 rw ramdisk_size=4000
CPU mapping (l:p)[1]: 0:0
Image: 02000000 - 02600000 [6144 KiB].
Areas: Text: 02000000 - 023848bc [3602kB]
RO-Data: 022ad000 - 02370000 [780kB]
Data: 023ac000 - 023cefe0 [139kB]
Init: 02385000 - 023ac000 [156kB]
BSS: 023d3653 - 0245b5dc [543kB]
Device scan:
Device: L4ICU
Device: NIC
IRQ: 00000055 - 00000055
MEM: 01c50000 - 01c5ffff
DMAD: 00000000 - 00000000
Device scan done.
l4lx_thread_create: Created thread 41e (cpu0) (u:b3000e00, v:b3000c00, sp:023adfa4)
main thread will be 41e
L4x: section-with-init(-data): Virt: 0x2000000 to 0x245bfff [4464 KiB]
section-with-init(-data): Phys: 0x40273000 to 0x406cefff, [4464 KiB]
L4x: section-with-init-text: Virt: 0x2000000 to 0x245bfff [4464 KiB]
error: failed to get physical address for 2000000.
L4x: Main thread running, waiting...
L4x: Memory size: 64MB
L4x: Setting superpages for main memory
L4x: Adjusted memory start: 02000000
L4x: Main memory: Virt: 0x2600000 to 0x65fffff [65536 KiB]
Main memory: Phys: 0x41c00000 to 0x45bfffff, [65536 KiB]
l4x: vmalloc area: 06600000 - 0e600000
L4x: text: Virt: 0x2000000 to 0x245bfff [4464 KiB]
error: failed to get physical address for 2000000.
The boot process stops at this point. Compare with other boot logs in archives the following step could
be the loading ramdisk and device tree blob. Then I delete the "l4x_dtb=rom/sun7i-a20-cubietruck.dtb"
from the cmdline, it can boot the L4Linux again. Does it mean there is a problem with loading the device tree blob?
Any suggestion is very appreciated. Thanks.
Best regards,
Yang
[1] http://os.inf.tu-dresden.de/pipermail/l4-hackers/2017/008120.html
5
7
Dear L4-hackers,
I have already run "Hello World!" on Cubietruck.
At the moment i am trying to run L4Linux. I have built the files on Ubuntu with cross compiler gcc-linaro-4.9.4-arm-linux-gnueabihf. During booting there are two errors, assertion failure and kernel panic. The logs are stated below:
Assertion failure
====================================================
U-Boot SPL 2017.03-rc3 (Jul 28 2017 - 11:53:12)
DRAM: 2048 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC1
U-Boot 2017.03-rc3 (Jul 28 2017 - 11:53:12 +0200) Allwinner Technology
CPU: Allwinner A20 (SUN7I)
Model: Cubietech Cubietruck
I2C: ready
DRAM: 2 GiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
Setting up a 1024x768 vga console (overscan 0x0)
In: serial
Out: vga
Err: vga
SCSI: SATA link 0 timeout.
AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part ccc apst
Net: eth0: ethernet@01c50000
starting USB...
USB0: USB EHCI 1.00
USB1: USB OHCI 1.0
USB2: USB EHCI 1.00
USB3: USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
reading /boot/boot.scr
883 bytes read in 24 ms (35.2 KiB/s)
## Executing script at 43100000
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
reading boot/script.bin
46404 bytes read in 32 ms (1.4 MiB/s)
reading boot/uImage
8745024 bytes read in 518 ms (16.1 MiB/s)
## Booting kernel from Legacy Image at 48000000 ...
Image Name: L4 Image #11
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 8744960 Bytes = 8.3 MiB
Load Address: 41000000
Entry Point: 41000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
L4 Bootstrapper
Build: #11 Fr 28. Jul 15:38:45 CEST 2017, 4.9.4
Scanning up to 2048 MB RAM, starting at offset 32MB
Memory size is 2048MB (40000000 - bfffffff)
Limiting 'RAM' region [ 40000000, bfffffff] { 80000000} to [ 40000000, bcffffff] { 7d000000} due to 3024 MB address limit
RAM: 0000000040000000 - 00000000bcffffff: 2048000kB
Total RAM: 2000MB
Scanning fiasco
Scanning sigma0
Scanning moe
Moving up to 8 modules behind 41100000
moving module 02 { 41825000-4185649f } -> { 41916000-4194749f } [201888]
moving module 01 { 41813000-4182433b } -> { 41904000-4191533b } [70460]
moving module 00 { 41776000-4181296f } -> { 41867000-4190396f } [641392]
moving module 07 { 41476000-41775fff } -> { 41567000-41866fff } [3145728]
moving module 06 { 41094000-41475477 } -> { 41185000-41566477 } [4068472]
moving module 05 { 41032000-410936ab } -> { 41123000-411846ab } [399020]
moving module 04 { 41010000-41031463 } -> { 41101000-41122463 } [136292]
moving module 03 { 4100f000-4100f12d } -> { 41100000-4110012d } [302]
Loading fiasco
Loading sigma0
Loading moe
find kernel info page...
found kernel info page (via ELF) at 40002000
Regions of list 'regions'
[ 40000000, 40000137] { 138} Root mbi_rt
[ 40001000, 40001a7f] { a80} Kern fiasco
[ 40002000, 400aafff] { a9000} Kern fiasco
[ 400c0000, 400ca287] { a288} Sigma0 sigma0
[ 400d0000, 400d6177] { 6178} Sigma0 sigma0
[ 40140000, 4016851b] { 2851c} Root moe
[ 40170000, 40176ff3] { 6ff4} Root moe
[ 41000000, 4100e55b] { e55c} Boot bootstrap
[ 41100000, 41866fff] { 767000} Root Module
found kernel options (via ELF) at 40003000
API Version: (87) experimental
Sigma0 config ip:400c0100 sp:00000000
Roottask config ip:40140210 sp:00000000
Starting kernel fiasco at 4000124c
Non-HYP kernel detected but running in HYP mode, switching back.
Hello from Startup::stage2
Per_cpu_data_alloc: (orig: 0xf0099af0-0xf009a0b8)
Number of IRQs available at this GIC: 160
FPU: Initialize
FPU0: Subarch: 2, Part: 30, Rev: 4, Var: 7, Impl: 41
ARM generic timer: freq=24000000 interval=24000 cnt=211255640
SERIAL ESC: allocated IRQ 33 for serial uart
Not using serial hack in slow timer handler.
Welcome to L4/Fiasco.OC!
L4/Fiasco.OC microkernel on arm
Rev: unknown compiled with gcc 4.9.4 for Allwinner A20 []
Build: #4 Fri Jul 28 15:09:33 CEST 2017
Per_cpu_data_alloc: (orig: 0xf0099af0-0xf009a0b8)
Allocate 1480 bytes (1KB) for CPU[2] local storage (offset=134ad10, 0xf13e4800-0xf13e4dc8)
Number of CPUs: 1
Calibrating timer loopP..e.r_ cpu_data_alloc: (orig: 0xf0099af0-0xf009a0b8)
Allocate 1480 bytdeons e(.1
B) for CPU[1] MlDocB:a l usseto praaggee (siozffe:s et=115200d10,
0xf11ea800-MDB: use page size: 01x2f11eadc8)
DiffSerent frequency on AP CPUsIFPUG1M: Subarch: A20, Part: :30 , Rev: H4e, Var: 7ll, Impl: o41!
ache config: ON
KIID_PFR[01]: P00001 131@ 0001104110 ID_[DA]FR0: 00200105552 00000000000
eD_MMFR[04]: 101 01105 a40000000l l0o1240000c a0t2102211
B CPU[14]: Kgoes to idle loop
for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:40000000;40000fff]
[0:400ab000;400bffff]
[0:400cb000;400cffff]
[0:400d7000;4013ffff]
[4:40140000;40168fff]
[0:40169000;4016ffff]
[4:40170000;40176fff]
[0:40177000;410fffff]
[4:41100000;41866fff]
[0:41867000;bbffffff]
IOMEM:----------------------
[0:0;3fffffff]
[0:bd000000;ffffffff]
MOE: Hello world
MOE: found 2023088 KByte free memory
MOE: found RAM from 40000000 to bc000000
MOE: allocated 1984 KByte for the page array @0x40177000
MOE: virtual user address space [0-bfffffff]
MOE: rom name space cap -> [C:103000]
BOOTFS: [41100000-4110012e] [C:105000] l4lx.cfg
BOOTFS: [41101000-41122464] [C:107000] l4re
BOOTFS: [41123000-411846ac] [C:109000] ned
BOOTFS: [41185000-41566478] [C:10b000] vmlinuz
BOOTFS: [41567000-41867000] [C:10d000] 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'
Assertion failed at /home/yiyang/Microkernel_ARM/l4re/src/kernel/fiasco/src/lib/libk/slab_cache.cpp:261: ret
---------------------------------------------------------------------
CPU 0 [f001d9e0]: abort
Kernel panic
=========================================================
U-Boot SPL 2017.03-rc3 (Jul 28 2017 - 11:53:12)
DRAM: 2048 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC1
U-Boot 2017.03-rc3 (Jul 28 2017 - 11:53:12 +0200) Allwinner Technology
CPU: Allwinner A20 (SUN7I)
Model: Cubietech Cubietruck
I2C: ready
DRAM: 2 GiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
Setting up a 1024x768 vga console (overscan 0x0)
In: serial
Out: vga
Err: vga
SCSI: SATA link 0 timeout.
AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part ccc apst
Net: eth0: ethernet@01c50000
starting USB...
USB0: USB EHCI 1.00
USB1: USB OHCI 1.0
USB2: USB EHCI 1.00
USB3: USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
reading /boot/boot.scr
883 bytes read in 24 ms (35.2 KiB/s)
## Executing script at 43100000
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
reading boot/script.bin
46404 bytes read in 32 ms (1.4 MiB/s)
reading boot/uImage
8745024 bytes read in 518 ms (16.1 MiB/s)
## Booting kernel from Legacy Image at 48000000 ...
Image Name: L4 Image #11
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 8744960 Bytes = 8.3 MiB
Load Address: 41000000
Entry Point: 41000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
L4 Bootstrapper
Build: #11 Fr 28. Jul 15:38:45 CEST 2017, 4.9.4
Scanning up to 2048 MB RAM, starting at offset 32MB
Memory size is 2048MB (40000000 - bfffffff)
Limiting 'RAM' region [ 40000000, bfffffff] { 80000000} to [ 40000000, bcffffff] { 7d000000} due to 3024 MB address limit
RAM: 0000000040000000 - 00000000bcffffff: 2048000kB
Total RAM: 2000MB
Scanning fiasco
Scanning sigma0
Scanning moe
Moving up to 8 modules behind 41100000
moving module 02 { 41825000-4185649f } -> { 41916000-4194749f } [201888]
moving module 01 { 41813000-4182433b } -> { 41904000-4191533b } [70460]
moving module 00 { 41776000-4181296f } -> { 41867000-4190396f } [641392]
moving module 07 { 41476000-41775fff } -> { 41567000-41866fff } [3145728]
moving module 06 { 41094000-41475477 } -> { 41185000-41566477 } [4068472]
moving module 05 { 41032000-410936ab } -> { 41123000-411846ab } [399020]
moving module 04 { 41010000-41031463 } -> { 41101000-41122463 } [136292]
moving module 03 { 4100f000-4100f12d } -> { 41100000-4110012d } [302]
Loading fiasco
Loading sigma0
Loading moe
find kernel info page...
found kernel info page (via ELF) at 40002000
Regions of list 'regions'
[ 40000000, 40000137] { 138} Root mbi_rt
[ 40001000, 40001a7f] { a80} Kern fiasco
[ 40002000, 400aafff] { a9000} Kern fiasco
[ 400c0000, 400ca287] { a288} Sigma0 sigma0
[ 400d0000, 400d6177] { 6178} Sigma0 sigma0
[ 40140000, 4016851b] { 2851c} Root moe
[ 40170000, 40176ff3] { 6ff4} Root moe
[ 41000000, 4100e55b] { e55c} Boot bootstrap
[ 41100000, 41866fff] { 767000} Root Module
found kernel options (via ELF) at 40003000
API Version: (87) experimental
Sigma0 config ip:400c0100 sp:00000000
Roottask config ip:40140210 sp:00000000
Starting kernel fiasco at 4000124c
Non-HYP kernel detected but running in HYP mode, switching back.
Hello from Startup::stage2
Per_cpu_data_alloc: (orig: 0xf0099af0-0xf009a0b8)
Number of IRQs available at this GIC: 160
FPU: Initialize
FPU0: Subarch: 2, Part: 30, Rev: 4, Var: 7, Impl: 41
ARM generic timer: freq=24000000 interval=24000 cnt=211256036
SERIAL ESC: allocated IRQ 33 for serial uart
Not using serial hack in slow timer handler.
Welcome to L4/Fiasco.OC!
L4/Fiasco.OC microkernel on arm
Rev: unknown compiled with gcc 4.9.4 for Allwinner A20 []
Build: #4 Fri Jul 28 15:09:33 CEST 2017
Per_cpu_data_alloc: (orig: 0xf0099af0-0xf009a0b8)
Allocate 1480 bytes (1KB) for CPU[2] local storage (offset=134ad10, 0xf13e4800-0xf13e4dc8)
Number of CPUs: 1
Calibrating timer loopP.e..r_ cpu_data_alloc: (orig: 0xf0099af0-0xf009a0b8)
1llocate 1480 bydteosne (.
B) for CPU[1] MlDocB:a l usseto praaggee (siozffe:s et=115200d10,
0xf11ea800-MDB: use page size: 0x1f211eadc8)
!iffSerent frequency on AP CPUsIFPUG1M: Subarch: A20, Part: :30 , Rev: H4e, Var: l7l, Impl: o41
Cache config: ON
KIID_PFR[01]: P0000 1131 @ 0001104110 ID_[DA]FR0: 0002010555 200000000000
eD_MMFR[04]: 101 01105 a40000000l l0o1240000c a0t2102211
B CPU[14]:K goes to idle loop
for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:40000000;40000fff]
[0:400ab000;400bffff]
[0:400cb000;400cffff]
[0:400d7000;4013ffff]
[4:40140000;40168fff]
[0:40169000;4016ffff]
[4:40170000;40176fff]
[0:40177000;410fffff]
[4:41100000;41866fff]
[0:41867000;bbffffff]
IOMEM:----------------------
[0:0;3fffffff]
[0:bd000000;ffffffff]
MOE: Hello world
MOE: found 2023088 KByte free memory
MOE: found RAM from 40000000 to bc000000
MOE: allocated 1984 KByte for the page array @0x40177000
MOE: virtual user address space [0-bfffffff]
MOE: rom name space cap -> [C:103000]
BOOTFS: [41100000-4110012e] [C:105000] l4lx.cfg
BOOTFS: [41101000-41122464] [C:107000] l4re
BOOTFS: [41123000-411846ac] [C:109000] ned
BOOTFS: [41185000-41566478] [C:10b000] vmlinuz
BOOTFS: [41567000-41867000] [C:10d000] 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'
libio: Warning: Query of 'vbus' failed!
PH 0 offs=00010000 flags=rwx PH-type=0x1
virt=02000000 evirt=0244333c
phys=02000000 ephys=0244333c
f_sz=003bb3d5 memsz=0044333c
PH 1 offs=0037ef74 flags=r-x PH-type=0x4
virt=0236ef74 evirt=0236ef98
phys=0236ef74 ephys=0236ef98
f_sz=00000024 memsz=00000024
PH 2 offs=00000000 flags=rwx PH-type=0x6474e551
virt=00000000 evirt=00000000
phys=00000000 ephys=00000000
f_sz=00000000 memsz=00000000
Starting binary at 0x2000330, argc=6 argv=0xafff4f8c *argv=0xb1007ff4 argv0=rom/vmlinuz
External resolver is at 0xa80007cc
======> L4Linux starting... <========
Linux version 4.7.0-l4 (yiyang@Dell-E4XY) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01) ) #2 Fri Jul 28 14:00:04 CEST 2017
Binary name: rom/vmlinuz
This is an AEABI build.
Linux kernel command line (5 args): mem=128M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=4000
CPU mapping (l:p)[1]: 0:0
Image: 02000000 - 02600000 [6144 KiB].
Areas: Text: 02000000 - 0236ef98 [3515kB]
RO-Data: 0229e000 - 0235b000 [756kB]
Data: 02394000 - 023b6d20 [139kB]
Init: 0236f000 - 02394000 [148kB]
BSS: 023bb3d5 - 0244333c [543kB]
Device scan:
Device scan done.
l4lx_thread_create: Created thread 41a (cpu0) (u:b3000e00, v:b3000c00, sp:02395fa4)
main thread will be 41a
L4x: section-with-init(-data): Virt: 0x2000000 to 0x2443fff [4368 KiB]
L4x: section-with-init-text: Virt: 0x2000000 to 0x2443fff [4368 KiB]
L4x: Main thread running, waiting...
L4x: Memory size: 128MB
L4x: Setting superpages for main memory
L4x: Adjusted memory start: 02000000
L4x: Main memory: Virt: 0x2600000 to 0xa5fffff [131072 KiB]
l4x: vmalloc area: 0a600000 - 12600000
L4x: text: Virt: 0x2000000 to 0x2443fff [4368 KiB]
panic: going to sleep forever, bye
Any help would be appreciated.
Thanks,
Yiyang
2
2