Re: accessing a PCIe register from userspace through kmem or other ways ?

From: John Baldwin <jhb_at_freebsd.org>
Date: Mon, 04 Apr 2016 21:02:49 -0700
On Monday, April 04, 2016 08:58:47 PM Ryan Stone wrote:
> On Mon, Apr 4, 2016 at 6:45 PM, John Baldwin <jhb_at_freebsd.org> wrote:
> 
> > I suspect Ryan might be referring to BARs outside of the DMAP which we
> > only populate to Maxmem IIRC.  /dev/mem should work for those.
> >
> 
> Unfortunately I no longer have access to the systems so I can't really
> confirm.  I had a debug tool that attempted to read PCI device registers
> through /dev/mem, and on these systems (which were running a 8.2
> derivative) the reads from /dev/mem failed with some kind of error.
> 
> The one detail that I do remember is that the errors started happening
> after we enabled the use of 64-bit BARs in the BIOS and the addresses
> assigned to the BARs were quite large -- I believe well beyond the bounds
> of real memory.

kib_at_ fixed /dev/mem to handle addresses beyond the direct map limit to use
temporary mappings instead of failing with EFAULT in 277051 which was only
committed to HEAD last January, so well after 8.2.

-- 
John Baldwin
Received on Tue Apr 05 2016 - 02:03:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:03 UTC