I am using a 64 bit PCI express card on a 64 bit linux host, problem is that it's bars are 64 bit but always get an address that lies in 32 bit address range i.e. higher 32 bit of BAR is always zero.
How can I enforce it to use real 64 bit addresses ? I tried to enforce it with overriding BIOS enumeration with boot time args to kernel so that kernel can enumerate pci devices but it results same as by BIOS.
Is Linux not supporting real 64 bit addresses ?