Freebsd assembly programming - IN/OUT commands.

Peter Pentchev roam at ringlet.net
Sun Oct 17 07:46:01 PDT 2004


On Sun, Oct 17, 2004 at 04:00:57PM +0300, Giorgos Keramidas wrote:
> On 2004-10-16 14:03, Jan Opacki <opacki at acn.waw.pl> wrote:
> > I had a short look at your fbd assembly tutorial. I'm have a such
> > problem useing IN, OUT commands. In my case i want to "speak" with cmos
> > by port 70 and 71. We both know that fbsd as same as linux works in safe
> > mode. So we need a permission to use each port. In linux it's a system
> > call sys_ioperm (http://www.die.net/doc/linux/man/man2/ioperm.2.html).
> > How to ask FreeBSD to allow us to use those ports ? And then we could
> > simply do:
> >         mov al, 0
> >         out 70h, al
> >         nop
> >         nop
> >         nop
> >         nop
> >         in al, 71h
> > Do you haveny any idea ?
> 
> Look at the io(4) manpage.  You need superuser access to work with
> /dev/io and even then your program should be very careful about not
> messing up badly with the hardware, but I think it does what you need.

Of course, a bit more controlled way (as described in the io(4) manpage,
too), would be to use the i386_set_ioperm(2) syscall :)  It is a bit
non-portable, true, but since Jan uses MASM-style assembly and mentions
ports 70h and 71h, I think it would do what he needs.

G'luck,
Peter

-- 
Peter Pentchev	roam at ringlet.net    roam at cnsys.bg    roam at FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
This inert sentence is my body, but my soul is alive, dancing in the sparks of your brain.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20041017/7ccf82ed/attachment.bin


More information about the freebsd-hackers mailing list