Hello,everyone: I have built a parport server based on dde, and test it through on fiasco. Now I want to booting it together with l4linux, but there are conflict occured. 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. 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. ................................ How can I do could make the parport server run together with the l4linux, or to make it could access the port it needed? Any help is precious.
Best Regards! ding
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
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?
Bjoern
l4-hackers@os.inf.tu-dresden.de