How to read write PCI BAR memory address

Bjørn Mork bjorn at mork.no
Fri Apr 24 04:45:00 EDT 2015


Anil Joshi <aj27744 at gmail.com> writes:

> My PCI device information is as follows:
>
> Print Begin Configuration space...
> BAR 0 start address: f6000000
> BAR 0 end address: f6ffffff
> BAR 0 flags: 140204
> BAR 0 IO / MEM:  MEM
> BAR 0 PREFETCH NON PREFETCH: NON-PREFETCH
> BAR 1 start address: 0
> BAR 1 end address: 0
> BAR 1 flags: 0
> BAR 1 IO / MEM:  MEM
> BAR 1 PREFETCH NON PREFETCH: NON-PREFETCH
> BAR 2 start address: f0000000
> BAR 2 end address: f3ffffff
> BAR 2 flags: 14220c
> BAR 2 IO / MEM:  MEM
> BAR 2 PREFETCH NON PREFETCH: PREFETCH
>
> I want to write a byte and read it back to BAR2 for a test simple . Is it
> possible to write a byte to BAR2 start address
>
>
> Sample code is welcomed.

Linux export these resourses in sysfs.  See
See https://www.kernel.org/doc/Documentation/filesystems/sysfs-pci.txt

Googling for these will get you some usage examples, like this one:
http://billfarrow.blogspot.com/2010/09/userspace-access-to-pci-memory.html


Bjørn



More information about the Kernelnewbies mailing list