Hey Fabrizio, I'm sorry we took so long to get back to you:
The underlying problem here is that we haven't yet finished defining and implementing a driver framework for our userspace code, so in order to satisfy dependencies, we began stuffing them into the io_ops struct. So since lots of devices depend on an initialized mux driver, what you see here is the result of that, unfortunately -- the good news is that we're currently defining a driver framework internally (https://docs.sel4.systems/
seL4DriverAPI/ is one of the draft pages of documentation -- but none of this is finalized) over the course of this year.ChildEnumeration.html
What I'd recommend is that you use the helper function, mux_sys_valid() in mux.h (https://github.com/seL4/util_
libs/blob/master/ ) inside of the ethernet driver, and map the whole 16K range inside of the IO-Ops initializer -- essentially what's going on there is that there's a dependency on the mux driver that's satisfied by the IO-Ops object.libplatsupport/arch_include/ arm/platsupport/mux.h#L35
Thanks very much for your patience, and this sort of thing should be cleaned up soon.
Yours truly,
--Kofi Doku Atuah
Kernel engineer
DATA61 | CSIRO
_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel