Dear L4Hackers,
I have a problem running the example "isr" in the pkg/examples/sys/isr folder in l4 source. It prints "isr | Press keys now, Shift-Q to exit" then It fails to detect any interrupts and just keeps waiting. My configuration is as follows, emulated using Qemu on vexpress-a15 machine:
modules.list:
entry isr kernel fiasco -jdb_cmd=JS -serial_esc roottask moe rom/ex_isr.cfg module ex_isr.cfg module isr module ned module l4re module keyboard.io module arm-ve.devs module io module cons
arm-ve.devs: -- vim:set ft=lua:
local Res = Io.Res local Hw = Io.Hw
Io.hw_add_devices(function() KBD = Hw.Device(function() Property.hid = "AMBA KMI Kbd"; compatible = {"arm,pl050","arm,primecell"}; Resource.irq = Res.irq(44); Resource.regs = Res.mmio(0x1c060000, 0x1c060010); end); end)
keyboard.io: local hw = Io.system_bus();
Io.add_vbus("keyboard", Io.Vi.System_bus { amba = wrap(hw:match("arm,pl050")); })
ex_isr.cfg: local L4 = require("L4");
local loader = L4.default_loader; vbus_key = loader:new_channel();
local cons = loader:new_channel(); loader:start( { caps = { cons = cons:svr() }, log = L4.Env.log, }, "rom/cons -k -a" );
L4.default_loader.log_fab = cons;
loader:start( { caps = { sigma0 = L4.cast(L4.Proto.Factory,L4.Env.sigma0):create(L4.Proto.Sigma0); icu = L4.Env.icu; keyboard = vbus_key:svr(); }, l4re_dbg = L4.Dbg.Boot, log = {"IO", "magenta"}, }, "rom/io -vvv rom/arm-ve.devs rom/keyboard.io");
loader:start({ caps = { icu = L4.Env.icu; vbus = vbus_key }, log = {"isr", "cyan", "key=1"}, }, "rom/isr");
where "rom/isr" refers to the example file "isr/main.c" provided.
Thank you so much Nourhan
On Wed Mar 02, 2016 at 16:47:03 +0100, Nourhan Mohamed wrote:
Dear L4Hackers,
I have a problem running the example "isr" in the pkg/examples/sys/isr folder in l4 source. It prints "isr | Press keys now, Shift-Q to exit" then It fails to detect any interrupts and just keeps waiting. My configuration is as follows, emulated using Qemu on vexpress-a15 machine:
This example is somewhat special because it goes for IRQ 1 which is the PS/2 keyboard interrupt on x86. The pl050 is basically the same so you could just change the number in the example to 44. But I guess there's some more work required to init the controller as there's no magic x86 BIOS that already did it.
Adam
Dear Adam,
Thank you for your reply! I have already changed the IRQ no inside the code to 44. But could you give me more insight on what needs to be modified to capture the interrupt on an ARM device?
Thanks again, Nourhan
On Thu, Mar 10, 2016 at 12:22 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
On Wed Mar 02, 2016 at 16:47:03 +0100, Nourhan Mohamed wrote:
Dear L4Hackers,
I have a problem running the example "isr" in the pkg/examples/sys/isr folder in l4 source. It prints "isr | Press keys now, Shift-Q to
exit"
then It fails to detect any interrupts and just keeps waiting. My configuration is as follows, emulated using Qemu on vexpress-a15 machine:
This example is somewhat special because it goes for IRQ 1 which is the PS/2 keyboard interrupt on x86. The pl050 is basically the same so you could just change the number in the example to 44. But I guess there's some more work required to init the controller as there's no magic x86 BIOS that already did it.
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi,
On Sat Mar 12, 2016 at 14:09:20 +0100, Nourhan Mohamed wrote:
Thank you for your reply! I have already changed the IRQ no inside the code to 44. But could you give me more insight on what needs to be modified to capture the interrupt on an ARM device?
You need to have/write the driver for that. Likely the pl050 is not initialized, thus does not trigger any interrupts. It's a driver...
Adam
On Thu, Mar 10, 2016 at 12:22 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
On Wed Mar 02, 2016 at 16:47:03 +0100, Nourhan Mohamed wrote:
Dear L4Hackers,
I have a problem running the example "isr" in the pkg/examples/sys/isr folder in l4 source. It prints "isr | Press keys now, Shift-Q to
exit"
then It fails to detect any interrupts and just keeps waiting. My configuration is as follows, emulated using Qemu on vexpress-a15 machine:
This example is somewhat special because it goes for IRQ 1 which is the PS/2 keyboard interrupt on x86. The pl050 is basically the same so you could just change the number in the example to 44. But I guess there's some more work required to init the controller as there's no magic x86 BIOS that already did it.
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Adam
l4-hackers@os.inf.tu-dresden.de