All of lore.kernel.org
 help / color / mirror / Atom feed
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-----

  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.