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

[Xen-devel] How to register a 64 bit BAR

  • To: "xen-devel@xxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxx>
  • From: "Zytaruk, Kelly" <Kelly.Zytaruk@xxxxxxx>
  • Date: Tue, 23 Sep 2014 20:33:08 +0000
  • Accept-language: en-US
  • Delivery-date: Tue, 23 Sep 2014 20:33:34 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: Ac/XYcUTZAv7VxUNT66kvC+c4cdWAA==
  • Thread-topic: How to register a 64 bit BAR

I have used pci_register_io_region() to register 32 bit BARs but how do I 
register a 64 bit BAR?

Let's say my region uses BAR 2 and BAR 3 for a 64 bit address.  Do I register 
them separately as in

pci_register_io_region (dev, 2, region_size, PCI_ADDRESS_SPACE_MEM, &my_func);
pci_register_io_region (dev, 3, region_size, ???, &my_func);

What would I specify as a region type for BAR 3?

Or is QEMU smart enough for me to register just BAR 2 and it will know somehow 
that it is a 64 bit BAR?

I also want to call cpu_register_physical_memory() from within the callback but 
the callback only takes a uint32_t as a physical address.
I am having difficulty finding an example that uses a 64 bit BAR address.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.