Hello Reinier,

> After that, I have tried to log the USB driver IRQ, setting
> 
>     #define DEBUG_IRQ        1
> 
> in the file
> 
>     repos/dde_linux/src/lib/usb/include/lx_emul.h
> 
> Setting this value, the USB driver will log every IRQ handled by the
> function *_handle()* and *_handle_one()***in the USB driver. In the
> Genode bare metal hardware it works fine, but when tried it with
> Fiasco.OC, the IRQ handler *_handle()* and *_handle_one()* are never logged.

apparently, the USB driver initializes the USB controller (so the SoF
interrupts start appearing at the kernel) but it never receives any
interrupt. The issue could be the way of how IRQs are named by Fiasco.OC
and base-hw. Because of the hierarchic way of how the BCM's IRQ
controller works, the OS kernel developer has to come up with an
enumeration scheme. The scheme I introduced for the base-hw kernel is
defined at repos/base/include/platform/rpi/drivers/board_base.h:


https://github.com/genodelabs/genode/blob/master/repos/base/include/platform/rpi/drivers/board_base.h

/*
 * IRQ numbers 0..7 refer to the basic IRQs.
 * IRQ numbers 8..39 refer to GPU IRQs 0..31.
 * IRQ numbers 40..71 refer to GPU IRQs 32..63.
 */

The DWC-OTG controller uses IRQ 17. So it is not a basic IRQ. Hence, its
number is subjected to the enumeration scheme above. I do not know how
Fiasco.OC's naming scheme for IRQs on the Raspberry Pi looks like but it
may be different. To investigate, I'd recommend you to instrument both
kernels to log the accesses to the interrupt-controller registers. Look
if each of them touch the same bits once the USB driver is started.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
genode-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to