>From: Won De Erick <[EMAIL PROTECTED]> >>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); > aww.. i mean int sio = open("/dev/io", O_RDWR); > >> >>Regards >> Christoph
_______________________________________________ freebsd-hardware@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hardware To unsubscribe, send any mail to "[EMAIL PROTECTED]"