l4linux, making progress

Ryan Brown <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <CAJe6nJbtc9jn=6BGk-_nGTF8VaHeF7KwzYuigGWYKYOVHheDHA@mail.gmail.com>
I've managed to get my l4linux build to start running, but it doesn't seem
to get far:
l4linux | libio: Warning: Finding 'icu' in system bus failed with 'No such
object found'
4linux | PH  0 (t:        1) offs=00001000 vaddr=00400000 vend=005d1000
l4linux |                     phys=00400000 ephys=005d1000
l4linux |                     f_sz=001d0cb8 memsz=001d1000 flgs=r-x
l4linux | PH  1 (t:        1) offs=001d2000 vaddr=005d1000 vend=00d36000
l4linux |                     phys=005d1000 ephys=00d36000
l4linux |                     f_sz=006c4c10 memsz=00765000 flgs=rw-
l4linux | PH  2 (t:        4) offs=0015df14 vaddr=0055cf14 vend=0055cf38
l4linux |                     phys=0055cf14 ephys=0055cf38
l4linux |                     f_sz=00000024 memsz=00000024 flgs=---
l4linux | Starting binary at 0x400000, argc=3 argv=0x80007f9c
*argv=0xb1007ff4 argv0=rom/vmlinuz
l4linux | External resolver is at 0xa80006e0
l4linux | ======> L4Linux 2.6 starting... <========
l4linux | Linux version 3.0.0-l4-svn23 ([email protected])
(gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) ) #10 Wed Jun 27 16:00:19 PDT
2012
l4linux | Binary name: rom/vmlinuz
l4linux | Linux kernel command line (2 args): mem=200M console=ttyLv0
l4linux | Configuration checks disabled, you know what you're doing.
l4linux | CPU mapping (l:p)[1]: 0:0
l4linux | Image: 00400000 - 00d36000 [9432 KiB].
l4linux | Areas: Text:     00400000 - 005d1000 [1860kB] (a bit longer)
l4linux |        Data:     005d1000 - 005edc60 [115kB]
l4linux |        Initdata: 005ef000 - 00c96000 [6812kB]
l4linux |        BSS:      00c96000 - 00d26000 [576kB]
l4linux | gs=43   fs=43
l4linux | Device scan:
l4linux | l4x_fiasco_gdt_entry_offset = 9

Then it just stops.  What's happened here? Should I see more output? Or
does the kernel output go somewhere else? I've compiled my kernel with an
initramfs that does an "echo hello init" at the beginning of init, but I
never see that.

Do I need to worry about that 'icu' 'No such object found'? I tried adding
a capability to icu for l4linux, but that didn't seem to help.

Also, I'm having trouble getting my io config correct. IO prints out:
io      | Loading: config 'rom/l4lx-virtio.io'
io      | rom/l4lx-virtio.io:7.37-50: warning: could not find 'PCI/VEN_1AF4'

but then later on I see:

io      |     P6Device: S4__ ""
io      |     Hw::Device[S4__]
io      |       0000:00:04.0: display controller [0]
io      |                     0x1af4 0x1000
io      |                     Red Hat, Inc Virtio network device
io      |       IOPORT  [0000000000c000-0000000000c03f 40] non-pref (32bit)
(align=3f flags=4a03)
io      |       IRQ     [0000000000000b-0000000000000b 1] level high
(32bit) (align=0 flags=104201)

What's up with that?

Here's my settings:

modules.list:

entry L4Linux-virtio
kernel fiasco -serial_esc
roottask moe rom/l4lx-virtio.cfg
module l4re
module ned
module l4lx-virtio.cfg
module io
module rtc
module x86-legacy.devs
module l4lx-virtio.io
module vmlinuz


l4lx-virtio.cfg

loader = L4.default_loader;

bus_linux = loader:new_channel();
bus_rtc = loader:new_channel();
rtc_cap = loader:new_channel();

loader:start({
  caps = {
    rom = rom;
    sigma0 = L4.cast(L4.Proto.Factory,
L4.Env.sigma0):create(L4.Proto.Sigma0);
    l4linux = bus_linux:svr();
    icu = L4.Env.icu;
    rtc_bus = bus_rtc:svr();
  },
  log = { "io", "red" },
}, "rom/io -vvvv rom/x86-legacy.devs rom/l4lx-virtio.io");

loader:start({
  caps = {
    rom = rom;
    vbus = bus_rtc;
    rtc = rtc_cap:svr();
  },
  log = { "rtc", "green" },
}, "rom/rtc");

L4.default_loader:start(
  { caps = {
      log = L4.Env.log:m("rws");
      vbus = bus_linux;
      rtc = rtc_cap;
    },
    l4re_dbg = L4.Dbg.Warn,
    log = { "l4linux", "yellow" },
  },
  "rom/vmlinuz mem=200M console=ttyLv0 ");

l4lx-virtio.io

l4linux => new System_bus()
{
  # Add a new virtual PCI root bridge
  PCI0 => new PCI_bus()
  {
    # Allow access to virtio devices.
    pci_l4x[] => wrap(hw-root.match("PCI/VEN_1AF4"));
  }
}

_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.