problem about ipc
gaober
gaober at yahoo.com.cn
Tue Jul 10 16:09:30 CEST 2012
>> 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!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20120710/77e3fcdc/attachment.htm>
More information about the l4-hackers
mailing list