ioperm() with ports above 0x3ff

Samuel Thibault samuel.thibault@ens-lyon.org
Thu Feb 21 22:46:00 GMT 2008


Hello,

Andrew Dyer, le Mon 18 Feb 2008 21:15:42 +0000, a écrit :
> I am having problems using ioperm() to try and access a parallel printer port on
> a PCI card in my system running WinXP.  The port is mapped to I/O port address
> 0xDCD8.  I cannot access the port because the ioperm() driver has a check to
> limit I/O port accesses to < 0x400.

Yes: on Linux ioperm doesn't work above 0x400.  On Linux, so as to
access ports above 0x400 you need to use iopl(), that's why ioperm in
cygwin does this.  Now, allowing >= 0x400 would be possible in cygwin's
ioperm, but then you'd get problems when using the code on Linux...  The
truly proper way is really to use iopl().

Samuel

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list