Date: Thu, 1 Jun 2000 09:57:07 +0100 (BST) From: Mac <mac@ngo.org.uk> To: ben@scientia.demon.co.uk (Ben Smithurst) Cc: freebsd-questions@freebsd.org Subject: Re: Writing a value to an IO (mem mapped) port Message-ID: <200006010857.JAA20643@ngo.org.uk> In-Reply-To: <20000531192931.Q99925@strontium.scientia.demon.co.uk> from Ben Smithurst at "May 31, 0 07:29:31 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Ben Smithurst Wrote
> Mac wrote:
>
> > However under FreeBSD, although the function seems to exist to do this
> > in /usr/include/machine/cpufunc.h, I get Bus Errors every time I try.
> >
> > fred.c looks like this:-
> >
> > #include <sys/types.h>
> > #include <machine/cpufunc.h>
> >
> > main()
> > {
> > outb(0x181,0)
> > }
> >
> > And compiles OKay.
>
> "man i386_set_ioperm" might help you. I'm guessing you'll want to call
>
> i386_set_ioperm(0x181, 1, 1);
>
> before the call to outb(), but as I've never used this function I can't
> be sure exactly.
>
Right, next question.
I can't get i386_{set,get}_ioperm to work. All attempts at calling these functions
result in a return value of -1 (errno=22 (EINVAL)).
Code I'm using looks like this:-
#include <errno.h>
#include <machine/sysarch.h>
main()
{
unsigned int port;
unsigned int *length;
int *enable;
int res;
port = 0x180;
res = i386_get_ioperm(port,length,enable);
[then a whole string of printf statements]
}
Any one know what I'm doing wrong?
Mac
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200006010857.JAA20643>
