Messages in this thread | | | Date | Tue, 11 Apr 2006 14:25:30 -0700 | From | Ian Romanick <> | Subject | Special handling of sysfs device resource files? |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
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".
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)
iD8DBQFEPB7KX1gOwKyEAw8RAhG/AJ4x+Vjl8V9SNeyMhYe2txeAeKALKACePCwL 6s0kj4YhDY3/thVh6mvO5X4= =g9eu -----END PGP SIGNATURE----- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |