On 7/9/09 1:08 PM, Mark Rivers wrote:
> Folks,
>
> I have an EPICS application that directly accesses the parallel port
> (EPP) registers from user space on Linux. This is to communicate
> with an XIA Saturn spectroscopy module.
>
> In order versions of Linux this worked fine if I ran the application
> as root, or by calling iopl(3) as root before exec-ing the EPICS
> application.
>
> I am now trying to run this under a recent Linux (Redhat Fedora)
> version
>
> baja:~>more /proc/version
>
> Linux version 2.6.26.8-57.fc8
> ([email protected])
>
> (gcc version 4.1.2 20070925 (Red Hat 4.1.2-33))
>
> #1 SMP Thu Dec 18 18:59:49 EST 2008
>
> The EPICS IOC now crashes with a segmentation fault when trying to
> access the EPP port, even when running as root, and the following
> entry appears in /var/log/messages
>
> Jul 9 11:43:44 baja kernel: dxpApp[27837] general protection
> ip:80a90a6 sp:ff8ea8ac error:0 in dxpApp[8048000+1f7000]
>
> Does anyone know what one needs to do in recent Linux versions to
> get access to the IO registers from user-space?
Hi, Mark.
Is the iopl(3) call succeeding? FYI, I noticed in dxp version 2-9 in
line 893 of dxpApp/src/drvDxp.c, the return status of the iopl(3) call
is not checked.
Also, some instructional documents I've read said, if using GCC, one
must compile with the -O option (?).
Lewis
- References:
- Access to IO registers from user-space in recent Linux versions Mark Rivers
- Navigate by Date:
- Prev:
RE: Access to IO registers from user-space in recent Linux versions Mark Rivers
- Next:
POSIX signals in Epics Pearson, MR (Matthew)
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Access to IO registers from user-space in recent Linux versions John Sinclair
- Next:
POSIX signals in Epics Pearson, MR (Matthew)
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|