My problem of I/O port

Björn Döbel doebel at
Wed Sep 2 11:46:31 CEST 2009

Hash: SHA1


>          And I have some questions to ask:
>         1. I used the l4linux-2.6.30 kernel, now to booting it besides
> fiasco default config, there is
>                 [ *] Enable I/O port protection
>             feature must need, isn't it?
>             It not needed in l4linux-2.6.23 kernel or earlier.

This is not a Linux feature, but one from the Fiasco kernel. You should
have it enabled by default. It basically prevents applications from
accessing I/O ports unless they are the first to access these.
Otherwise, your application needs to get them mapped (using an I/O
flexpage) from an application that has access to the IO/ ports.

>         2. Will this feature prevent the other server to access to the io
> port?
>             I seems meeting this problem, my parport server(#b) want to
> access the port 077a, but system say the owner is #a(l4io), even I set the
> parport priority higher than l4io, it also the same problem. the last error
> message is like follow:
>            ...............................
>            server  | <6>parport0: PC-style at 0x378 [PCSPP,TRISTATE]
>            server  | <6>parport0: irq 7 detected
>            ROOT: Cannot send port 077a to task #0b, owner is #a
>            ROOT: task B.00 at 01804299 is trying to get I/O port 077a
> allocated by task 0b.

What are tasks A and B? Assuming A is your parport server and B is L4IO,
then you need to call l4io_request_region() to retrieve the ports you
want to access from L4IO. As your parport server is DDE-based you can
also do this using Linux' means (request_region()).

>            ................................
>          How can I do could make the parport server run together with the
> l4linux, or to make it could access the port it needed?

I don't see where L4Linux comes into play here?

Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla -


More information about the l4-hackers mailing list