>----- Original Message ---- >From: Christoph Mallon <[EMAIL PROTECTED]> > > Won De Erick schrieb: >>> ----- Original Message ---- >> >>> From: Rink Springer <[EMAIL PROTECTED]> >>> >>> >> On Mon, Dec 01, 2008 at 09:38:51AM +0100, Christoph Mallon wrote: >>>> Userland is not allowed to write to ports. That's the bus error you see. >>>> Also without a call to the exit syscall at the end, it will segfault. >>> Note that you can write to ports from userland by opening /dev/io - if >>> you have it opened, you can write to the ports. >>> >> >> I've added the following at the end >> >> mov eax, 1 ; SYS_exit >> call doint >> >> doint: >> int 0x80 >> ret >> >> Besides, I can see the following at /dev >> crw------- 1 root wheel 0, 16 Nov 27 01:53 io >> >> How should I make this open? do i need to %include this? > >You're probably better of writing this in C. Here is a wrapper for the out >instruction: > >static inline outb(unsigned short port, unsigned char data) >{ > asm("outb %0, %1" : : "a" (data), "dN" (port)); >} > >As Rink mentioned, you have to open /dev/io. The process must have super-user >privileges, see io(4).
will this be ok? int fd = open("/dev/fido", O_RDWR); > >Regards > Christoph _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"