Watchdog for Boser (HS-7001)
Won De Erick
won.derick at yahoo.com
Wed Dec 10 20:52:50 PST 2008
Christoph Mallon wrote:
Won De Erick schrieb:
>>> ----- Original Message ----
>>> From: Rink Springer <rink at FreeBSD.org>
>> 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
>> int 0x80
>> 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).
OK thanks for all the tips. I have now a working watchdog. :)
More information about the freebsd-hackers