From: Peter Lemenkov <hidden> Date: 2007-10-06 20:47:55
Hello All!
I can't compile one small software title because of lack <sys/io.h>
and inb/outb macros. What sould I do to overcome this obstacle?
My linux distro is Fedora 7 if it is matter.
--
With best regards!
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2007-10-06 21:08:10
On Sun, 2007-10-07 at 00:47 +0400, Peter Lemenkov wrote:
Hello All!
I can't compile one small software title because of lack <sys/io.h>
and inb/outb macros. What sould I do to overcome this obstacle?
My linux distro is Fedora 7 if it is matter.
They don't exist in user space on non-x86. You have to do things
differently. What is your software trying to do ? If it's trying to
access a PCI device IO space, you probably want to mmap it in sysfs and
write your own accessors with appropriate memory barriers.
Ben
On Saturday 06 October 2007, Benjamin Herrenschmidt wrote:
On Sun, 2007-10-07 at 00:47 +0400, Peter Lemenkov wrote:
quoted
Hello All!
I can't compile one small software title because of lack <sys/io.h>
and inb/outb macros. What sould I do to overcome this obstacle?
My linux distro is Fedora 7 if it is matter.
They don't exist in user space on non-x86. You have to do things
differently. What is your software trying to do ? If it's trying to
access a PCI device IO space, you probably want to mmap it in sysfs and
write your own accessors with appropriate memory barriers.
All cases where I've seen application software use <sys/io.h>, there was
actually a full device driver in the kernel that already exported a
high-level interface to user space. If that's the case here, the application
should use that instead of sysfs.
Arnd <><
inb/outb could be used from the usr space on x86 class PC-computer to access
to io ports this is what i assume that you are trying
You need to compile the program with -O option (expantion of Inline function
)
To perform io operation on ports ioprem/iopl system call must be used (To
get permissio to perform io operation)
Program must run as root
on non 86 platform try using /dev/port device file in the application
misbah
Arnd Bergmann wrote:
On Saturday 06 October 2007, Benjamin Herrenschmidt wrote:
quoted
On Sun, 2007-10-07 at 00:47 +0400, Peter Lemenkov wrote:
quoted
Hello All!
I can't compile one small software title because of lack <sys/io.h>
and inb/outb macros. What sould I do to overcome this obstacle?
My linux distro is Fedora 7 if it is matter.
They don't exist in user space on non-x86. You have to do things
differently. What is your software trying to do ? If it's trying to
access a PCI device IO space, you probably want to mmap it in sysfs and
write your own accessors with appropriate memory barriers.
All cases where I've seen application software use <sys/io.h>, there was
actually a full device driver in the kernel that already exported a
high-level interface to user space. If that's the case here, the
application
should use that instead of sysfs.
Arnd <><
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2007-10-08 08:12:07
On Mon, 2007-10-08 at 00:09 -0700, Misbah khan wrote:
inb/outb could be used from the usr space on x86 class PC-computer to access
to io ports this is what i assume that you are trying
You need to compile the program with -O option (expantion of Inline function
)
To perform io operation on ports ioprem/iopl system call must be used (To
get permissio to perform io operation)
Program must run as root
on non 86 platform try using /dev/port device file in the application
"io ports" don't mean much on non-x86 platforms (or rather can have
multiple meanings) which is why I'm asking what is he trying to od in
the first place.
Ben.