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

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

 



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


--
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