L4Linux network and SD Access

Daniel (Xiaolong) Wang xiaolongw at mail.usf.edu
Mon Jul 17 23:13:58 CEST 2017


Hi all,

I’m sorry to bother again on the same topic. Many thanks to Matthias and Adam, with their help I was able to make some progress on configuring the BeagleBone Black MMC driver for L4linux. But I still have problem to boot the L4linux. Here is where I am so far. I’m very frustrated now any hints and advice would be very appreciated.

Following Adam and Matthias’s suggestions I found out: 
	1. I need to enable TI DMA driver and TI MMC driver , so I updated Kconfig and compiled the kernel DMA engine support as well as TI MMC driver. 
	2. a FDT also need to be passed to L4Linux kernel, so based on beagleBoard Linux repository (https://github.com/beagleboard/linux <https://github.com/beagleboard/linux>) I modified the simple.dts [src/l4linux/arch/l4/boot/dts/simple.dts] (as attached)

Everything looks fine, I was able to see the l4linux scan device and pick up the FDT (as shown ”Machine model: L4Linux (DT)”) and preallocate DMA (“DMA: preallocated 256 KiB pool for atomic coherent allocations”). However the booting process stoped right after printing the following: 

DMA: preallocated 256 KiB pool for atomic coherent allocations
Failed to create "l4x" debugfs directory: 1
IO      | new iomem region: p=49000000 v=400000 s=400000 (bmb=0x2b138)
IO      | map mem: p=49000000 v=400000 s=10000: done(0)
__l4x_ioremap: Mapping physaddr 49000000 [0x10000 Bytes, 49000000+010000] to 00302000+000000

The following are my .devs, .io, cfg files.

+++++++ l4linux.devs +++++++
local Res = Io.Res
local Hw = Io.Hw

Io.hw_add_devices(function()

    prcm = Hw.Device(function()
        compatible = {"ti,am3-prcm"};
        Resource.regs = Res.mmio(0x44e00000, 0x44e03fff);
    end);

    scrm = Hw.Device(function()
        compatible = {"ti,am3-scrm"};
        Resource.regs = Res.mmio(0x44e10000, 0x44e11fff);

        -- pinmux = Hw.Device(function()
        --     compatible = {"pinctrl-single"};
        --     Resource.regs = Res.mmio(0x800, 0xa37);
        -- end);

        -- edma_xbar = Hw.Device(function()
        --     compatible = {"ti,am335x-edma-crossbar"};
        --     Resource.regs = Res.mmio(0xf90, 0xfcf);
        -- end);

    end);

    edma = Hw.Device(function()
        Property.hid = "EDMA";
        compatible = {"ti,edma3-tpcc"};
        Resource.regA = Res.mmio(0x49000000, 0x4900ffff);
        Resource.irqA = Res.irq(12);
        Resource.irqB = Res.irq(13);
        Resource.irqC = Res.irq(14);
    end);

    tptc0 = Hw.Device(function()
        Property.hid = "EDMA_TPTC0";
        compatible = {"ti,edma3-tptc"};
        Resource.reg = Res.mmio(0x49800000, 0x498fffff);
        Resource.irq = Res.irq(112);
    end);

    tptc1 = Hw.Device(function()
        Property.hid = "EDMA_TPTC1";
        compatible = {"ti,edma3-tptc"};
        Resource.reg = Res.mmio(0x49900000, 0x499fffff);
        Resource.irq = Res.irq(113);
    end);

    tptc2 = Hw.Device(function()
        Property.hid = "EDMA_TPTC2";
        compatible = {"ti,edma3-tptc"};
        Resource.reg = Res.mmio(0x49a00000, 0x49afffff);
        Resource.irq = Res.irq(114);
    end);

    gpio0 = Hw.Device(function()
        Property.hid = "GPIO0";
        compatible = {"ti,omap4-gpio"};
        Resource.reg = Res.mmio(0x44e07000, 0x44e07fff);
        Resource.irq = Res.irq(96);
    end);

    emif = Hw.Device(function()
        Property.hid = "EMIF";
        compatible = {"ti,emif-am3352"};
        Resource.reg = Res.mmio(0x4C000000, 0x4C000fff);
    end);

    mmc1 = Hw.Device(function()
        Property.hid = "MMC1";
        compatible = {"ti,omap4-hsmmc"};
        Resource.regs = Res.mmio(0x48060000, 0x48060fff);
        Resource.irq = Res.irq(64);
        Property.flags = Io.Hw_device_DF_dma_supported;
    end);

    mmc2 = Hw.Device(function()
        Property.hid = "MMC2";
        compatible = {"ti,omap4-hsmmc"};
        Resource.regs = Res.mmio(0x481d8000, 0x481d8fff);
        Resource.irq = Res.irq(28);
        Property.flags = Io.Hw_device_DF_dma_supported;
    end);

    ocmcram = Hw.Device(function()
        compatible = {"mmio-sram"};
        Resource.regs = Res.mmio(0x40300000, 0x40301fff);
    end);
end)

+++++++ l4linux.io +++++++
local hw = Io.system_bus()

Io.add_vbus("l4linux", Io.Vi.System_bus
{
  intc = wrap(hw.intc);

  prcm = wrap(hw:match("ti,am3-prcm"));
  srcm = wrap(hw.scrm);
  -- srcm_pinmux = wrap(hw.scrm.pinmux);
  -- srcm_edma_xbar = wrap(hw.scrm.edma_xbar);

  edma = wrap(hw.edma);
  tptc0 = wrap(hw.tptc0);
  tptc1 = wrap(hw.tptc1);
  tptc2 = wrap(hw.tptc2);

  emif = wrap(hw.emif);

  mmc1 = wrap(hw.mmc1);
  mmc2 = wrap(hw.mmc2);

  gpio0 = wrap(hw.gpio0);
  ocmcram = wrap(hw.ocmcram);
})

+++++++ l4linux.cfg +++++++
local L4 = require("L4");

local loader = L4.default_loader;

local lxname = "vmlinuz"

-- start io
local 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", "magenta"},
  }, 
  "rom/io -vvvvvv rom/l4linux.devs rom/l4linux.io"
);


loader:start(
  {
    caps = {
        vbus = vbus_l4linux;
    },
    l4re_dbg = L4.Dbg.Warn,
    log = L4.Env.log:m("rws");
  },
  "rom/vmlinuz mem=128M console=ttyLv0 l4x_rd=rom/ramdisk-"
  .. L4.Info.arch() .. ".rd rw root=1:0 l4x_dtb=rom/l4-device-tree.dtb ramdisk_size=4000 showpfexc=1 showghost=1 print-fatal-signals=1"
);

+++++++ terminal log +++++++

Starting kernel ...


L4 Bootstrapper
  Build: #78 Mon Jul 17 16:51:38 EDT 2017, 4.7.3
  Scanning up to 256 MB RAM, starting at offset 32MB
  Memory size is 256MB (80000000 - 8fffffff)
  RAM: 0000000080000000 - 000000008fffffff: 262144kB
  Total RAM: 256MB
  Scanning fiasco
  Scanning sigma0
  Scanning moe
  Moving up to 12 modules behind 81100000
  moving module 02 { 81991000-819ba49f } -> { 81a81000-81aaa49f } [169120]
  moving module 01 { 8197f000-8199033b } -> { 81a6f000-81a8033b } [70460]
  moving module 00 { 818fd000-8197e017 } -> { 819ed000-81a6e017 } [528408]
  moving module 11 { 815fd000-818fcfff } -> { 816ed000-819ecfff } [3145728]
  moving module 10 { 811fb000-815fc47b } -> { 812eb000-816ec47b } [4199548]
  moving module 09 { 81088000-811fa8c7 } -> { 81178000-812ea8c7 } [1517768]
  moving module 08 { 8102e000-810876ab } -> { 8111e000-811776ab } [366252]
  moving module 07 { 81014000-8102d463 } -> { 81104000-8111d463 } [103524]
  moving module 06 { 81013000-81013ff4 } -> { 81103000-81103ff4 } [4085]
  moving module 05 { 81012000-81012e7a } -> { 81102000-81102e7a } [3707]
  moving module 04 { 81011000-8101135b } -> { 81101000-8110135b } [860]
  moving module 03 { 81010000-81010324 } -> { 81100000-81100324 } [805]
  Loading fiasco
  Loading sigma0
  Loading moe
  find kernel info page...
  found kernel info page (via ELF) at 80002000
Regions of list 'regions'
    [ 80000000,  800001ab] {      1ac} Root   mbi_rt
    [ 80001000,  80001b7f] {      b80} Kern   fiasco
    [ 80002000,  8008efff] {    8d000} Kern   fiasco
    [ 800c0000,  800c9cfb] {     9cfc} Sigma0 sigma0
    [ 800d0000,  800d6177] {     6178} Sigma0 sigma0
    [ 80140000,  8016eff3] {    2eff4} Root   moe
    [ 81000000,  8100f5c3] {     f5c4} Boot   bootstrap
    [ 81100000,  819ecfff] {   8ed000} Root   Module
  found kernel options (via ELF) at 80003000
  API Version: (87) experimental
  Sigma0 config    ip:800c0100 sp:00000000
  Roottask config  ip:80140260 sp:00000000
  Starting kernel fiasco at 80001350
Hello from Startup::stage2
FPU: Initialize
FPU0: Subarch: 3, Part: 30, Rev: 3, Var: c, Impl: 41
SERIAL ESC: allocated IRQ 72 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.7.3 for AM33xx    []
Build: #1 Mon Jun 26 12:21:04 EDT 2017

Calibrating timer loop... done.
MDB: use page size: 20
MDB: use page size: 12
SIGMA0: Hello!
  KIP @ 80002000
  allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:80000000;80000fff]
[0:8008f000;800bffff]
[0:800ca000;800cffff]
[0:800d7000;8013ffff]
[4:80140000;8016efff]
[0:8016f000;810fffff]
[4:81100000;819ecfff]
[0:819ed000;8effffff]
IOMEM:----------------------
[0:0;7fffffff]
[0:90000000;ffffffff]
MOE: Hello world
MOE: found 235792 KByte free memory
MOE: found RAM from 80000000 to 8f000000
MOE: allocated 240 KByte for the page array @0x800d7000
MOE: virtual user address space [0-bfffffff]
MOE: rom name space cap -> [C:103000]
  BOOTFS: [81100000-81100325] [C:105000] l4linux.cfg
  BOOTFS: [81101000-8110135c] [C:107000] l4linux.io
  BOOTFS: [81102000-81102e7b] [C:109000] l4linux.devs
  BOOTFS: [81103000-81103ff5] [C:10b000] l4-device-tree.dtb
  BOOTFS: [81104000-8111d464] [C:10d000] l4re
  BOOTFS: [8111e000-811776ac] [C:10f000] ned
  BOOTFS: [81178000-812ea8c8] [C:111000] io
  BOOTFS: [812eb000-816ec47c] [C:113000] vmlinuz
  BOOTFS: [816ed000-819ed000] [C:115000] ramdisk-arm.rd
MOE: cmdline: moe rom/l4linux.cfg
MOE: Starting: rom/ned rom/l4linux.cfg
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/l4linux.cfg'
IO      | Io service
IO      | Verboseness level: 7
IO      | unused physical memory space:
IO      |   [00000000000000-0000007fffffff]
IO      |   [00000090000000-000000ffffffff]
IO      | no 'iommu' capability found use CPU-phys for DMA
IO      | Loading: config 'rom/l4linux.devs'
IO      | warning: inconsistent fixed resource @ device: /System Bus/
IO      |   : hid=MMC1
IO      |   DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO      | warning: inconsistent fixed resource @ device: /System Bus/
IO      |   : hid=MMC2
IO      |   DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO      | Loading: config 'rom/l4linux.io'
IO      | Add IRQ resources to vbus: IRQ     [00000000000060-00000000000060 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [00000000000040-00000000000040 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [00000000000072-00000000000072 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [0000000000001c-0000000000001c 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [0000000000000e-0000000000000e 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [0000000000000d-0000000000000d 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [0000000000000c-0000000000000c 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [00000000000070-00000000000070 1] none (32bit) (align=0 flags=1)
IO      | Add IRQ resources to vbus: IRQ     [00000000000071-00000000000071 1] none (32bit) (align=0 flags=1)
IO      | l4linux: [N12_GLOBAL__N_112Virtual_sbusE]
IO      |   Resources: ==== start ====
IO      |   Resources: ===== end =====
IO      |   L4ICU: [N2Vi6Sw_icuE]
IO      |     Resources: ==== start ====
IO      |     Resources: ===== end =====
IO      |   gpio0: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000060-00000000000060 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000044e07000-00000044e07fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     Resources: ===== end =====
IO      |   ocmcram: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000040300000-00000040301fff 2000] non-pref (32bit) (align=1fff flags=2)
IO      |     Resources: ===== end =====
IO      |   mmc1: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000048060000-00000048060fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     IRQ     [00000000000040-00000000000040 1] none (32bit) (align=0 flags=1)
IO      |     DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO      |     Resources: ===== end =====
IO      |   tptc2: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000072-00000000000072 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000049a00000-00000049afffff 100000] non-pref (32bit) (align=fffff flags=2)
IO      |     Resources: ===== end =====
IO      |   emif: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IOMEM   [0000004c000000-0000004c000fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     Resources: ===== end =====
IO      |   mmc2: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IOMEM   [000000481d8000-000000481d8fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     IRQ     [0000000000001c-0000000000001c 1] none (32bit) (align=0 flags=1)
IO      |     DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO      |     Resources: ===== end =====
IO      |   edma: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000049000000-0000004900ffff 10000] non-pref (32bit) (align=ffff flags=2)
IO      |     IRQ     [0000000000000e-0000000000000e 1] none (32bit) (align=0 flags=1)
IO      |     IRQ     [0000000000000d-0000000000000d 1] none (32bit) (align=0 flags=1)
IO      |     IRQ     [0000000000000c-0000000000000c 1] none (32bit) (align=0 flags=1)
IO      |     Resources: ===== end =====
IO      |   srcm: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000044e10000-00000044e11fff 2000] non-pref (32bit) (align=1fff flags=2)
IO      |     Resources: ===== end =====
IO      |   tptc0: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000070-00000000000070 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000049800000-000000498fffff 100000] non-pref (32bit) (align=fffff flags=2)
IO      |     Resources: ===== end =====
IO      |   tptc1: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000071-00000000000071 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000049900000-000000499fffff 100000] non-pref (32bit) (align=fffff flags=2)
IO      |     Resources: ===== end =====
IO      |   prcm: [N2Vi9Proxy_devE]
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000044e00000-00000044e03fff 4000] non-pref (32bit) (align=3fff flags=2)
IO      |     Resources: ===== end =====
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      |   gpio0: hid=GPIO0
IO      |     Clients: ===== start ====
IO      |       gpio0: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000060-00000000000060 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000044e07000-00000044e07fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     Resources: ===== end =====
IO      |   ocmcram: hid=
IO      |     Clients: ===== start ====
IO      |       ocmcram: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000040300000-00000040301fff 2000] non-pref (32bit) (align=1fff flags=2)
IO      |     Resources: ===== end =====
IO      |   mmc1: hid=MMC1
IO      |     Clients: ===== start ====
IO      |       mmc1: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000048060000-00000048060fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     IRQ     [00000000000040-00000000000040 1] none (32bit) (align=0 flags=1)
IO      |     DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO      |     Resources: ===== end =====
IO      |   tptc2: hid=EDMA_TPTC2
IO      |     Clients: ===== start ====
IO      |       tptc2: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000072-00000000000072 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000049a00000-00000049afffff 100000] non-pref (32bit) (align=fffff flags=2)
IO      |     Resources: ===== end =====
IO      |   tptc1: hid=EDMA_TPTC1
IO      |     Clients: ===== start ====
IO      |       tptc1: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000071-00000000000071 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000049900000-000000499fffff 100000] non-pref (32bit) (align=fffff flags=2)
IO      |     Resources: ===== end =====
IO      |   emif: hid=EMIF
IO      |     Clients: ===== start ====
IO      |       emif: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IOMEM   [0000004c000000-0000004c000fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     Resources: ===== end =====
IO      |   mmc2: hid=MMC2
IO      |     Clients: ===== start ====
IO      |       mmc2: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IOMEM   [000000481d8000-000000481d8fff 1000] non-pref (32bit) (align=fff flags=2)
IO      |     IRQ     [0000000000001c-0000000000001c 1] none (32bit) (align=0 flags=1)
IO      |     DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
IO      |     Resources: ===== end =====
IO      |   tptc0: hid=EDMA_TPTC0
IO      |     Clients: ===== start ====
IO      |       tptc0: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IRQ     [00000000000070-00000000000070 1] none (32bit) (align=0 flags=1)
IO      |     IOMEM   [00000049800000-000000498fffff 100000] non-pref (32bit) (align=fffff flags=2)
IO      |     Resources: ===== end =====
IO      |   edma: hid=EDMA
IO      |     Clients: ===== start ====
IO      |       edma: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000049000000-0000004900ffff 10000] non-pref (32bit) (align=ffff flags=2)
IO      |     IRQ     [0000000000000e-0000000000000e 1] none (32bit) (align=0 flags=1)
IO      |     IRQ     [0000000000000d-0000000000000d 1] none (32bit) (align=0 flags=1)
IO      |     IRQ     [0000000000000c-0000000000000c 1] none (32bit) (align=0 flags=1)
IO      |     Resources: ===== end =====
IO      |   scrm: hid=
IO      |     Clients: ===== start ====
IO      |       srcm: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000044e10000-00000044e11fff 2000] non-pref (32bit) (align=1fff flags=2)
IO      |     Resources: ===== end =====
IO      |   prcm: hid=
IO      |     Clients: ===== start ====
IO      |       prcm: [N2Vi9Proxy_devE]
IO      |     Clients: ===== end ====
IO      |     Resources: ==== start ====
IO      |     IOMEM   [00000044e00000-00000044e03fff 4000] non-pref (32bit) (align=3fff flags=2)
IO      |     Resources: ===== end =====
IO      | warning: could not register control interface at cap 'platform_ctl'
IO      | Ready. Waiting for request.
PH  0 offs=00008000 flags=rwx PH-type=0x1
      virt=02000000 evirt=0246d67c
      phys=02000000 ephys=0246d67c
      f_sz=003e43d5 memsz=0046d67c
PH  1 offs=0039c4f8 flags=r-x PH-type=0x4
      virt=023944f8 evirt=0239451c
      phys=023944f8 ephys=0239451c
      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 0x2000310, argc=8 argv=0xafff4f84 *argv=0xb1007ff4 argv0=rom/vmlinuz
External resolver is at 0xa80007fc
======> L4Linux starting... <========
Linux version 4.7.0-l4 (daniel at daniel-ubuntu14) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #28 Mon Jul 17 15:10:51 EDT 2017
Binary name: rom/vmlinuz
   This is an AEABI build.
Linux kernel command line (7 args): mem=128M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd rw root=1:0 ramdisk_size=4000 l4x_dtb=rom/l4-device-tree.dtb
CPU mapping (l:p)[1]: 0:0
Image: 02000000 - 02600000 [6144 KiB].
Areas: Text:     02000000 - 0239451c [3665kB]
       RO-Data:  022b2000 - 0237b000 [804kB]
       Data:     023bc000 - 023df800 [142kB]
       Init:     02395000 - 023bc000 [156kB]
       BSS:      023e43d5 - 0246d67c [548kB]
Device scan:
  Device: L4ICU
  Device: gpio0
    IRQ: 00000060 - 00000060
    MEM: 44e07000 - 44e07fff
  Device: ocmcram
    MEM: 40300000 - 40301fff
  Device: mmc1
    MEM: 48060000 - 48060fff
    IRQ: 00000040 - 00000040
    DMAD: 00000000 - 00000000
  Device: tptc2
    IRQ: 00000072 - 00000072
    MEM: 49a00000 - 49afffff
  Device: emif
    MEM: 4c000000 - 4c000fff
  Device: mmc2
    MEM: 481d8000 - 481d8fff
    IRQ: 0000001c - 0000001c
    DMAD: 00000000 - 00000000
  Device: edma
    MEM: 49000000 - 4900ffff
    IRQ: 0000000e - 0000000e
    IRQ: 0000000d - 0000000d
    IRQ: 0000000c - 0000000c
  Device: srcm
    MEM: 44e10000 - 44e11fff
  Device: tptc0
    IRQ: 00000070 - 00000070
    MEM: 49800000 - 498fffff
  Device: tptc1
    IRQ: 00000071 - 00000071
    MEM: 49900000 - 499fffff
  Device: prcm
    MEM: 44e00000 - 44e03fff
Device scan done.
IO      | DMA: use CPU-phys addresses for DMA
l4lx_thread_create: Created thread 41d (cpu0) (u:b3000e00, v:b3000c00, sp:023bdfa4)
main thread will be 41d
L4x: section-with-init(-data): Virt: 0x2000000 to 0x246dfff [4536 KiB]
section-with-init(-data): Phys: 0x8017c000 to 0x805e9fff, [4536 KiB]
L4x: section-with-init-text: Virt: 0x2000000 to 0x246dfff [4536 KiB]
error: failed to get physical address for 2000000.
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]
    Main memory: Phys: 0x81a00000 to 0x899fffff, [131072 KiB]
l4x: vmalloc area: 0a600000 - 12600000
L4x:            text: Virt: 0x2000000 to 0x246dfff [4536 KiB]
error: failed to get physical address for 2000000.
Loading: rom/ramdisk-arm.rd
INITRD: Size of RAMdisk is 3072KiB
RAMdisk from 00002000 to 00302000 [3072KiB]
l4lx_thread_create: Created thread 422 (timer0) (u:b3000a00, v:00000000, sp:02405fa0)
Booting Linux on physical CPU 0x0
Linux version 4.7.0-l4 (daniel at daniel-ubuntu14) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #28 Mon Jul 17 15:10:51 EDT 2017
DTB: virt=02600100 phys=81a00100
CPU: Fiasco [413fc082] revision 2 (ARMv7), cr=00400000
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine model: L4Linux (DT)
Ignoring RAM at 0x80000000-0x90000000 (!CONFIG_HIGHMEM)
Consider using a HIGHMEM enabled kernel.
Memory policy: Data cache writealloc
CPU: All CPU(s) started in SVC mode.
INITRD: 00002000 - 00302000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 33973
Kernel command line: mem=128M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd rw root=1:0 ramdisk_size=4000 l4x_dtb=rom/l4-device-tree.dtb
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 129676K/137220K available (2861K kernel code, 142K rwdata, 804K rodata, 156K init, 548K bss, 7544K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xbffff000 - 0xc0000000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0x0a600000 - 0x12600000   ( 128 MB)
    lowmem  : 0x00000000 - 0x0a600000   ( 166 MB)
    modules : 0x01010000 - 0x02000000   (  15 MB)
      .text : 0x02000000 - 0x0239451c   (3666 kB)
      .init : 0x02395000 - 0x023bc000   ( 156 kB)
      .data : 0x023bc000 - 0x023df800   ( 142 kB)
       .bss : 0x023e43d5 - 0x0246d67c   ( 549 kB)
NR_IRQS:282
clocksource: l4kipclk: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
l4timer: Using IRQ210
sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns
Console: colour dummy device 80x30
console [ttyLv0] enabled
Calibrating delay loop... 990.41 BogoMIPS (lpj=4952064)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x2000000 - 0x2000000
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Failed to create "l4x" debugfs directory: 1
IO      | new iomem region: p=49000000 v=400000 s=400000 (bmb=0x2b138)
IO      | map mem: p=49000000 v=400000 s=10000: done(0)
__l4x_ioremap: Mapping physaddr 49000000 [0x10000 Bytes, 49000000+010000] to 00302000+000000

Thanks
-Dan

> On Jul 15, 2017, at 5:43 PM, Daniel (Xiaolong) Wang <xiaolongw at mail.usf.edu> wrote:
> 
> Many thanks, Matthias for your hint. Sorry for the delay I was traveling last week. Unfortunately I still have trouble.
> 
> 
> As you suggested I turned on the CONFIG_USE_OF in L4Linux configuration. I downloaded the  am3335x-black.dtb device tree from this link https://github.com/dominicgs/BeagleDancer/tree/master/devicetree <https://github.com/dominicgs/BeagleDancer/tree/master/devicetree>, and updated my devs file as follow:
> 
> +++++++++++++ l4linux.devs +++++++++++++ 
> local Res = Io.Res
> local Hw = Io.Hw
> 
> Io.hw_add_devices(function()
> 
>     prcm = Hw.Device(function()
>         compatible = {"ti,am3-prcm"};
>         Resource.regs = Res.mmio(0x44e00000, 0x44e03fff);
>     end);
> 
>     edma = Hw.Device(function()
>         Property.hid = "EDMA";
>         compatible = {"ti,edma3"};
>         Resource.regA = Res.mmio(0x49000000, 0x4900ffff);
>         Resource.regB = Res.mmio(0x44e10f90, 0x44e10fcf);
>         Resource.irqA = Res.irq(12);
>         Resource.irqB = Res.irq(13);
>         Resource.irqC = Res.irq(14);
>     end);
> 
>     mmc1 = Hw.Device(function()
>         Property.hid = "MMC1";
>         compatible = {"ti,omap4-hsmmc"};
>         Resource.regs = Res.mmio(0x48060000, 0x48060fff);
>         Resource.irq = Res.irq(64);
>         Property.flags = Io.Hw_device_DF_dma_supported;
>     end);
> 
>     i2c0 = Hw.Device(function()
>         Property.hid = "omap4-i2c0";
>         compatible = {"ti,omap4-i2c"};
>         Resource.regs = Res.mmio(0x44e0b000, 0x44e0bfff);
>         Resource.irq = Res.irq(70);
>     end);
> end)
> 
> However when I try to boot the L4linux it shows me "error: failed to get physical address for 2000000.” and hangs… Is there anything that I did wrong? I also tried to remove  Property.flags = Io.Hw_device_DF_dma_supported; setup then it result in a different error: 
> 
> "IO      | vbus l4linux does not support a global DMA domain
> error: could not assign DMA space to vBUS: -2
>        DMA will not work!"
> 
> Thanks
> -Dan
> 
> FYI
> 
> +++++++++++++ terminal log with  Property.flags = Io.Hw_device_DF_dma_supported;+++++++++++++ 
> 
> Starting kernel ...
> 
> 
> L4 Bootstrapper
>   Build: #51 Sat Jul 15 18:34:35 EDT 2017, 4.7.3
>   Scanning up to 256 MB RAM, starting at offset 32MB
>   Memory size is 256MB (80000000 - 8fffffff)
>   RAM: 0000000080000000 - 000000008fffffff: 262144kB
>   Total RAM: 256MB
>   Scanning fiasco
>   Scanning sigma0
>   Scanning moe
>   Moving up to 12 modules behind 81100000
>   moving module 02 { 8198e000-819b749f } -> { 81a7e000-81aa749f } [169120]
>   moving module 01 { 8197c000-8198d33b } -> { 81a6c000-81a7d33b } [70460]
>   moving module 00 { 818fa000-8197b017 } -> { 819ea000-81a6b017 } [528408]
>   moving module 11 { 815fa000-818f9fff } -> { 816ea000-819e9fff } [3145728]
>   moving module 10 { 81200000-815f947b } -> { 812f0000-816e947b } [4166780]
>   moving module 09 { 8108d000-811ff8c7 } -> { 8117d000-812ef8c7 } [1517768]
>   moving module 08 { 81033000-8108c6ab } -> { 81123000-8117c6ab } [366252]
>   moving module 07 { 81019000-81032463 } -> { 81109000-81122463 } [103524]
>   moving module 06 { 81013000-81018bac } -> { 81103000-81108bac } [23469]
>   moving module 05 { 81012000-81012a0d } -> { 81102000-81102a0d } [2574]
>   moving module 04 { 81011000-8101123d } -> { 81101000-8110123d } [574]
>   moving module 03 { 81010000-8101034c } -> { 81100000-8110034c } [845]
>   Loading fiasco
>   Loading sigma0
>   Loading moe
>   find kernel info page...
>   found kernel info page (via ELF) at 80002000
> Regions of list 'regions'
>     [ 80000000,  800001a7] {      1a8} Root   mbi_rt
>     [ 80001000,  80001b7f] {      b80} Kern   fiasco
>     [ 80002000,  8008efff] {    8d000} Kern   fiasco
>     [ 800c0000,  800c9cfb] {     9cfc} Sigma0 sigma0
>     [ 800d0000,  800d6177] {     6178} Sigma0 sigma0
>     [ 80140000,  8016eff3] {    2eff4} Root   moe
>     [ 81000000,  8100f5c3] {     f5c4} Boot   bootstrap
>     [ 81100000,  819e9fff] {   8ea000} Root   Module
>   found kernel options (via ELF) at 80003000
>   API Version: (87) experimental
>   Sigma0 config    ip:800c0100 sp:00000000
>   Roottask config  ip:80140260 sp:00000000
>   Starting kernel fiasco at 80001350
> Hello from Startup::stage2
> FPU: Initialize
> FPU0: Subarch: 3, Part: 30, Rev: 3, Var: c, Impl: 41
> SERIAL ESC: allocated IRQ 72 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.7.3 for AM33xx    []
> Build: #1 Mon Jun 26 12:21:04 EDT 2017
> 
> Calibrating timer loop... done.
> MDB: use page size: 20
> MDB: use page size: 12
> SIGMA0: Hello!
>   KIP @ 80002000
>   allocated 4KB for maintenance structures
> SIGMA0: Dump of all resource maps
> RAM:------------------------
> [4:80000000;80000fff]
> [0:8008f000;800bffff]
> [0:800ca000;800cffff]
> [0:800d7000;8013ffff]
> [4:80140000;8016efff]
> [0:8016f000;810fffff]
> [4:81100000;819e9fff]
> [0:819ea000;8effffff]
> IOMEM:----------------------
> [0:0;7fffffff]
> [0:90000000;ffffffff]
> MOE: Hello world
> MOE: found 235804 KByte free memory
> MOE: found RAM from 80000000 to 8f000000
> MOE: allocated 240 KByte for the page array @0x800d7000
> MOE: virtual user address space [0-bfffffff]
> MOE: rom name space cap -> [C:103000]
>   BOOTFS: [81100000-8110034d] [C:105000] l4linux.cfg
>   BOOTFS: [81101000-8110123e] [C:107000] l4linux.io <http://l4linux.io/>
>   BOOTFS: [81102000-81102a0e] [C:109000] l4linux.devs
>   BOOTFS: [81103000-81108bad] [C:10b000] device-tree.dtb
>   BOOTFS: [81109000-81122464] [C:10d000] l4re
>   BOOTFS: [81123000-8117c6ac] [C:10f000] ned
>   BOOTFS: [8117d000-812ef8c8] [C:111000] io
>   BOOTFS: [812f0000-816e947c] [C:113000] vmlinuz
>   BOOTFS: [816ea000-819ea000] [C:115000] ramdisk-arm.rd
> MOE: cmdline: moe rom/l4linux.cfg
> MOE: Starting: rom/ned rom/l4linux.cfg
> MOE: loading 'rom/ned'
> Ned says: Hi World!
> Ned: loading file: 'rom/l4linux.cfg'
> IO      | Io service
> IO      | Verboseness level: 7
> IO      | unused physical memory space:
> IO      |   [00000000000000-0000007fffffff]
> IO      |   [00000090000000-000000ffffffff]
> IO      | no 'iommu' capability found use CPU-phys for DMA
> IO      | Loading: config 'rom/l4linux.devs'
> IO      | warning: inconsistent fixed resource @ device: /System Bus/
> IO      |   : hid=MMC1
> IO      |   DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
> IO      | Loading: config 'rom/l4linux.io <http://l4linux.io/>'
> IO      | Add IRQ resources to vbus: IRQ     [0000000000000d-0000000000000d 1] none (32bit) (align=0 flags=1)
> IO      | Add IRQ resources to vbus: IRQ     [0000000000000e-0000000000000e 1] none (32bit) (align=0 flags=1)
> IO      | Add IRQ resources to vbus: IRQ     [0000000000000c-0000000000000c 1] none (32bit) (align=0 flags=1)
> IO      | Add IRQ resources to vbus: IRQ     [00000000000046-00000000000046 1] none (32bit) (align=0 flags=1)
> IO      | Add IRQ resources to vbus: IRQ     [00000000000040-00000000000040 1] none (32bit) (align=0 flags=1)
> IO      | l4linux: [N12_GLOBAL__N_112Virtual_sbusE]
> IO      |   Resources: ==== start ====
> IO      |   Resources: ===== end =====
> IO      |   L4ICU: [N2Vi6Sw_icuE]
> IO      |     Resources: ==== start ====
> IO      |     Resources: ===== end =====
> IO      |   edma: [N2Vi9Proxy_devE]
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000044e10f90-00000044e10fcf 40] non-pref (32bit) (align=3f flags=2)
> IO      |     IRQ     [0000000000000d-0000000000000d 1] none (32bit) (align=0 flags=1)
> IO      |     IOMEM   [00000049000000-0000004900ffff 10000] non-pref (32bit) (align=ffff flags=2)
> IO      |     IRQ     [0000000000000e-0000000000000e 1] none (32bit) (align=0 flags=1)
> IO      |     IRQ     [0000000000000c-0000000000000c 1] none (32bit) (align=0 flags=1)
> IO      |     Resources: ===== end =====
> IO      |   i2c0: [N2Vi9Proxy_devE]
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000044e0b000-00000044e0bfff 1000] non-pref (32bit) (align=fff flags=2)
> IO      |     IRQ     [00000000000046-00000000000046 1] none (32bit) (align=0 flags=1)
> IO      |     Resources: ===== end =====
> IO      |   mmc1: [N2Vi9Proxy_devE]
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000048060000-00000048060fff 1000] non-pref (32bit) (align=fff flags=2)
> IO      |     IRQ     [00000000000040-00000000000040 1] none (32bit) (align=0 flags=1)
> IO      |     DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
> IO      |     Resources: ===== end =====
> IO      |   prcm: [N2Vi9Proxy_devE]
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000044e00000-00000044e03fff 4000] non-pref (32bit) (align=3fff flags=2)
> IO      |     Resources: ===== end =====
> 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      |   mmc1: hid=MMC1
> IO      |     Clients: ===== start ====
> IO      |       mmc1: [N2Vi9Proxy_devE]
> IO      |     Clients: ===== end ====
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000048060000-00000048060fff 1000] non-pref (32bit) (align=fff flags=2)
> IO      |     IRQ     [00000000000040-00000000000040 1] none (32bit) (align=0 flags=1)
> IO      |     DMADOM  [00000000000000-00000000000000 1] non-pref (32bit) (align=0 flags=6)
> IO      |     Resources: ===== end =====
> IO      |   prcm: hid=
> IO      |     Clients: ===== start ====
> IO      |       prcm: [N2Vi9Proxy_devE]
> IO      |     Clients: ===== end ====
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000044e00000-00000044e03fff 4000] non-pref (32bit) (align=3fff flags=2)
> IO      |     Resources: ===== end =====
> IO      |   edma: hid=EDMA
> IO      |     Clients: ===== start ====
> IO      |       edma: [N2Vi9Proxy_devE]
> IO      |     Clients: ===== end ====
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000044e10f90-00000044e10fcf 40] non-pref (32bit) (align=3f flags=2)
> IO      |     IRQ     [0000000000000d-0000000000000d 1] none (32bit) (align=0 flags=1)
> IO      |     IOMEM   [00000049000000-0000004900ffff 10000] non-pref (32bit) (align=ffff flags=2)
> IO      |     IRQ     [0000000000000e-0000000000000e 1] none (32bit) (align=0 flags=1)
> IO      |     IRQ     [0000000000000c-0000000000000c 1] none (32bit) (align=0 flags=1)
> IO      |     Resources: ===== end =====
> IO      |   i2c0: hid=omap4-i2c0
> IO      |     Clients: ===== start ====
> IO      |       i2c0: [N2Vi9Proxy_devE]
> IO      |     Clients: ===== end ====
> IO      |     Resources: ==== start ====
> IO      |     IOMEM   [00000044e0b000-00000044e0bfff 1000] non-pref (32bit) (align=fff flags=2)
> IO      |     IRQ     [00000000000046-00000000000046 1] none (32bit) (align=0 flags=1)
> IO      |     Resources: ===== end =====
> IO      | warning: could not register control interface at cap 'platform_ctl'
> IO      | Ready. Waiting for request.
> PH  0 offs=00008000 flags=rwx PH-type=0x1
>       virt=02000000 evirt=0246763c
>       phys=02000000 ephys=0246763c
>       f_sz=003de3d5 memsz=0046763c
> PH  1 offs=00396294 flags=r-x PH-type=0x4
>       virt=0238e294 evirt=0238e2b8
>       phys=0238e294 ephys=0238e2b8
>       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 0x2000310, argc=10 argv=0xafff4f7c *argv=0xb1007ff4 argv0=rom/vmlinuz
> External resolver is at 0xa80007fc
> ======> L4Linux starting... <========
> Linux version 4.7.0-l4 (daniel at daniel-ubuntu14) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #5 Sat Jul 15 17:28:20 EDT 2017
> Binary name: rom/vmlinuz
>    This is an AEABI build.
> Linux kernel command line (9 args): mem=128M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd root=1:0 l4x_dtb=rom/device-tree.dtb ramdisk_size=4000 showpfexc=1 showghost=1 print-fatal-signals=1
> CPU mapping (l:p)[1]: 0:0
> Image: 02000000 - 02600000 [6144 KiB].
> Areas: Text:     02000000 - 0238e2b8 [3640kB]
>        RO-Data:  022ad000 - 02375000 [800kB]
>        Data:     023b6000 - 023d9680 [141kB]
>        Init:     0238f000 - 023b6000 [156kB]
>        BSS:      023de3d5 - 0246763c [548kB]
> Device scan:
>   Device: L4ICU
>   Device: edma
>     MEM: 44e10f90 - 44e10fcf
>     IRQ: 0000000d - 0000000d
>     MEM: 49000000 - 4900ffff
>     IRQ: 0000000e - 0000000e
>     IRQ: 0000000c - 0000000c
>   Device: i2c0
>     MEM: 44e0b000 - 44e0bfff
>     IRQ: 00000046 - 00000046
>   Device: mmc1
>     MEM: 48060000 - 48060fff
>     IRQ: 00000040 - 00000040
>     DMAD: 00000000 - 00000000
>   Device: prcm
>     MEM: 44e00000 - 44e03fff
> Device scan done.
> IO      | DMA: use CPU-phys addresses for DMA
> l4lx_thread_create: Created thread 41d (cpu0) (u:b3000e00, v:b3000c00, sp:023b7fa4)
> main thread will be 41d
> L4x: section-with-init(-data): Virt: 0x2000000 to 0x2467fff [4512 KiB]
> section-with-init(-data): Phys: 0x80177000 to 0x805defff, [4512 KiB]
> L4x: section-with-init-text: Virt: 0x2000000 to 0x2467fff [4512 KiB]
> error: failed to get physical address for 2000000.
> 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]
>     Main memory: Phys: 0x81a00000 to 0x899fffff, [131072 KiB]
> l4x: vmalloc area: 0a600000 - 12600000
> L4x:            text: Virt: 0x2000000 to 0x2467fff [4512 KiB]
> error: failed to get physical address for 2000000.
> 
> 
>> On Jul 9, 2017, at 11:17 AM, Matthias Lange <matthias.lange at kernkonzept.com <mailto:matthias.lange at kernkonzept.com>> wrote:
>> 
>> Hi,
>> 
>> On 07/08/2017 01:41 AM, Daniel (Xiaolong) Wang wrote:
>>> Hi Adam,
>>> 
>>> I setup CONFIG_L4_SERVER, I checked using nm the result is:
>>> 
>>> *00000800 W l4x_srv_init*
>>> *00000804 t l4x_srv_init_resolver*
>>> 
>>> I also tested without the CONFIG_L4_SERVER, it works with out
>>> CONFIG_L4_SERVER. However I could not see the the MMC under /dev folder
>>> or under /sys/device. Does that mean the IO configuration file I
>>> specified does not work?
>> 
>> The setup looks ok. In io's log output you can see that e.g. the edma
>> and the mmc1 device both have a client. You can increase io's log
>> verboseness by adding more (up to seven) '-v' switches. Eventually you
>> will get the vbus configuration printed.
>> 
>> The reason you don't see any MMC device in /dev is that L4Linux does not
>> know about the physical devices (yet). You have to pass in a device tree
>> (FDT) using the 'l4x_dtb' kernel command line option e.g.
>> 
>> l4x_dtb=rom/your_device_tree.dtb
>> 
>> Don't forget to add the device tree to your entry in the modules.list
>> file. Also make sure to enable CONFIG_USE_OF in your L4Linux configuration.
>> 
>> Best,
>> Matthias.
>> 
>>> 
>>> The IO stil shows “no 'iommu' capability found use CPU-phys for DMA” and
>>> a warning “warning: could not register control interface at cap
>>> 'platform_ctl'"
>>> 
>>> Attachment is the newest configuration file:
>>> ************* l4linux.cfg *************
>>> local L4 = require("L4");
>>> 
>>> local loader = L4.default_loader;
>>> 
>>> local lxname = "vmlinuz"
>>> 
>>> -- start io
>>> local 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", "magenta"},
>>>  }, 
>>>  "rom/io -vvv rom/l4linux.devs rom/l4linux.io <http://l4linux.io/> <http://l4linux.io <http://l4linux.io/>>"
>>> );
>>> 
>>> 
>>> loader:start(
>>>  {
>>>    caps = {
>>>        vbus = vbus_l4linux;
>>>    },
>>>    l4re_dbg = L4.Dbg.Warn,
>>>    log = L4.Env.log:m("rws");
>>>  },
>>>  "rom/vmlinuz mem=128M console=ttyLv0 l4x_rd=rom/ramdisk-"
>>>  .. L4.Info.arch() .. ".rd root=1:0 ramdisk_size=4000 showpfexc=1
>>> showghost=1 print-fatal-signals=1"
>>> );
>>> 
>>> ************* l4linux.devs *************
>>> local Res = Io.Res
>>> local Hw = Io.Hw
>>> 
>>> Io.hw_add_devices(function()
>>> 
>>> Io.hw_add_devices(function()
>>>    prcm = Hw.Device(function()
>>>        compatible = {"ti,am3-prcm"};
>>>        Resource.regs = Res.mmio(0x44e00000, 0x44e03fff);
>>>    end);
>>> 
>>>   edma = Hw.Device(function()
>>>        Property.hid = "EDMA";
>>>        compatible = {"ti,edma3"};
>>>        Resource.regs = Res.mmio(0x49000000, 0x4900ffff);
>>>        Resource.regs = Res.mmio(0x44e10f90, 0x44e10fcf);
>>>        Resource.irqA = Res.irq(12);
>>>        Resource.irqB = Res.irq(13);
>>>        Resource.irqC = Res.irq(14);
>>>    end);
>>> 
>>>    mmc1 = Hw.Device(function()
>>>        Property.hid = "MMC1";
>>>        compatible = {"ti,omap4-hsmmc"};
>>>        Resource.regs = Res.mmio(0x48060000, 0x48060fff);
>>>        Resource.irq = Res.irq(64);
>>>        Property.flags = Io.Hw_device_DF_dma_supported;
>>>    end);
>>> 
>>>    i2c0 = Hw.Device(function()
>>>        Property.hid = "omap4-i2c0";
>>>        compatible = {"ti,omap4-i2c"};
>>>        Resource.regs = Res.mmio(0x44e0b000, 0x44e0bfff);
>>>        Resource.irq = Res.irq(70);
>>>    end);
>>> end)
>>> 
>>> ************* l4linux.io <http://l4linux.io/> <http://l4linux.io <http://l4linux.io/>> *************
>>> local hw = Io.system_bus()
>>> 
>>> 
>>> Io.add_vbus("l4linux", Io.Vi.System_bus
>>> {
>>>  prcm = wrap(hw:match("ti,am3-prcm"));
>>>  edma = wrap(hw:match("ti,edma3"));
>>>  mmc1 = wrap(hw:mmc1);
>>>  -- mmc2 = wrap(hw:mmc2);
>>>  -- mmc3 = wrap(hw:mmc3);
>>>  i2c0 = wrap(hw:i2c0);
>>>  -- i2c1 = wrap(hw:i2c1);
>>> })
>>> 
>>> ************* Booting info *************
>>> Starting kernel ...
>>> 
>>> 
>>> L4 Bootstrapper
>>>  Build: #47 Fri Jul  7 19:33:01 EDT 2017, 4.7.3
>>>  Scanning up to 256 MB RAM, starting at offset 32MB
>>>  Memory size is 256MB (80000000 - 8fffffff)
>>>  RAM: 0000000080000000 - 000000008fffffff: 262144kB
>>>  Total RAM: 256MB
>>>  Scanning fiasco
>>>  Scanning sigma0
>>>  Scanning moe
>>>  Moving up to 11 modules behind 81100000
>>>  moving module 02 { 81978000-819a149f } -> { 81a68000-81a9149f } [169120]
>>>  moving module 01 { 81966000-8197733b } -> { 81a56000-81a6733b } [70460]
>>>  moving module 00 { 818e4000-81965017 } -> { 819d4000-81a55017 } [528408]
>>>  moving module 10 { 815e4000-818e3fff } -> { 816d4000-819d3fff } [3145728]
>>>  moving module 09 { 811fa000-815e347b } -> { 812ea000-816d347b } [4101244]
>>>  moving module 08 { 81087000-811f98c7 } -> { 81177000-812e98c7 } [1517768]
>>>  moving module 07 { 8102d000-810866ab } -> { 8111d000-811766ab } [366252]
>>>  moving module 06 { 81013000-8102c463 } -> { 81103000-8111c463 } [103524]
>>>  moving module 05 { 81012000-81012a0a } -> { 81102000-81102a0a } [2571]
>>>  moving module 04 { 81011000-8101123d } -> { 81101000-8110123d } [574]
>>>  moving module 03 { 81010000-8101032d } -> { 81100000-8110032d } [814]
>>>  Loading fiasco
>>>  Loading sigma0
>>>  Loading moe
>>>  find kernel info page...
>>>  found kernel info page (via ELF) at 80002000
>>> Regions of list 'regions'
>>>    [ 80000000,  80000187] {      188} Root   mbi_rt
>>>    [ 80001000,  80001b7f] {      b80} Kern   fiasco
>>>    [ 80002000,  8008efff] {    8d000} Kern   fiasco
>>>    [ 800c0000,  800c9cfb] {     9cfc} Sigma0 sigma0
>>>    [ 800d0000,  800d6177] {     6178} Sigma0 sigma0
>>>    [ 80140000,  8016eff3] {    2eff4} Root   moe
>>>    [ 81000000,  8100f5a3] {     f5a4} Boot   bootstrap
>>>    [ 81100000,  819d3fff] {   8d4000} Root   Module
>>>  found kernel options (via ELF) at 80003000
>>>  API Version: (87) experimental
>>>  Sigma0 config    ip:800c0100 sp:00000000
>>>  Roottask config  ip:80140260 sp:00000000
>>>  Starting kernel fiasco at 80001350
>>> Hello from Startup::stage2
>>> FPU: Initialize
>>> FPU0: Subarch: 3, Part: 30, Rev: 3, Var: c, Impl: 41
>>> SERIAL ESC: allocated IRQ 72 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.7.3 for AM33xx    []
>>> Build: #1 Mon Jun 26 12:21:04 EDT 2017
>>> 
>>> Calibrating timer loop... done.
>>> MDB: use page size: 20
>>> MDB: use page size: 12
>>> SIGMA0: Hello!
>>>  KIP @ 80002000
>>>  allocated 4KB for maintenance structures
>>> SIGMA0: Dump of all resource maps
>>> RAM:------------------------
>>> [4:80000000;80000fff]
>>> [0:8008f000;800bffff]
>>> [0:800ca000;800cffff]
>>> [0:800d7000;8013ffff]
>>> [4:80140000;8016efff]
>>> [0:8016f000;810fffff]
>>> [4:81100000;819d3fff]
>>> [0:819d4000;8effffff]
>>> IOMEM:----------------------
>>> [0:0;7fffffff]
>>> [0:90000000;ffffffff]
>>> MOE: Hello world
>>> MOE: found 235892 KByte free memory
>>> MOE: found RAM from 80000000 to 8f000000
>>> MOE: allocated 240 KByte for the page array @0x800d7000
>>> MOE: virtual user address space [0-bfffffff]
>>> MOE: rom name space cap -> [C:103000]
>>>  BOOTFS: [81100000-8110032e] [C:105000] l4linux.cfg
>>>  BOOTFS: [81101000-8110123e] [C:107000] l4linux.io <http://l4linux.io/> <http://l4linux.io <http://l4linux.io/>>
>>>  BOOTFS: [81102000-81102a0b] [C:109000] l4linux.devs
>>>  BOOTFS: [81103000-8111c464] [C:10b000] l4re
>>>  BOOTFS: [8111d000-811766ac] [C:10d000] ned
>>>  BOOTFS: [81177000-812e98c8] [C:10f000] io
>>>  BOOTFS: [812ea000-816d347c] [C:111000] vmlinuz
>>>  BOOTFS: [816d4000-819d4000] [C:113000] ramdisk-arm.rd
>>> MOE: cmdline: moe rom/l4linux.cfg
>>> MOE: Starting: rom/ned rom/l4linux.cfg
>>> MOE: loading 'rom/ned'
>>> Ned says: Hi World!
>>> Ned: loading file: 'rom/l4linux.cfg'
>>> *IO      | Io service*
>>> *IO      | Verboseness level: 4*
>>> *IO      | unused physical memory space:*
>>> *IO      |   [00000000000000-0000007fffffff]*
>>> *IO      |   [00000090000000-000000ffffffff]*
>>> *IO      | no 'iommu' capability found use CPU-phys for DMA*
>>> *IO      | Loading: config 'rom/l4linux.devs'*
>>> *IO      | warning: inconsistent fixed resource @ device: /System Bus/*
>>> *IO      |   : hid=MMC1*
>>> *IO      |   DMADOM  [00000000000000-00000000000000 1] non-pref (32bit)
>>> (align=0 flags=6)*
>>> *IO      | Loading: config 'rom/l4linux.io <http://l4linux.io/> <http://l4linux.io <http://l4linux.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      |   mmc1: hid=MMC1*
>>> *IO      |     Clients: ===== start ====*
>>> *IO      |       mmc1: [N2Vi9Proxy_devE]*
>>> *IO      |     Clients: ===== end ====*
>>> *IO      |     Resources: ==== start ====*
>>> *IO      |     IOMEM   [00000048060000-00000048060fff 1000] non-pref
>>> (32bit) (align=fff flags=2)*
>>> *IO      |     IRQ     [00000000000040-00000000000040 1] none (32bit)
>>> (align=0 flags=1)*
>>> *IO      |     DMADOM  [00000000000000-00000000000000 1] non-pref
>>> (32bit) (align=0 flags=6)*
>>> *IO      |     Resources: ===== end =====*
>>> *IO      |   prcm: hid=*
>>> *IO      |     Clients: ===== start ====*
>>> *IO      |       prcm: [N2Vi9Proxy_devE]*
>>> *IO      |     Clients: ===== end ====*
>>> *IO      |     Resources: ==== start ====*
>>> *IO      |     IOMEM   [00000044e00000-00000044e03fff 4000] non-pref
>>> (32bit) (align=3fff flags=2)*
>>> *IO      |     Resources: ===== end =====*
>>> *IO      |   edma: hid=EDMA*
>>> *IO      |     Clients: ===== start ====*
>>> *IO      |       edma: [N2Vi9Proxy_devE]*
>>> *IO      |     Clients: ===== end ====*
>>> *IO      |     Resources: ==== start ====*
>>> *IO      |     IOMEM   [00000044e10f90-00000044e10fcf 40] non-pref
>>> (32bit) (align=3f flags=2)*
>>> *IO      |     IRQ     [0000000000000e-0000000000000e 1] none (32bit)
>>> (align=0 flags=1)*
>>> *IO      |     Resources: ===== end =====*
>>> *IO      |   i2c0: hid=omap4-i2c0*
>>> *IO      |     Clients: ===== start ====*
>>> *IO      |       i2c0: [N2Vi9Proxy_devE]*
>>> *IO      |     Clients: ===== end ====*
>>> *IO      |     Resources: ==== start ====*
>>> *IO      |     IOMEM   [00000044e0b000-00000044e0bfff 1000] non-pref
>>> (32bit) (align=fff flags=2)*
>>> *IO      |     IRQ     [00000000000046-00000000000046 1] none (32bit)
>>> (align=0 flags=1)*
>>> *IO      |     Resources: ===== end =====*
>>> *IO      | warning: could not register control interface at cap
>>> 'platform_ctl'*
>>> *IO      | Ready. Waiting for request.*
>>> PH  0 offs=00008000 flags=rwx PH-type=0x1
>>>      virt=02000000 evirt=0245743c
>>>      phys=02000000 ephys=0245743c
>>>      f_sz=003ce3d5 memsz=0045743c
>>> PH  1 offs=003889a4 flags=r-x PH-type=0x4
>>>      virt=023809a4 evirt=023809c8
>>>      phys=023809a4 ephys=023809c8
>>>      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 0x2000310, argc=9 argv=0xafff4f84 *argv=0xb1007ff4
>>> argv0=rom/vmlinuz
>>> External resolver is at 0xa80007fc
>>> ======> L4Linux starting... <========
>>> Linux version 4.7.0-l4 (daniel at daniel-ubuntu14) (gcc version 4.7.3
>>> (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #4 Fri Jul 7 19:22:05 EDT 2017
>>> Binary name: rom/vmlinuz
>>>   This is an AEABI build.
>>> Linux kernel command line (8 args): mem=128M console=ttyLv0
>>> l4x_rd=rom/ramdisk-arm.rd root=1:0 ramdisk_size=4000 showpfexc=1
>>> showghost=1 print-fatal-signals=1
>>> CPU mapping (l:p)[1]: 0:0
>>> Image: 02000000 - 02600000 [6144 KiB].
>>> Areas: Text:     02000000 - 023809c8 [3586kB]
>>>       RO-Data:  022a5000 - 02368000 [780kB]
>>>       Data:     023a6000 - 023c9540 [141kB]
>>>       Init:     02381000 - 023a6000 [148kB]
>>>       BSS:      023ce3d5 - 0245743c [548kB]
>>> Device scan:
>>>  Device: L4ICU
>>>  Device: edma
>>>    MEM: 44e10f90 - 44e10fcf
>>>    IRQ: 0000000e - 0000000e
>>>  Device: i2c0
>>>    MEM: 44e0b000 - 44e0bfff
>>>    IRQ: 00000046 - 00000046
>>>  Device: mmc1
>>>    MEM: 48060000 - 48060fff
>>>    IRQ: 00000040 - 00000040
>>>    DMAD: 00000000 - 00000000
>>>  Device: prcm
>>>    MEM: 44e00000 - 44e03fff
>>> Device scan done.
>>> l4lx_thread_create: Created thread 41d (cpu0) (u:b3000e00, v:b3000c00,
>>> sp:023a7fa4)
>>> main thread will be 41d
>>> L4x: section-with-init(-data): Virt: 0x2000000 to 0x2457fff [4448 KiB]
>>> section-with-init(-data): Phys: 0x80176000 to 0x805cdfff, [4448 KiB]
>>> L4x: section-with-init-text: Virt: 0x2000000 to 0x2457fff [4448 KiB]
>>> error: failed to get physical address for 2000000.
>>> 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]
>>>    Main memory: Phys: 0x81a00000 to 0x899fffff, [131072 KiB]
>>> l4x: vmalloc area: 0a600000 - 12600000
>>> L4x:            text: Virt: 0x2000000 to 0x2457fff [4448 KiB]
>>> error: failed to get physical address for 2000000.
>>> Loading: rom/ramdisk-arm.rd
>>> INITRD: Size of RAMdisk is 3072KiB
>>> RAMdisk from 00002000 to 00302000 [3072KiB]
>>> l4lx_thread_create: Created thread 422 (timer0) (u:b3000a00, v:00000000,
>>> sp:023effa0)
>>> Booting Linux on physical CPU 0x0
>>> Linux version 4.7.0-l4 (daniel at daniel-ubuntu14) (gcc version 4.7.3
>>> (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #4 Fri Jul 7 19:22:05 EDT 2017
>>> CPU: Fiasco [413fc082] revision 2 (ARMv7), cr=00400000
>>> CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
>>> Machine: L4
>>> Ignoring unrecognised tag 0x00000000
>>> Memory policy: Data cache writealloc
>>> CPU: All CPU(s) started in SVC mode.
>>> INITRD: 00002000 - 00302000
>>> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 33973
>>> Kernel command line: mem=128M console=ttyLv0 l4x_rd=rom/ramdisk-arm.rd
>>> root=1:0 ramdisk_size=4000 showpfexc=1 showghost=1 print-fatal-signals=1
>>> PID hash table entries: 1024 (order: 0, 4096 bytes)
>>> Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
>>> Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
>>> Memory: 129696K/137220K available (2806K kernel code, 141K rwdata, 780K
>>> rodata, 148K init, 548K bss, 7524K reserved, 0K cma-reserved)
>>> Virtual kernel memory layout:
>>>    vector  : 0xbffff000 - 0xc0000000   (   4 kB)
>>>    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
>>>    vmalloc : 0x0a600000 - 0x12600000   ( 128 MB)
>>>    lowmem  : 0x00000000 - 0x0a600000   ( 166 MB)
>>>    modules : 0x01010000 - 0x02000000   (  15 MB)
>>>      .text : 0x02000000 - 0x023809c8   (3587 kB)
>>>      .init : 0x02381000 - 0x023a6000   ( 148 kB)
>>>      .data : 0x023a6000 - 0x023c9540   ( 142 kB)
>>>       .bss : 0x023ce3d5 - 0x0245743c   ( 549 kB)
>>> NR_IRQS:282
>>> clocksource: l4kipclk: mask: 0xffffffffffffffff max_cycles: 0x1d854df40,
>>> max_idle_ns: 3526361616960 ns
>>> l4timer: Using IRQ210
>>> sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every
>>> 2199023255500ns
>>> Console: colour dummy device 80x30
>>> console [ttyLv0] enabled
>>> Calibrating delay loop... 990.41 BogoMIPS (lpj=4952064)
>>> pid_max: default: 32768 minimum: 301
>>> Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
>>> Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
>>> CPU: Testing write buffer coherency: ok
>>> Setting up static identity map for 0x2000000 - 0x2000000
>>> VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
>>> clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff,
>>> max_idle_ns: 19112604462750000 ns
>>> NET: Registered protocol family 16
>>> DMA: preallocated 256 KiB pool for atomic coherent allocations
>>> Failed to create "l4x" debugfs directory: 1
>>> clocksource: Switched to clocksource l4kipclk
>>> NET: Registered protocol family 2
>>> TCP established hash table entries: 2048 (order: 1, 8192 bytes)
>>> TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
>>> TCP: Hash tables configured (established 2048 bind 2048)
>>> 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.
>>> NetWinder Floating Point Emulator V0.97 (double precision)
>>> futex hash table entries: 256 (order: -1, 3072 bytes)
>>> workingset: timestamp_bits=29 max_order=15 bucket_order=0
>>> io scheduler noop registered
>>> io scheduler deadline registered
>>> io scheduler cfq registered (default)
>>> L4 serial driver
>>> serial-ttyLv.0: ttyLv0 at MMIO 0x1 (irq = 211, base_baud = 230400) is a
>>> L4-vcon
>>> 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
>>> NET: Registered protocol family 17
>>> L4IRQ: set irq type of 211 to 1
>>> RAMDISK: ext2 filesystem found at block 0
>>> RAMDISK: Loading 3072KiB [1 disk] into ram disk... done.
>>> EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
>>> EXT4-fs (ram0): mounting ext2 file system using the ext4 subsystem
>>> EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
>>> VFS: Mounted root (ext2 filesystem) readonly on device 1:0.
>>> Freeing unused kernel memory: 148K (02381000 - 023a6000)
>>> This architecture does not have kernel memory protection.
>>> 
>>> Please press Enter to activate this console.
>>> 
>>> Thanks
>>> -Dan
>>> 
>>>> On Jul 7, 2017, at 6:08 PM, Adam Lackorzynski
>>>> <adam at os.inf.tu-dresden.de <mailto:adam at os.inf.tu-dresden.de> <mailto:adam at os.inf.tu-dresden.de <mailto:adam at os.inf.tu-dresden.de>>> wrote:
>>>> 
>>>> 
>>>> On Fri Jul 07, 2017 at 16:49:35 -0500, Daniel (Xiaolong) Wang wrote:
>>>>> Many thanks to Matthias and Adam. With you help I was able to get
>>>>> some progress on BeagleBone Black. Here is what I have:
>>>>> 
>>>>> ********* l4linux.cfg *********
>>>>> local L4 = require("L4");
>>>>> 
>>>>> local loader = L4.default_loader;
>>>>> 
>>>>> local lxname = "vmlinuz"
>>>>> 
>>>>> -- start io
>>>>> local 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", "magenta"},
>>>>> }, 
>>>>> "rom/io rom/l4linux.io <http://l4linux.io/> <http://l4linux.io <http://l4linux.io/>>"
>>>>> );
>>>>> 
>>>>> 
>>>>> loader:start(
>>>>> {
>>>>>   caps = {
>>>>>       vbus = vbus_l4linux;
>>>>>   },
>>>>>   l4re_dbg = L4.Dbg.Warn,
>>>>>   log = L4.Env.log:m("rws");
>>>>> },
>>>>> "rom/vmlinuz mem=128M console=ttyLv0 lvx_rd=rom/ramdisk-"
>>>>> .. L4.Info.arch() .. ".rd root=1:0 ramdisk_size=4000"
>>>>> );
>>>>> 
>>>>> ********* l4linux.devs ********* (according
>>>>> to https://github.com/beagleboard/devicetree-source/blob/master/arch/arm/boot/dts/am33xx.dtsi<https://github.com/beagleboard/devicetree-source/blob/master/arch/arm/boot/dts/am33xx.dtsi> <https://github.com/beagleboard/devicetree-source/blob/master/arch/arm/boot/dts/am33xx.dtsi%3Chttps://github.com/beagleboard/devicetree-source/blob/master/arch/arm/boot/dts/am33xx.dtsi%3E>)
>>>>> local Res = Io.Res
>>>>> local Hw = Io.Hw
>>>>> 
>>>>> Io.hw_add_devices(function()
>>>>> 
>>>>>   prcm = Hw.Device(function()
>>>>>       compatible = {"ti,am3-prcm"};
>>>>>       Resource.regs = Res.mmio(0x44e00000, 0x44e03fff);
>>>>>   end);
>>>>> 
>>>>>   edma = Hw.Device(function()
>>>>>       Property.hid = "EDMA";
>>>>>       compatible = {"ti,edma3"};
>>>>>       Resource.regs = Res.mmio(0x49000000, 0x4900ffff);
>>>>>       Resource.regs = Res.mmio(0x44e10f90, 0x44e10fcf);
>>>>>       Resource.irq = Res.irq(12);
>>>>>       Resource.irq = Res.irq(13);
>>>>>       Resource.irq = Res.irq(14);
>>>>>   end);
>>>>> 
>>>>>   mmc1 = Hw.Device(function()
>>>>>       Property.hid = "MMC1";
>>>>>       compatible = {"ti,omap4-hsmmc"};
>>>>>       Resource.regs = Res.mmio(0x48060000, 0x48060fff);
>>>>>       Resource.irq = Res.irq(64);
>>>>> --        Property.flags = Io.Hw_device_DF_dma_supported;
>>>>>   end);
>>>>> 
>>>>>   mmc2 = Hw.Device(function()
>>>>>       Property.hid = "MMC2";
>>>>>       compatible = {"ti,omap4-hsmmc"};
>>>>>       Resource.regs = Res.mmio(0x481d8000, 0x481d8fff);
>>>>>       Resource.irq = Res.irq(28);
>>>>> --        Property.flags = Io.Hw_device_DF_dma_supported;
>>>>>   end);
>>>>> 
>>>>>   mmc3 = Hw.Device(function()
>>>>>       Property.hid = "MMC3";
>>>>>       compatible = {"ti,omap4-hsmmc"};
>>>>>       Resource.regs = Res.mmio(0x47810000, 0x47810fff);
>>>>>       Resource.irq = Res.irq(29);
>>>>> --        Property.flags = Io.Hw_device_DF_dma_supported;
>>>>>   end);
>>>>> 
>>>>>   i2c0 = Hw.Device(function()
>>>>>       Property.hid = "omap4-i2c0";
>>>>>       compatible = {"ti,omap4-i2c"};
>>>>>       Resource.regs = Res.mmio(0x44e0b000, 0x44e0bfff);
>>>>>       Resource.irq = Res.irq(70);
>>>>>   end);
>>>>> 
>>>>>   i2c1 = Hw.Device(function()
>>>>>       Property.hid = "omap4-i2c1";
>>>>>       compatible = {"ti,omap3-i2c"};
>>>>>       Resource.regs = Res.mmio(0x4802a000, 0x4802afff);
>>>>>       Resource.irq = Res.irq(71);
>>>>>   end);
>>>>> end)
>>>>> 
>>>>> ********* l4linux.io <http://l4linux.io/> <http://l4linux.io/ <http://l4linux.io/>> ********* 
>>>>> local hw = Io.system_bus()
>>>>> 
>>>>> 
>>>>> Io.add_vbus("l4linux", Io.Vi.System_bus
>>>>> {
>>>>> prcm = wrap(hw:match("ti,am3-prcm"));
>>>>> edma = wrap(hw:match("ti,edma3"));
>>>>> mmc1 = wrap(hw:match("ti,omap4-hsmmc","MMC1"));
>>>>> mmc2 = wrap(hw:match("ti,omap4-hsmmc","MMC2"));
>>>>> mmc3 = wrap(hw:match("ti,omap4-hsmmc","MMC3"));
>>>>> i2c0 = wrap(hw:match("ti,omap4-i2c","omap4-i2c0"));
>>>>> i2c1 = wrap(hw:match("ti,omap4-i2c","omap4-i2c1"));
>>>>> })
>>>> 
>>>> You're matching too much here (see IO's complaints below).
>>>> Only do
>>>> mmc1 = wrap(hw.mmc1);
>>>> mmc2 = wrap(hw.mmc2);
>>>> mmc3 = wrap(hw.mmc3);
>>>> i2c0 = wrap(hw.i2c0);
>>>> i2c1 = wrap(hw.i2c1);
>>>> (or only match for that pattern that matches once).
>>>> 
>>>>> However after I run the uimage on the board the system just hang…
>>>>> 
>>>>> Starting kernel ...
>>>>> 
>>>>> L4 Bootstrapper
>>>>> Build: #32 Fri Jul  7 17:37:33 EDT 2017, 4.7.3
>>>>> Scanning up to 256 MB RAM, starting at offset 32MB
>>>>> Memory size is 256MB (80000000 - 8fffffff)
>>>>> RAM: 0000000080000000 - 000000008fffffff: 262144kB
>>>>> Total RAM: 256MB
>>>>> Scanning fiasco
>>>>> Scanning sigma0
>>>>> Scanning moe
>>>>> Moving up to 11 modules behind 81100000
>>>>> moving module 02 { 819e0000-81a0949f } -> { 81ad0000-81af949f } [169120]
>>>>> moving module 01 { 819ce000-819df33b } -> { 81abe000-81acf33b } [70460]
>>>>> moving module 00 { 8194c000-819cd017 } -> { 81a3c000-81abd017 } [528408]
>>>>> moving module 10 { 8164c000-8194bfff } -> { 8173c000-81a3bfff }
>>>>> [3145728]
>>>>> moving module 09 { 811fa000-8164b47b } -> { 812ea000-8173b47b }
>>>>> [4527228]
>>>>> moving module 08 { 81087000-811f98c7 } -> { 81177000-812e98c7 }
>>>>> [1517768]
>>>>> moving module 07 { 8102d000-810866ab } -> { 8111d000-811766ab } [366252]
>>>>> moving module 06 { 81013000-8102c463 } -> { 81103000-8111c463 } [103524]
>>>>> moving module 05 { 81012000-810129d0 } -> { 81102000-811029d0 } [2513]
>>>>> moving module 04 { 81011000-810112be } -> { 81101000-811012be } [703]
>>>>> moving module 03 { 81010000-810102ff } -> { 81100000-811002ff } [768]
>>>>> Loading fiasco
>>>>> Loading sigma0
>>>>> Loading moe
>>>>> find kernel info page...
>>>>> found kernel info page (via ELF) at 80002000
>>>>> Regions of list 'regions'
>>>>>   [ 80000000,  80000187] {      188} Root   mbi_rt
>>>>>   [ 80001000,  80001b7f] {      b80} Kern   fiasco
>>>>>   [ 80002000,  8008efff] {    8d000} Kern   fiasco
>>>>>   [ 800c0000,  800c9cfb] {     9cfc} Sigma0 sigma0
>>>>>   [ 800d0000,  800d6177] {     6178} Sigma0 sigma0
>>>>>   [ 80140000,  8016eff3] {    2eff4} Root   moe
>>>>>   [ 81000000,  8100f5a3] {     f5a4} Boot   bootstrap
>>>>>   [ 81100000,  81a3bfff] {   93c000} Root   Module
>>>>> found kernel options (via ELF) at 80003000
>>>>> API Version: (87) experimental
>>>>> Sigma0 config    ip:800c0100 sp:00000000
>>>>> Roottask config  ip:80140260 sp:00000000
>>>>> Starting kernel fiasco at 80001350
>>>>> Hello from Startup::stage2
>>>>> FPU: Initialize
>>>>> FPU0: Subarch: 3, Part: 30, Rev: 3, Var: c, Impl: 41
>>>>> SERIAL ESC: allocated IRQ 72 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.7.3 for AM33xx    []
>>>>> Build: #1 Mon Jun 26 12:21:04 EDT 2017
>>>>> 
>>>>> Calibrating timer loop... done.
>>>>> MDB: use page size: 20
>>>>> MDB: use page size: 12
>>>>> SIGMA0: Hello!
>>>>> KIP @ 80002000
>>>>> allocated 4KB for maintenance structures
>>>>> SIGMA0: Dump of all resource maps
>>>>> RAM:------------------------
>>>>> [4:80000000;80000fff]
>>>>> [0:8008f000;800bffff]
>>>>> [0:800ca000;800cffff]
>>>>> [0:800d7000;8013ffff]
>>>>> [4:80140000;8016efff]
>>>>> [0:8016f000;810fffff]
>>>>> [4:81100000;81a3bfff]
>>>>> [0:81a3c000;8effffff]
>>>>> IOMEM:----------------------
>>>>> [0:0;7fffffff]
>>>>> [0:90000000;ffffffff]
>>>>> MOE: Hello world
>>>>> MOE: found 235476 KByte free memory
>>>>> MOE: found RAM from 80000000 to 8f000000
>>>>> MOE: allocated 240 KByte for the page array @0x800d7000
>>>>> MOE: virtual user address space [0-bfffffff]
>>>>> MOE: rom name space cap -> [C:103000]
>>>>> BOOTFS: [81100000-81100300] [C:105000] l4linux.cfg
>>>>> BOOTFS: [81101000-811012bf] [C:107000] l4linux.io <http://l4linux.io/> <http://l4linux.io/ <http://l4linux.io/>>
>>>>> BOOTFS: [81102000-811029d1] [C:109000] l4linux.devs
>>>>> BOOTFS: [81103000-8111c464] [C:10b000] l4re
>>>>> BOOTFS: [8111d000-811766ac] [C:10d000] ned
>>>>> BOOTFS: [81177000-812e98c8] [C:10f000] io
>>>>> BOOTFS: [812ea000-8173b47c] [C:111000] vmlinuz
>>>>> BOOTFS: [8173c000-81a3c000] [C:113000] ramdisk-arm.rd
>>>>> MOE: cmdline: moe rom/l4linux.cfg
>>>>> MOE: Starting: rom/ned rom/l4linux.cfg
>>>>> MOE: loading 'rom/ned'
>>>>> Ned says: Hi World!
>>>>> Ned: loading file: 'rom/l4linux.cfg'
>>>>> IO      | Io service
>>>>> IO      | Verboseness level: 4
>>>>> IO      | unused physical memory space:
>>>>> IO      |   [00000000000000-0000007fffffff]
>>>>> IO      |   [00000090000000-000000ffffffff]
>>>>> IO      | no 'iommu' capability found use CPU-phys for DMA
>>>>> IO      | Loading: config 'rom/l4linux.devs'
>>>>> IO      | Loading: config 'rom/l4linux.io <http://l4linux.io/> <http://l4linux.io/ <http://l4linux.io/>>'
>>>>> IO      | WARNING: device 'mmc1' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc1' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc2' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc2' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc3' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc3' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc1' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc1' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc2' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc2' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc3' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'mmc3' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'i2c0' already assigned to another virtual bus.
>>>>> IO      | WARNING: device 'i2c0' already assigned to another virtual bus.
>>>>> 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      |   mmc1: hid=MMC1
>>>>> IO      |     Clients: ===== start ====
>>>>> IO      |       mmc3[1]: [N2Vi9Proxy_devE]
>>>>> IO      |       mmc2[1]: [N2Vi9Proxy_devE]
>>>>> IO      |       mmc1[1]: [N2Vi9Proxy_devE]
>>>>> IO      |     Clients: ===== end ====
>>>>> IO      |     Resources: ==== start ====
>>>>> IO      |     IOMEM   [00000048060000-00000048060fff 1000] non-pref
>>>>> (32bit) (align=fff flags=2)
>>>>> IO      |     IRQ     [00000000000040-00000000000040 1] none (32bit)
>>>>> (align=0 flags=1)
>>>>> IO      |     Resources: ===== end =====
>>>>> IO      |   i2c1: hid=omap4-i2c1
>>>>> IO      |     Clients: ===== start ====
>>>>> IO      |       i2c1[1]: [N2Vi9Proxy_devE]
>>>>> IO      |     Clients: ===== end ====
>>>>> IO      |     Resources: ==== start ====
>>>>> IO      |     IOMEM   [0000004802a000-0000004802afff 1000] non-pref
>>>>> (32bit) (align=fff flags=2)
>>>>> IO      |     IRQ     [00000000000047-00000000000047 1] none (32bit)
>>>>> (align=0 flags=1)
>>>>> IO      |     Resources: ===== end =====
>>>>> IO      |   mmc2: hid=MMC2
>>>>> IO      |     Clients: ===== start ====
>>>>> IO      |       mmc3[2]: [N2Vi9Proxy_devE]
>>>>> IO      |       mmc2[2]: [N2Vi9Proxy_devE]
>>>>> IO      |       mmc1[2]: [N2Vi9Proxy_devE]
>>>>> IO      |     Clients: ===== end ====
>>>>> IO      |     Resources: ==== start ====
>>>>> IO      |     IOMEM   [000000481d8000-000000481d8fff 1000] non-pref
>>>>> (32bit) (align=fff flags=2)
>>>>> IO      |     IRQ     [0000000000001c-0000000000001c 1] none (32bit)
>>>>> (align=0 flags=1)
>>>>> IO      |     Resources: ===== end =====
>>>>> IO      |   mmc3: hid=MMC3
>>>>> IO      |     Clients: ===== start ====
>>>>> IO      |       mmc3[3]: [N2Vi9Proxy_devE]
>>>>> IO      |       mmc2[3]: [N2Vi9Proxy_devE]
>>>>> IO      |       mmc1[3]: [N2Vi9Proxy_devE]
>>>>> IO      |     Clients: ===== end ====
>>>>> IO      |     Resources: ==== start ====
>>>>> IO      |     IOMEM   [00000047810000-00000047810fff 1000] non-pref
>>>>> (32bit) (align=fff flags=2)
>>>>> IO      |     IRQ     [0000000000001d-0000000000001d 1] none (32bit)
>>>>> (align=0 flags=1)
>>>>> IO      |     Resources: ===== end =====
>>>>> IO      |   edma: hid=EDMA
>>>>> IO      |     Clients: ===== start ====
>>>>> IO      |       edma: [N2Vi9Proxy_devE]
>>>>> IO      |     Clients: ===== end ====
>>>>> IO      |     Resources: ==== start ====
>>>>> IO      |     IOMEM   [00000044e10f90-00000044e10fcf 40] non-pref
>>>>> (32bit) (align=3f flags=2)
>>>>> IO      |     IRQ     [0000000000000e-0000000000000e 1] none (32bit)
>>>>> (align=0 flags=1)
>>>>> IO      |     Resources: ===== end =====
>>>>> IO      |   i2c0: hid=omap4-i2c0
>>>>> IO      |     Clients: ===== start ====
>>>>> IO      |       i2c1[2]: [N2Vi9Proxy_devE]
>>>>> IO      |       i2c0: [N2Vi9Proxy_devE]
>>>>> IO      |     Clients: ===== end ====
>>>>> IO      |     Resources: ==== start ====
>>>>> IO      |     IOMEM   [00000044e0b000-00000044e0bfff 1000] non-pref
>>>>> (32bit) (align=fff flags=2)
>>>>> IO      |     IRQ     [00000000000046-00000000000046 1] none (32bit)
>>>>> (align=0 flags=1)
>>>>> IO      |     Resources: ===== end =====
>>>>> IO      |   prcm: hid=
>>>>> IO      |     Clients: ===== start ====
>>>>> IO      |       prcm: [N2Vi9Proxy_devE]
>>>>> IO      |     Clients: ===== end ====
>>>>> IO      |     Resources: ==== start ====
>>>>> IO      |     IOMEM   [00000044e00000-00000044e03fff 4000] non-pref
>>>>> (32bit) (align=3fff flags=2)
>>>>> IO      |     Resources: ===== end =====
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc2[1]
>>>>> IO      |   /l4linux/mmc3[1]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc1[1]
>>>>> IO      |   /l4linux/mmc3[1]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc1[1]
>>>>> IO      |   /l4linux/mmc2[1]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc2[2]
>>>>> IO      |   /l4linux/mmc3[2]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc1[2]
>>>>> IO      |   /l4linux/mmc3[2]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc1[2]
>>>>> IO      |   /l4linux/mmc2[2]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc2[3]
>>>>> IO      |   /l4linux/mmc3[3]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc1[3]
>>>>> IO      |   /l4linux/mmc3[3]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/mmc1[3]
>>>>> IO      |   /l4linux/mmc2[3]
>>>>> IO      | warning: conflicting virtual clients:
>>>>> IO      |   /l4linux/i2c0
>>>>> IO      |   /l4linux/i2c1[2]
>>>>> IO      | warning: could not register control interface at cap
>>>>> 'platform_ctl'
>>>>> IO      | Ready. Waiting for request.
>>>>> PH  0 offs=00008000 flags=rwx PH-type=0x1
>>>>>     virt=02000000 evirt=024bd81c
>>>>>     phys=02000000 ephys=024bd81c
>>>>>     f_sz=00435512 memsz=004bd81c
>>>>> PH  1 offs=003eb0c8 flags=r-x PH-type=0x4
>>>>>     virt=023e30c8 evirt=023e30ec
>>>>>     phys=023e30c8 ephys=023e30ec
>>>>>     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 0x2000318, argc=7 argv=0xafff4f8c *argv=0xb1007ff4
>>>>> argv0=rom/vmlinuz
>>>>> External resolver is at 0xa80007fc
>>>>> Symbol 'l4x_srv_init' not found
>>>>> L4Re[rm]: unhandled read page fault at 0x4 pc=0x0
>>>>> L4Re: unhandled exception: pc=0x0 (pfa=0)
>>>>> L4Re: Global::l4re_aux->ldr_flags=0
>>>>> 
>>>>> At this point I have no idea what to do any help will be much
>>>>> appreciated! Thank you very much!
>>>> 
>>>> Ok, now that's strange, that should not happen. In L4Linux, do you have
>>>> CONFIG_L4_SERVER enabled or disabled? Does arch/l4/kernel/main.o contain
>>>> the l4x_srv_init symbol or not
>>>> (check with 'nm arch/l4/kernel/main.o | grep l4x_srv_init')?
>>>> 
>>>> 
>>>> 
>>>> Adam
>>>> 
>>>>> 
>>>>> Thanks
>>>>> -Dan
>>>>>> On Jun 29, 2017, at 3:39 PM, Matthias Lange
>>>>>> <matthias.lange at kernkonzept.com <mailto:matthias.lange at kernkonzept.com>
>>>>>> <mailto:matthias.lange at kernkonzept.com <mailto:matthias.lange at kernkonzept.com>>> wrote:
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> On 06/29/2017 10:11 PM, Daniel (Xiaolong) Wang wrote:
>>>>>>> Hi all,
>>>>>>> 
>>>>>>> I want to give L4Linux access to SD card, and ethernet driver.
>>>>>>> Initially I thought by run L4Linux kernel on top of L4re, drivers
>>>>>>> built with L4Linux kernel can just work. After trying and reading the
>>>>>>> email archive, seems like I need to configure the corresponding
>>>>>>> capability in cfg. I’m very new to L4re environment is there any
>>>>>>> tutorials or references that can help me understand it better? (I’m
>>>>>>> currently reading the manual, my development board is a beagle bone
>>>>>>> black)
>>>>>> 
>>>>>> In case of ARM platforms this is (still) not an easy undertaking. What
>>>>>> you have to do is basically this:
>>>>>> 
>>>>>> 1. Enable the desired device drivers in your kernel configuration.
>>>>>> 2. Make L4Linux compile.
>>>>>> 3. Create a device tree which contains the device nodes of the desired
>>>>>> devices.
>>>>>> 4. Create an io configuration for L4Re with the devices and their
>>>>>> resources and assign the desired devices to a vbus which is eventually
>>>>>> given to L4Linux. You can read about io and its configuration here [1].
>>>>>> 5. Boot your setup on the target. At this stage, you usually you have to
>>>>>> instrument the device driver to debug the reasons why it is failing.
>>>>>> 
>>>>>> Best,
>>>>>> Matthias.
>>>>>> 
>>>>>> [1] http://l4re.org/doc/io.html <http://l4re.org/doc/io.html> <http://l4re.org/doc/io.html <http://l4re.org/doc/io.html>>
>>>>>> 
>>>>>>> 
>>>>>>> Also I’m trying to build a L4Linux with MMC driver. My configuration
>>>>>>> is based on default arm_defconfig. I enabled
>>>>>>> 
>>>>>>> * Make Linux be a Server * Bus driver for L4vbus * L4shm based
>>>>>>> network driver * MMC/SD/SDIO card support -> HW reset support for
>>>>>>> eMMC, MMC block device driver, Use bounce buffer for simple hosts,
>>>>>>> SDIO UART/GPS class support, Secure Digital Host Controller Interface
>>>>>>> Support, SDHCI platform and OF driver helper, MediaTek SD/MMC Card
>>>>>>> Interface support * DOS/FAT/NT Filesystem -> MSDOS fs support, VFAT
>>>>>>> fs support
>>>>>>> 
>>>>>>> however, when it build the following errors show did I do something
>>>>>>> wrong?
>>>>>>> 
>>>>>>> LD      drivers/i2c/busses/built-in.o LD
>>>>>>> drivers/i2c/muxes/built-in.o LD      drivers/i2c/built-in.o LD
>>>>>>> drivers/idle/built-in.o CC      drivers/input/input.o CC
>>>>>>> drivers/input/input-compat.o CC      drivers/input/input-mt.o CC
>>>>>>> drivers/input/ff-core.o LD      drivers/input/input-core.o CC
>>>>>>> drivers/input/mousedev.o CC      drivers/input/evdev.o LD
>>>>>>> drivers/input/built-in.o LD      drivers/iommu/built-in.o CC
>>>>>>> drivers/irqchip/irqchip.o LD      drivers/irqchip/built-in.o LD
>>>>>>> drivers/leds/built-in.o LD      drivers/lguest/built-in.o LD
>>>>>>> drivers/macintosh/built-in.o LD
>>>>>>> drivers/media/common/b2c2/built-in.o LD
>>>>>>> drivers/media/common/saa7146/built-in.o LD
>>>>>>> drivers/media/common/siano/built-in.o LD
>>>>>>> drivers/media/common/v4l2-tpg/built-in.o LD
>>>>>>> drivers/media/common/built-in.o LD
>>>>>>> drivers/media/firewire/built-in.o LD
>>>>>>> drivers/media/i2c/soc_camera/built-in.o LD
>>>>>>> drivers/media/i2c/built-in.o LD
>>>>>>> drivers/media/mmc/siano/built-in.o LD
>>>>>>> drivers/media/mmc/built-in.o LD
>>>>>>> drivers/media/pci/b2c2/built-in.o LD
>>>>>>> drivers/media/pci/ddbridge/built-in.o LD
>>>>>>> drivers/media/pci/dm1105/built-in.o LD
>>>>>>> drivers/media/pci/mantis/built-in.o LD
>>>>>>> drivers/media/pci/netup_unidvb/built-in.o LD
>>>>>>> drivers/media/pci/ngene/built-in.o LD
>>>>>>> drivers/media/pci/pluto2/built-in.o LD
>>>>>>> drivers/media/pci/pt1/built-in.o LD
>>>>>>> drivers/media/pci/pt3/built-in.o LD
>>>>>>> drivers/media/pci/saa7146/built-in.o LD
>>>>>>> drivers/media/pci/smipcie/built-in.o LD
>>>>>>> drivers/media/pci/ttpci/built-in.o LD
>>>>>>> drivers/media/pci/built-in.o LD
>>>>>>> drivers/media/platform/omap/built-in.o LD
>>>>>>> drivers/media/platform/built-in.o LD
>>>>>>> drivers/media/rc/keymaps/built-in.o LD
>>>>>>> drivers/media/rc/built-in.o LD      drivers/media/tuners/built-in.o 
>>>>>>> LD      drivers/media/usb/b2c2/built-in.o LD
>>>>>>> drivers/media/usb/dvb-usb/built-in.o LD
>>>>>>> drivers/media/usb/dvb-usb-v2/built-in.o LD
>>>>>>> drivers/media/usb/s2255/built-in.o LD
>>>>>>> drivers/media/usb/siano/built-in.o LD
>>>>>>> drivers/media/usb/stkwebcam/built-in.o LD
>>>>>>> drivers/media/usb/ttusb-budget/built-in.o LD
>>>>>>> drivers/media/usb/ttusb-dec/built-in.o LD
>>>>>>> drivers/media/usb/zr364xx/built-in.o LD
>>>>>>> drivers/media/usb/built-in.o LD      drivers/media/built-in.o LD
>>>>>>> drivers/mfd/built-in.o LD      drivers/misc/cb710/built-in.o LD
>>>>>>> drivers/misc/eeprom/built-in.o LD
>>>>>>> drivers/misc/lis3lv02d/built-in.o LD
>>>>>>> drivers/misc/mic/bus/built-in.o LD      drivers/misc/mic/built-in.o 
>>>>>>> LD      drivers/misc/ti-st/built-in.o LD
>>>>>>> drivers/misc/built-in.o CC      drivers/mmc/card/block.o CC
>>>>>>> drivers/mmc/card/queue.o LD      drivers/mmc/card/mmc_block.o CC
>>>>>>> drivers/mmc/card/sdio_uart.o LD      drivers/mmc/card/built-in.o CC
>>>>>>> drivers/mmc/core/core.o CC      drivers/mmc/core/bus.o CC
>>>>>>> drivers/mmc/core/host.o CC      drivers/mmc/core/mmc.o CC
>>>>>>> drivers/mmc/core/mmc_ops.o CC      drivers/mmc/core/sd.o CC
>>>>>>> drivers/mmc/core/sd_ops.o CC      drivers/mmc/core/sdio.o CC
>>>>>>> drivers/mmc/core/sdio_ops.o CC      drivers/mmc/core/sdio_bus.o CC
>>>>>>> drivers/mmc/core/sdio_cis.o CC      drivers/mmc/core/sdio_io.o CC
>>>>>>> drivers/mmc/core/sdio_irq.o CC      drivers/mmc/core/quirks.o CC
>>>>>>> drivers/mmc/core/slot-gpio.o CC      drivers/mmc/core/pwrseq.o CC
>>>>>>> drivers/mmc/core/debugfs.o LD      drivers/mmc/core/mmc_core.o CC
>>>>>>> drivers/mmc/core/pwrseq_simple.o CC
>>>>>>> drivers/mmc/core/pwrseq_emmc.o LD      drivers/mmc/core/built-in.o CC
>>>>>>> drivers/mmc/host/sdhci.o CC      drivers/mmc/host/mtk-sd.o CC
>>>>>>> drivers/mmc/host/sdhci-pltfm.o CC
>>>>>>> drivers/mmc/host/sdhci-of-arasan.o CC
>>>>>>> drivers/mmc/host/sdhci-of-at91.o LD      drivers/mmc/host/built-in.o 
>>>>>>> LD      drivers/mmc/built-in.o CC      drivers/net/Space.o CC
>>>>>>> drivers/net/loopback.o CC      drivers/net/l4shmnet.o LD
>>>>>>> drivers/net/built-in.o LD      drivers/nfc/built-in.o LD
>>>>>>> drivers/nvme/host/built-in.o LD      drivers/nvme/built-in.o CC
>>>>>>> drivers/of/base.o CC      drivers/of/device.o CC
>>>>>>> drivers/of/platform.o CC      drivers/of/fdt.o CC
>>>>>>> drivers/of/fdt_address.o CC      drivers/of/address.o CC
>>>>>>> drivers/of/irq.o CC      drivers/of/of_reserved_mem.o LD
>>>>>>> drivers/of/built-in.o LD      drivers/platform/built-in.o LD
>>>>>>> drivers/power/built-in.o LD      drivers/pwm/built-in.o CC
>>>>>>> drivers/rtc/rtc-lib.o LD      drivers/rtc/built-in.o LD
>>>>>>> drivers/soc/bcm/built-in.o LD      drivers/soc/fsl/built-in.o LD
>>>>>>> drivers/soc/built-in.o CC      drivers/tty/tty_io.o CC
>>>>>>> drivers/tty/n_tty.o CC      drivers/tty/tty_ioctl.o CC
>>>>>>> drivers/tty/tty_ldisc.o CC      drivers/tty/tty_buffer.o CC
>>>>>>> drivers/tty/tty_port.o CC      drivers/tty/tty_mutex.o CC
>>>>>>> drivers/tty/tty_ldsem.o CC      drivers/tty/pty.o CC
>>>>>>> drivers/tty/sysrq.o LD      drivers/tty/ipwireless/built-in.o CC
>>>>>>> drivers/tty/serial/serial_core.o CC      drivers/tty/serial/l4ser.o 
>>>>>>> CC      drivers/tty/serial/l4ser_shm.o LD
>>>>>>> drivers/tty/serial/built-in.o CC      drivers/tty/vt/vt_ioctl.o CC
>>>>>>> drivers/tty/vt/vc_screen.o CC      drivers/tty/vt/selection.o CC
>>>>>>> drivers/tty/vt/keyboard.o CC      drivers/tty/vt/consolemap.o CC
>>>>>>> drivers/tty/vt/consolemap_deftbl.o CC      drivers/tty/vt/vt.o CC
>>>>>>> drivers/tty/vt/defkeymap.o LD      drivers/tty/vt/built-in.o LD
>>>>>>> drivers/tty/built-in.o LD      drivers/video/backlight/built-in.o CC
>>>>>>> drivers/video/console/dummycon.o CC
>>>>>>> drivers/video/console/fbcon.o CC
>>>>>>> drivers/video/console/bitblit.o CC
>>>>>>> drivers/video/console/softcursor.o LD
>>>>>>> drivers/video/console/built-in.o CC
>>>>>>> drivers/video/fbdev/core/fb_cmdline.o CC
>>>>>>> drivers/video/fbdev/core/fb_notify.o CC
>>>>>>> drivers/video/fbdev/core/fbmem.o CC
>>>>>>> drivers/video/fbdev/core/fbmon.o CC
>>>>>>> drivers/video/fbdev/core/fbcmap.o CC
>>>>>>> drivers/video/fbdev/core/fbsysfs.o CC
>>>>>>> drivers/video/fbdev/core/modedb.o CC
>>>>>>> drivers/video/fbdev/core/fbcvt.o LD
>>>>>>> drivers/video/fbdev/core/fb.o LD
>>>>>>> drivers/video/fbdev/core/built-in.o LD
>>>>>>> drivers/video/fbdev/omap2/omapfb/displays/built-in.o LD
>>>>>>> drivers/video/fbdev/omap2/omapfb/dss/built-in.o LD
>>>>>>> drivers/video/fbdev/omap2/omapfb/built-in.o LD
>>>>>>> drivers/video/fbdev/omap2/built-in.o LD
>>>>>>> drivers/video/fbdev/built-in.o CC      drivers/video/logo/logo.o LOGO
>>>>>>> drivers/video/logo/logo_linux_mono.c CC
>>>>>>> drivers/video/logo/logo_linux_mono.o LOGO
>>>>>>> drivers/video/logo/logo_linux_vga16.c CC
>>>>>>> drivers/video/logo/logo_linux_vga16.o LOGO
>>>>>>> drivers/video/logo/logo_linux_clut224.c CC
>>>>>>> drivers/video/logo/logo_linux_clut224.o LD
>>>>>>> drivers/video/logo/built-in.o LOGO
>>>>>>> drivers/video/logo/logo_superh_mono.c LOGO
>>>>>>> drivers/video/logo/clut_vga16.c LOGO
>>>>>>> drivers/video/logo/logo_blackfin_vga16.c LOGO
>>>>>>> drivers/video/logo/logo_superh_vga16.c LOGO
>>>>>>> drivers/video/logo/logo_blackfin_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_dec_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_m32r_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_mac_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_parisc_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_sgi_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_spe_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_sun_clut224.c LOGO
>>>>>>> drivers/video/logo/logo_superh_clut224.c LD
>>>>>>> drivers/video/built-in.o LD      drivers/built-in.o LD
>>>>>>> sound/built-in.o LD      firmware/built-in.o CC
>>>>>>> arch/l4/drivers/vbus/l4vbus.o LD
>>>>>>> arch/l4/drivers/vbus/built-in.o CC      arch/l4/drivers/events.o LD
>>>>>>> arch/l4/drivers/built-in.o CC      net/socket.o LD
>>>>>>> net/802/built-in.o CC      net/core/sock.o CC
>>>>>>> net/core/request_sock.o CC      net/core/skbuff.o CC
>>>>>>> net/core/datagram.o CC      net/core/stream.o CC      net/core/scm.o 
>>>>>>> CC      net/core/gen_stats.o CC      net/core/gen_estimator.o CC
>>>>>>> net/core/net_namespace.o CC      net/core/secure_seq.o CC
>>>>>>> net/core/flow_dissector.o CC      net/core/sysctl_net_core.o CC
>>>>>>> net/core/dev.o CC      net/core/ethtool.o CC
>>>>>>> net/core/dev_addr_lists.o CC      net/core/dst.o CC
>>>>>>> net/core/netevent.o CC      net/core/neighbour.o CC
>>>>>>> net/core/rtnetlink.o CC      net/core/utils.o CC
>>>>>>> net/core/link_watch.o CC      net/core/filter.o CC
>>>>>>> net/core/sock_diag.o CC      net/core/dev_ioctl.o CC
>>>>>>> net/core/tso.o CC      net/core/sock_reuseport.o CC
>>>>>>> net/core/flow.o CC      net/core/net-sysfs.o CC
>>>>>>> net/core/net-procfs.o LD      net/core/built-in.o CC
>>>>>>> net/ethernet/eth.o LD      net/ethernet/built-in.o CC
>>>>>>> net/ipv4/route.o CC      net/ipv4/inetpeer.o CC
>>>>>>> net/ipv4/protocol.o CC      net/ipv4/ip_input.o CC
>>>>>>> net/ipv4/ip_fragment.o CC      net/ipv4/ip_forward.o CC
>>>>>>> net/ipv4/ip_options.o CC      net/ipv4/ip_output.o CC
>>>>>>> net/ipv4/ip_sockglue.o CC      net/ipv4/inet_hashtables.o CC
>>>>>>> net/ipv4/inet_timewait_sock.o CC
>>>>>>> net/ipv4/inet_connection_sock.o CC      net/ipv4/tcp.o CC
>>>>>>> net/ipv4/tcp_input.o CC      net/ipv4/tcp_output.o CC
>>>>>>> net/ipv4/tcp_timer.o CC      net/ipv4/tcp_ipv4.o CC
>>>>>>> net/ipv4/tcp_minisocks.o CC      net/ipv4/tcp_cong.o CC
>>>>>>> net/ipv4/tcp_metrics.o CC      net/ipv4/tcp_fastopen.o CC
>>>>>>> net/ipv4/tcp_recovery.o CC      net/ipv4/tcp_offload.o CC
>>>>>>> net/ipv4/datagram.o CC      net/ipv4/raw.o CC      net/ipv4/udp.o CC
>>>>>>> net/ipv4/udplite.o CC      net/ipv4/udp_offload.o CC
>>>>>>> net/ipv4/arp.o CC      net/ipv4/icmp.o CC      net/ipv4/devinet.o CC
>>>>>>> net/ipv4/af_inet.o CC      net/ipv4/igmp.o CC
>>>>>>> net/ipv4/fib_frontend.o CC      net/ipv4/fib_semantics.o CC
>>>>>>> net/ipv4/fib_trie.o CC      net/ipv4/inet_fragment.o CC
>>>>>>> net/ipv4/ping.o CC      net/ipv4/ip_tunnel_core.o CC
>>>>>>> net/ipv4/gre_offload.o CC      net/ipv4/sysctl_net_ipv4.o CC
>>>>>>> net/ipv4/proc.o CC      net/ipv4/xfrm4_mode_beet.o CC
>>>>>>> net/ipv4/xfrm4_mode_transport.o CC      net/ipv4/xfrm4_mode_tunnel.o 
>>>>>>> CC      net/ipv4/ipconfig.o CC      net/ipv4/inet_diag.o CC
>>>>>>> net/ipv4/tcp_diag.o CC      net/ipv4/tcp_cubic.o CC
>>>>>>> net/ipv4/xfrm4_policy.o CC      net/ipv4/xfrm4_state.o CC
>>>>>>> net/ipv4/xfrm4_input.o CC      net/ipv4/xfrm4_output.o CC
>>>>>>> net/ipv4/xfrm4_protocol.o LD      net/ipv4/built-in.o CC
>>>>>>> net/ipv6/addrconf_core.o CC      net/ipv6/exthdrs_core.o CC
>>>>>>> net/ipv6/ip6_checksum.o CC      net/ipv6/ip6_icmp.o CC
>>>>>>> net/ipv6/output_core.o CC      net/ipv6/protocol.o CC
>>>>>>> net/ipv6/ip6_offload.o CC      net/ipv6/tcpv6_offload.o CC
>>>>>>> net/ipv6/exthdrs_offload.o LD      net/ipv6/built-in.o CC
>>>>>>> net/netlink/af_netlink.o CC      net/netlink/genetlink.o LD
>>>>>>> net/netlink/built-in.o CC      net/packet/af_packet.o LD
>>>>>>> net/packet/built-in.o CC      net/sched/sch_generic.o CC
>>>>>>> net/sched/sch_mq.o LD      net/sched/built-in.o CC
>>>>>>> net/unix/af_unix.o CC      net/unix/garbage.o CC
>>>>>>> net/unix/sysctl_net_unix.o LD      net/unix/unix.o LD
>>>>>>> net/unix/built-in.o CC      net/xfrm/xfrm_policy.o CC
>>>>>>> net/xfrm/xfrm_state.o CC      net/xfrm/xfrm_hash.o CC
>>>>>>> net/xfrm/xfrm_input.o CC      net/xfrm/xfrm_output.o CC
>>>>>>> net/xfrm/xfrm_sysctl.o CC      net/xfrm/xfrm_replay.o LD
>>>>>>> net/xfrm/built-in.o CC      net/sysctl_net.o LD      net/built-in.o 
>>>>>>> CC      lib/lockref.o CC      lib/bcd.o CC      lib/div64.o CC
>>>>>>> lib/sort.o CC      lib/parser.o CC      lib/halfmd4.o CC
>>>>>>> lib/debug_locks.o CC      lib/random32.o CC
>>>>>>> lib/bust_spinlocks.o CC      lib/kasprintf.o CC      lib/bitmap.o CC
>>>>>>> lib/scatterlist.o CC      lib/gcd.o CC      lib/lcm.o CC
>>>>>>> lib/list_sort.o CC      lib/uuid.o CC      lib/flex_array.o CC
>>>>>>> lib/iov_iter.o CC      lib/clz_ctz.o CC      lib/bsearch.o CC
>>>>>>> lib/find_bit.o CC      lib/llist.o CC      lib/memweight.o CC
>>>>>>> lib/kfifo.o CC      lib/percpu-refcount.o CC      lib/percpu_ida.o CC
>>>>>>> lib/rhashtable.o CC      lib/reciprocal_div.o CC      lib/once.o CC
>>>>>>> lib/string_helpers.o CC      lib/hexdump.o CC      lib/kstrtox.o CC
>>>>>>> lib/pci_iomap.o CC      lib/iomap_copy.o CC      lib/devres.o CC
>>>>>>> lib/hweight.o CC      lib/bitrev.o CC      lib/crc16.o HOSTCC
>>>>>>> lib/gen_crc32table GEN     lib/crc32table.h CC      lib/crc32.o CC
>>>>>>> lib/genalloc.o CC      lib/fonts/fonts.o CC
>>>>>>> lib/fonts/font_8x8.o CC      lib/fonts/font_8x16.o LD
>>>>>>> lib/fonts/font.o LD      lib/fonts/built-in.o CC
>>>>>>> lib/lz4/lz4_decompress.o LD      lib/lz4/built-in.o CC
>>>>>>> lib/lzo/lzo1x_decompress_safe.o LD      lib/lzo/lzo_decompress.o LD
>>>>>>> lib/lzo/built-in.o CC      lib/xz/xz_dec_syms.o CC
>>>>>>> lib/xz/xz_dec_stream.o CC      lib/xz/xz_dec_lzma2.o CC
>>>>>>> lib/xz/xz_dec_bcj.o LD      lib/xz/xz_dec.o LD
>>>>>>> lib/xz/built-in.o CC      lib/zlib_inflate/inffast.o CC
>>>>>>> lib/zlib_inflate/inflate.o CC      lib/zlib_inflate/infutil.o CC
>>>>>>> lib/zlib_inflate/inftrees.o CC      lib/zlib_inflate/inflate_syms.o 
>>>>>>> LD      lib/zlib_inflate/zlib_inflate.o LD
>>>>>>> lib/zlib_inflate/built-in.o CC      lib/swiotlb.o CC
>>>>>>> lib/iommu-helper.o CC      lib/iommu-common.o CC      lib/syscall.o 
>>>>>>> CC      lib/nlattr.o CC      lib/dynamic_queue_limits.o CC
>>>>>>> lib/net_utils.o LD      lib/built-in.o CC      lib/argv_split.o CC
>>>>>>> lib/bug.o CC      lib/cmdline.o CC      lib/ctype.o CC
>>>>>>> lib/dec_and_lock.o CC      lib/decompress.o CC
>>>>>>> lib/decompress_bunzip2.o CC      lib/decompress_inflate.o CC
>>>>>>> lib/decompress_unlz4.o CC      lib/decompress_unlzma.o CC
>>>>>>> lib/decompress_unlzo.o CC      lib/decompress_unxz.o CC
>>>>>>> lib/dma-noop.o CC      lib/dump_stack.o CC      lib/earlycpio.o CC
>>>>>>> lib/extable.o CC      lib/fdt.o CC      lib/fdt_empty_tree.o CC
>>>>>>> lib/fdt_ro.o CC      lib/fdt_rw.o CC      lib/fdt_strerror.o CC
>>>>>>> lib/fdt_sw.o CC      lib/fdt_wip.o CC      lib/flex_proportions.o CC
>>>>>>> lib/idr.o CC      lib/int_sqrt.o CC      lib/ioremap.o CC
>>>>>>> lib/irq_regs.o CC      lib/is_single_threaded.o CC      lib/klist.o 
>>>>>>> CC      lib/kobject.o CC      lib/kobject_uevent.o CC      lib/md5.o 
>>>>>>> CC      lib/nmi_backtrace.o CC      lib/nodemask.o CC
>>>>>>> lib/plist.o CC      lib/radix-tree.o CC      lib/ratelimit.o CC
>>>>>>> lib/rbtree.o CC      lib/seq_buf.o CC      lib/sha1.o CC
>>>>>>> lib/show_mem.o CC      lib/string.o CC      lib/timerqueue.o CC
>>>>>>> lib/vsprintf.o AR      lib/lib.a CC
>>>>>>> arch/l4/lib/arch-arm/../proc.o CC
>>>>>>> arch/l4/lib/arch-arm/../debugfs.o LD
>>>>>>> arch/l4/lib/arch-arm/built-in.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/ashldi3.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/ashrdi3.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/backtrace.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/bswapsdi2.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/call_with_stack.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/changebit.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/clearbit.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/copy_page.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/csumipv6.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/csumpartial.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/csumpartialcopy.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/delay-loop.o CC
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/delay.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/div64.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/findbit.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/io-readsb.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/io-readsl.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/io-readsw-armv4.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/io-writesb.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/io-writesl.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/io-writesw-armv4.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/lib1funcs.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/lshrdi3.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/memchr.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/memcpy.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/memmove.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/memset.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/memzero.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/muldi3.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/setbit.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/strchr.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/strrchr.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/testchangebit.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/testclearbit.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/testsetbit.o AS
>>>>>>> arch/l4/lib/arch-arm/../../../arm/lib/ucmpdi2.o CC
>>>>>>> arch/l4/lib/arch-arm/../csumpartialcopyuser.o CC
>>>>>>> arch/l4/lib/arch-arm/../memcpy_user.o CC
>>>>>>> arch/l4/lib/arch-arm/../pte.o CC
>>>>>>> arch/l4/lib/arch-arm/../uaccess.o AR      arch/l4/lib/arch-arm/lib.a 
>>>>>>> LD      arch/l4/l4lxlib/generic/built-in.o CC
>>>>>>> arch/l4/l4lxlib/generic/irq_gen.o CC
>>>>>>> arch/l4/l4lxlib/generic/legacy.o CC
>>>>>>> arch/l4/l4lxlib/generic/thread_gen.o AR
>>>>>>> arch/l4/l4lxlib/generic/lib.a LD
>>>>>>> arch/l4/l4lxlib/l4env/built-in.o CC
>>>>>>> arch/l4/l4lxlib/l4env/irq_vcpu.o CC
>>>>>>> arch/l4/l4lxlib/l4env/memory.o CC      arch/l4/l4lxlib/l4env/misc.o 
>>>>>>> CC      arch/l4/l4lxlib/l4env/task.o CC
>>>>>>> arch/l4/l4lxlib/l4env/thread.o AR      arch/l4/l4lxlib/l4env/lib.a LD
>>>>>>> virt/lib/built-in.o LD      virt/built-in.o LINK    vmlinux LD
>>>>>>> vmlinux.o MODPOST vmlinux.o GEN     .version CHK
>>>>>>> include/generated/compile.h UPD     include/generated/compile.h CC
>>>>>>> init/version.o LD      init/built-in.o drivers/built-in.o: In
>>>>>>> function `sdhci_at91_probe': 
>>>>>>> /home/daniel/Desktop/l4re-snapshot/src/l4linux/build-arm/../drivers/mmc/host/sdhci-of-at91.c:212:
>>>>>>> undefined reference to `clk_set_rate' make[1]: *** [vmlinux] Error 1 
>>>>>>> make[1]: Leaving directory
>>>>>>> `/home/daniel/Desktop/l4re-snapshot/src/l4linux/build-arm' make: ***
>>>>>>> [sub-make] Error 2
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________ l4-hackers mailing
>>>>>>> list l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de>
>>>>>>> <mailto:l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de>> <mailto:l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de>> 
>>>>>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers <http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers> <http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers <http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers>>
>>>> 
>>>>> _______________________________________________
>>>>> l4-hackers mailing list
>>>>> l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de> <mailto:l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de>>
>>>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers <http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers>
>>>> 
>>>> 
>>>> Adam
>>>> -- 
>>>> Adam                 adam at os.inf.tu-dresden.de <mailto:adam at os.inf.tu-dresden.de>
>>>> <mailto:adam at os.inf.tu-dresden.de <mailto:adam at os.inf.tu-dresden.de>>
>>>> Lackorzynski         http://os.inf.tu-dresden.de/~adam/ <http://os.inf.tu-dresden.de/~adam/>
>>>> 
>>>> _______________________________________________
>>>> l4-hackers mailing list
>>>> l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de> <mailto:l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de>>
>>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers <http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers>
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> l4-hackers mailing list
>>> l4-hackers at os.inf.tu-dresden.de <mailto:l4-hackers at os.inf.tu-dresden.de>
>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers <http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers>
>>> 
>> 
>> 
>> -- 
>> Matthias Lange, matthias.lange at kernkonzept.com <mailto:matthias.lange at kernkonzept.com>, +49-351-41 888 614
>> 
>> Kernkonzept GmbH.  Sitz: Dresden.  Amtsgericht Dresden, HRB 31129.
>> Geschäftsführer: Dr.-Ing. Michael Hohmuth
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20170717/03e0576c/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: l4-device-tree.dts
Type: application/octet-stream
Size: 7534 bytes
Desc: not available
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20170717/03e0576c/attachment-0001.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20170717/03e0576c/attachment-0001.htm>


More information about the l4-hackers mailing list