Re: [Question] Failed to access the BAR MMIO space of PCI device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alex Williamson <alex.williamson <at> redhat.com> writes:

> 
> On Sun, 2013-04-07 at 19:19 +0000, zhengfei wrote:
> > Hi,
> > 
> > I'm writing a driver for a SR-IOV device on the PCI bus. My architecture 
is 
> > a 64-bit X86 of intel Sandy bridge.
> > 
> > In my device driver, I want to configure the device to transfer data 
to/from 
> > X86.I get the the device BAR MMIO base address with the command "lspci -
s 
> > 04:00.03 -xxx" in the guest os(kvm).
> > But after I ioremap() that MMIO base address,I failed to access the BAR 
MMIO 
> > space in the guest os(kvm).
> > 
> > Is there a function which show mapping between the real PCI address 
stored in 
> > the BAR and the emulated address stored in the BAR?
> 
> Is this a userspace driver or a kernel driver?  I can't figure out why
> you would use lspci to get a static BAR address, then use ioremap() to
> map it.  If it's a kernel driver, the sequence you want is something
> like:
> 
> pci_enable_device
> pci_request_selected_regions
> pci_iomap
> 
> Thanks,
> Alex
> 
> 

It is a userspace driver on guest os.To be simply,I got the BAR0 
address(gpa) on guest os,but I failed to access real BAR0 MMIO address space 
of the device with the gpa.So what can I do next? and in which source code 
file,could I find the procedure of mapping the real BAR address space(hpa) 
to gpa?

Thanks

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux