Hello,
If I create a new factory and using it to create a new task, can I map capability slots in this new task to some slots in a task that is created by an old (different) factory?
Thanks. Chen
I think the answer is yes. It seems that the mapping can always be done between any two children tasks via their lowest common ancestor.
On Mon, Sep 19, 2011 at 9:45 AM, Chen Tian chen.tian@acm.org wrote:
Hello,
If I create a new factory and using it to create a new task, can I map capability slots in this new task to some slots in a task that is created by an old (different) factory?
Thanks. Chen
Hi,
L4Android is booting up and running on my BeagleBoard (rev. C4), although in command line mode only. So it would be nice getting even the framebuffer to work, in order to see the Android GUI over video output.
As it is now, the framebuffer seems loading at boot time, but I don't get any video output from HDMI/DVI neither from the touchscreen (Beagletouch from Liquidware). Please see [1] for the bootstrap log.
Maybe this is due the missing drivers in the kernel, since when configuring (ie. menuconfig) the l4android kernel, I see 'System type' pointing to 'L4Linux', but some OMAP3 related drivers are only visible and thus available, when 'TI_OMAP' is selected in the 'System type' config parameter.
Is there a way to build Linux for L4 as target, but including OMAP3 (video/multimedia) drivers?
I did not found any docs on this topic.
Is it possible to load linux drivers without having to modify the underlying parts (fiasco/L4Re)? I mean do I have to add something to my omap3.devs file, or are the linux driver able to interact directly with the hardware on board?
So far, you can see my arm-omap3.devs file here [2]. Am I missing something important in that device file? Since I copied it from the original L4Re source directory.
Thanks, Giorgio
[1] Bootstrap - http://pastebin.com/GwvN9W6e [2] devs file - http://pastebin.com/Aq4xt58i [3] vbus file - http://pastebin.com/cmxEZJyb [4] cfg file - http://pastebin.com/qdYzyRcd
On Tue Sep 20, 2011 at 13:52:47 +0200, giowck wrote:
L4Android is booting up and running on my BeagleBoard (rev. C4), although in command line mode only. So it would be nice getting even the framebuffer to work, in order to see the Android GUI over video output.
As it is now, the framebuffer seems loading at boot time, but I don't get any video output from HDMI/DVI neither from the touchscreen (Beagletouch from Liquidware). Please see [1] for the bootstrap log.
The LCD driver which is in there only hijacks what u-boot has already setup. It doesn't do any initialization on its own.
Maybe this is due the missing drivers in the kernel, since when configuring (ie. menuconfig) the l4android kernel, I see 'System type' pointing to 'L4Linux', but some OMAP3 related drivers are only visible and thus available, when 'TI_OMAP' is selected in the 'System type' config parameter.
Is there a way to build Linux for L4 as target, but including OMAP3 (video/multimedia) drivers?
Not possible. Requires considerable effort to make this possible.
I did not found any docs on this topic.
Is it possible to load linux drivers without having to modify the underlying parts (fiasco/L4Re)? I mean do I have to add something to my omap3.devs file, or are the linux driver able to interact directly with the hardware on board?
Difficult. On ARM the drivers usually have cross dependencies to other modules of which some are handling core functionality which one does not want to pass to a VM.
Adam
Hi,
I'm trying to figure out how to get the framebuffer working on my beagleboard using the spectrum example.
I noticed the following errors in my bootstrap log:
mag | l4drv: Could not find driver for OMAP_TSC. mag | l4drv: Could not find driver for OMAP_KP. spectrum| x:640 y:480 bit/pixel:16 bytes/line:960
Please see [1] for the full log. How do I fix this? How do I include those drivers?
Anyway, are any further steps required to make the LCD work? Because here [2], Adam says that U-Boot should configure my LCD display and that l4fb uses those settings.
Hope you can help me.
Thanks Giorgio
[1] http://pastebin.com/RH2WBy1U [2] http://os.inf.tu-dresden.de/pipermail/l4-hackers/2011/004869.html and http://os.inf.tu-dresden.de/pipermail/l4-hackers/2011/005009.html
my config files:
----------------------------------------------------------------------- arm-bb-lcd.io
gui => new System_bus() { #KBD => wrap(hw-root.KBD); #MOUSE => wrap(hw-root.MOUSE); }
fbdrv => new System_bus() { CTRL => wrap(hw-root.CTRL); LCD => wrap(hw-root.LCD); } ----------------------------------------------------------------------- arm-omap4.devs
hw-root { CTRL => 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); } } ----------------------------------------------------------------------- arm-bb-lcd.cfg
require("L4");
local l = L4.default_loader;
local io_buses = { gui = l:new_channel(); fbdrv = l:new_channel(); };
l:start({ caps = { gui = io_buses.gui:svr(), fbdrv = io_buses.fbdrv:svr(),
icu = L4.Env.icu, sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0), }, log = { "IO", "y" }, l4re_dbg = L4.Dbg.Warn, }, "rom/io rom/arm-omap3.devs rom/arm-bb-lcd.io");
local fbdrv_fb = l:new_channel();
l:startv({ caps = { vbus = io_buses.fbdrv, fb = fbdrv_fb:svr(), }, log = { "fbdrv", "r" }, l4re_dbg = L4.Dbg.Warn, }, "rom/fb-drv", "-c", "1024 565 bgr");
local mag_caps = { mag = l:new_channel(), svc = l:new_channel(), };
l:start({ caps = { vbus = io_buses.gui, fb = fbdrv_fb, mag = mag_caps.mag:svr(), svc = mag_caps.svc:svr(), }, log = { "mag", "g" }, l4re_dbg = L4.Dbg.Warn, -- scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0xa0, 0x80), }, "rom/mag");
e = l:start({ caps = { fb = mag_caps.svc:create(L4.Proto.Goos, "g=640x480"), }, log = { "spectrum", "b" }, l4re_dbg = L4.Dbg.Warn, -- scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8), }, "rom/ex_fb_spectrum"); print("ex_fb_spectrum exited with: " .. e:wait());
Hi,
On Mon Sep 26, 2011 at 13:23:44 +0200, giowck wrote:
I'm trying to figure out how to get the framebuffer working on my beagleboard using the spectrum example.
I noticed the following errors in my bootstrap log:
mag | l4drv: Could not find driver for OMAP_TSC. mag | l4drv: Could not find driver for OMAP_KP. spectrum| x:640 y:480 bit/pixel:16 bytes/line:960
Please see [1] for the full log. How do I fix this? How do I include those drivers?
Those have nothing to do with the display and the beagleboard.
Anyway, are any further steps required to make the LCD work? Because here [2], Adam says that U-Boot should configure my LCD display and that l4fb uses those settings.
The output looks good. Does u-boot actually show a logo on the display when you power the board up?
Adam
Hi,
On 09/28/2011 02:51 PM, Adam Lackorzynski wrote:
Hi,
On Mon Sep 26, 2011 at 13:23:44 +0200, giowck wrote:
I'm trying to figure out how to get the framebuffer working on my beagleboard using the spectrum example.
I noticed the following errors in my bootstrap log:
mag | l4drv: Could not find driver for OMAP_TSC. mag | l4drv: Could not find driver for OMAP_KP. spectrum| x:640 y:480 bit/pixel:16 bytes/line:960
Please see [1] for the full log. How do I fix this? How do I include those drivers?
Those have nothing to do with the display and the beagleboard.
ok, thanks.
Anyway, are any further steps required to make the LCD work? Because here [2], Adam says that U-Boot should configure my LCD display and that l4fb uses those settings.
The output looks good. Does u-boot actually show a logo on the display when you power the board up?
Actually I don't see any logo on power on. But the LCD display (dvi and beagletouch) works on other linux distributions such as Angstrom.
May I need to reconfigure by source and reflash U-Boot on my board?
Adam
Thanks in advance Giorgio
On Thu Sep 29, 2011 at 19:18:10 +0200, giowck wrote:
On 09/28/2011 02:51 PM, Adam Lackorzynski wrote:
Anyway, are any further steps required to make the LCD work? Because here [2], Adam says that U-Boot should configure my LCD display and that l4fb uses those settings.
The output looks good. Does u-boot actually show a logo on the display when you power the board up?
Actually I don't see any logo on power on. But the LCD display (dvi and beagletouch) works on other linux distributions such as Angstrom.
May I need to reconfigure by source and reflash U-Boot on my board?
Hmm, actually I'm not sure right now whether I'm mixing up beagleboard with pandaboard. On one u-boot is displaying a logo on the HDMI and there the driver should be working. Guess that was Pandaboard then.
Adam
Hi,
On Mon Sep 19, 2011 at 13:05:22 -0800, Chen Tian wrote:
I think the answer is yes. It seems that the mapping can always be done between any two children tasks via their lowest common ancestor.
Mappings can be done between any tasks. Either because the receiver accepts a mapping or someone has a cap of another task in which it can map into.
On Mon, Sep 19, 2011 at 9:45 AM, Chen Tian chen.tian@acm.org wrote:
If I create a new factory and using it to create a new task, can I map capability slots in this new task to some slots in a task that is created by an old (different) factory?
Adam
l4-hackers@os.inf.tu-dresden.de