Hi,
The effort to add support for 64bit pci bars to qemu seems to have stalled somehow. Lets resume it ;)
Here is a patch collection, largely rewritten from scratch, which improves seabios 64bit support. One big patch (#3) adds 64bit math everythere. The other big patch (#5) adds support for ressource allocation above 4G. The remaining patches carry bugfixes and little bits such as support for printing 64bit hex numbers.
cheers, Gerd
ping?
I haven't really had a chance to review it. Initial thoughts were - on patch 1, I'm not sure how that will impact stack usage which is quite tight when running in 16bit mode; patch 5 - seems incomplete if it doesn't handle bridges properly. I didn't fully understand patch 5, but that's likely just due to lack of time to look at it.
BTW, what's the use case for 64bit PCI today?
Hmm at the moment I've almost complete testing of another implementation of 64bit BAR support. It's implemeted in a very different way. Just need a day or so to form patches and write a description.
Who needs this today. At the moment qemu 1.0 does not work with 64bit BARs properly. I managed to investigate the issue with 64bit bars when they are allocated in 32bit range. See the thread here: http://lists.gnu.org/archive/html/qemu-devel/2012-01/msg03189.html Plus there are some other issues in qemu which don't allow using 64bit BARs at the moment. I hope that all these issues are gone in the next release. At least Avi has promised to fix the main problem in qemu.
If 64bit BAR support is implemented we will be able to go ahead with network monitoring card in qemu. So we need this feature. In addition big memory ranges (i.e. 64bit BARs) are very desirable for qemu ivshmem driver (virtual pci device for inter-vm shared memory). And I'm pretty sure there will be other use cases.