From: Ian Romanick <idr@us.ibm.com>
To: lkml <linux-kernel@vger.kernel.org>
Subject: Re: Special handling of sysfs device resource files?
Date: Tue, 11 Apr 2006 16:59:38 -0700 [thread overview]
Message-ID: <443C42EA.1050608@us.ibm.com> (raw)
In-Reply-To: <443C1ECA.1040308@us.ibm.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ian Romanick wrote:
> I'm in the process of modifying X to be civilized in it's handling of
> PCI devices on Linux. As part of that, I've modified it to map the
> /sys/bus/pci/device/*/resource[0-6] files instead of mucking about with
> /dev/mem.
>
> This seems to mostly work, but I am having one problem. I map the
> region by opening the file with O_RDWR, then mmap with
> (PROT_READ|PROT_WRITE) and MAP_SHARED. In all cases, the open and mmap
> succeed. However, for I/O BARs, the resulting pointer from mmap is
> invalid. Any access to it results in a segfault and GDB says it's "out
> of range".
I was a little mistaken about this. The BAR that causes the problem is
not I/O. It *is* memory.
01:00.0 VGA compatible controller: Matrox Graphics, Inc. G400/G450 (rev
03) (prog-if 00 [VGA])
Subsystem: Matrox Graphics, Inc. Millennium G400 16Mb SGRAM
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at cc000000 (32-bit, prefetchable) [size=32M]
Memory at cfefc000 (32-bit, non-prefetchable) [size=16K]
Memory at cf000000 (32-bit, non-prefetchable) [size=8M]
Expansion ROM at cfee0000 [disabled] [size=64K]
When I open and mmap resource0 (the framebuffer) I get 0x2b9aa48ea000.
When I open and mmap resource1 (the card's registers) I get
0x2b9aa68ea000. I can access the resource0 pointer all day long without
problems. The firs access to the resource1 pointer results in a segfault.
> The base address of the BAR is page aligned, so its not a problem with
> the alignment of mmap vs. the alignment of the BAR. What else could it
> be? I'm pretty stumped.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (GNU/Linux)
iD8DBQFEPELpX1gOwKyEAw8RAjT+AJ0ZzDb49tr5WwKWE7eyKWdT7hRLUQCgkOSS
twDrsx8VrWG5xEf+hbbkFvg=
=im+D
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2006-04-12 0:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-11 21:25 Special handling of sysfs device resource files? Ian Romanick
2006-04-11 23:59 ` Ian Romanick [this message]
2006-04-12 17:14 ` Jesse Barnes
2006-04-12 17:20 ` Jesse Barnes
2006-04-12 4:45 ` Paul Mackerras
2006-04-12 15:06 ` Ian Romanick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=443C42EA.1050608@us.ibm.com \
--to=idr@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.