bar->type = PT_BAR_IO;
} else if (flags & IORESOURCE_MEM) {
if (flags & IORESOURCE_MEM_64) {
- printk("ERROR: 64 Bit BARS not yet supported\n");
- bar->type = PT_BAR_NONE;
+ struct v3_host_pci_bar * hi_bar = &(v3_dev->bars[i + 1]);
+
+ bar->type = PT_BAR_MEM64_LO;
+
+ hi_bar->type = PT_BAR_MEM64_HI;
+ hi_bar->size = bar->size;
+ hi_bar->addr = bar->addr;
+ hi_bar->cacheable = ((flags & IORESOURCE_CACHEABLE) != 0);
+ hi_bar->prefetchable = ((flags & IORESOURCE_PREFETCH) != 0);
+
+ i++;
} else if (flags & IORESOURCE_DMA) {
bar->type = PT_BAR_MEM24;
} else {
int rom_size = pci_resource_len(dev, PCI_ROM_RESOURCE);
if (rom_size > 0) {
- unsigned long flags;
+ //unsigned long flags;
v3_dev->exp_rom.size = rom_size;
v3_dev->exp_rom.addr = pci_resource_start(dev, PCI_ROM_RESOURCE);
- flags = pci_resource_flags(dev, PCI_ROM_RESOURCE);
+ // flags = pci_resource_flags(dev, PCI_ROM_RESOURCE);
v3_dev->exp_rom.type = PT_EXP_ROM;