problem about ipc

gaober <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>

>>  2.l4_ipc_error( ),return 4,i look up in l4re document it means
>> L4_ENOT_EXISTENT.but how can i solve that?
>The documentation in the header file (pkg/l4sys/include/ipc.h) is quite clear about the error source:
>L4_IPC_ENOT_EXISTENT    = 0x04, /**< Non-existing destination or source.
>could you please give us a minimal code example (including the lua script and both communcation partners) that >causes this? You communication partner has probably terminated or something like that.
i want to use touchscreen on my omap3530 board.then i add REQUIRES_LIBS_arm = libdrivers-input in file pkg/input/lib/src/makefie. then in function tsc_irq_func( ) in file pkg/drivers/input/src/tsc-omap3.c , l4_ipc_err( tag,l4_utcb()) return 4.


the arm-omap3.devs 
# OMAP3 (OMAP3EVM, Beagleboard)

hw-root
{
  sys => new Device()
  {
    .hid = "System Control";
    new-res Mmio(0x48002000 .. 0x48002fff);
    new-res Mmio(0x48004000 .. 0x48004fff);
  }

  prcm => new Device()
  {
    .hid = "OMAP PRCM";
    new-res Mmio(0x48004000 .. 0x48004fff);
    new-res Mmio(0x48005000 .. 0x48005fff);
  }

  gpio => new Device()
  {
    .hid = "GPIO";
    new-res Mmio(0x48004000 .. 0x48004fff);
    new-res Mmio(0x48310000 .. 0x48310fff);
    new-res Mmio(0x49050000 .. 0x49050fff);
    new-res Mmio(0x49052000 .. 0x49052fff);
    new-res Mmio(0x49054000 .. 0x49054fff);
    new-res Mmio(0x49056000 .. 0x49056fff);
    new-res Mmio(0x49058000 .. 0x49058fff);
  }

  lcd => new Device()
  {
    .hid = "OMAP_LCD";
    new-res Mmio(0x48050000 .. 0x48050fff);
  }

  i2c1 => new Device()
  {
    .hid = "I2C";
    new-res Mmio(0x48070000 .. 0x48070fff);
  }

  kp => new Device()
  {
    .hid = "OMAP_KP";
    new-res Mmio(0x48070000 .. 0x48070fff);
  }

  mcspi => new Device()
  {
    .hid = "McSPI";
    new-res Mmio(0x48098000 .. 0x48098fff);
  }

  tsc => new Device()
  {
    .hid = "OMAP_TSC";
    new-res Mmio(0x48098000 .. 0x48098fff);
    new-res Irq(32);
  }
}


the l4_android-arm.vbus file is
# vim:set ft=ioconfig:
# configuration file for io

gui => new System_bus()
{
  #KBD => wrap(hw-root.KBD);
  #MOUSE => wrap(hw-root.MOUSE);
  tsc => wrap(hw-root.tsc);
  mcspi => wrap(hw-root.mcspi);
  kp => wrap(hw-root.kp);
  i2c1 => wrap(hw-root.i2c1);

  gpio => wrap(hw-root.gpio);
}

fbdrv => new System_bus()
{
  sys => wrap(hw-root.sys);
  lcd => wrap(hw-root.lcd);
}

android_bus => new System_bus()
{
}

the cfg file is
require("L4");

local lxname = "vmlinuz.android";
local l = L4.default_loader;

local io_caps = {
  sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0);
  gui = L4.default_loader:new_channel():svr();
  android_bus = L4.default_loader:new_channel():svr();
  fbdrv = L4.default_loader:new_channel():svr();
  rom = L4.Env.rom;
  icu = L4.Env.icu;
};

local fb_caps = {
    vbus = io_caps.fbdrv;
    rom = L4.Env.rom;
    fb = L4.default_loader:new_channel():svr();
};

L4.default_loader:startv(
  {
    caps = io_caps,
    log = { "io", "red" },
  },
  "rom/io", "rom/arm-omap3.devs", "rom/l4_android-arm.vbus");

L4.default_loader:startv(
        {
        caps = fb_caps,
        log =  { "fb", "cyan" },
        },
        "rom/fb-drv");


local mag_caps = {
mag = l:new_channel(),
svc = l:new_channel(),
};

l:start({
          caps = {
    vbus = io_caps.gui,
    fb   = fb_caps.fb,
    mag  = mag_caps.mag:svr(),
    svc  = mag_caps.svc:svr(),
  },
          log      = { "mag", "g" },
  l4re_dbg = L4.Dbg.Warn,
        },
"rom/mag");

local android_caps = {
  log = L4.Env.log:m("rws");
  vbus = io_caps.android_bus;
  rom = L4.Env.rom;
  fb = mag_caps.svc:create(L4.Proto.Goos, "g=800x476+0+0");
};

L4.default_loader:start(
  {
    caps = android_caps,
    l4re_dbg = L4.Dbg.Warn,
    log = { "android", "yellow" },
  },
  "rom/" .. lxname .. " console=ttyLv0 androidboot.console=ttyLv0 mem=128M l4bdds.add=rom/system-arm-ginger.img,rw boot=local android.ril=ttyLv1 ip=dhcp l4x_rd=rom/root-arm-ginger.img rw root=1:0 ramdisk_size=1500 init=/init --debug l4fb.touchscreen=1");

thanks!

_______________________________________________
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.