On 06/05/2017 09:39, Miltos Hatzimihail wrote:
Dear AllI ve got a system with a Xilinx FPGA on a PCI express slot and I am trying to pass it through using QEMU with vfio-pci. Here’s my command line: qemu-system-x86_64 -smp 4,sockets=2,cores=1,threads=2 -machine pc-i440fx-xenial,accel=kvm --cpu qemu64 -enable-kvm -vnc :1 -device vfio-pci,host=04:01.0 .. .. .. -mem 2G The VM starts OK with men = 2G. If I try to assign more memory to this host (say 4GB), then the VM doesn’t even boot to the BIOS (it says that ‘This guest has initialised the display ‘yet’). The weird thing is that if I omit the passthrough, the VM starts ok with 4GB. The PCI device is configured as follows: Region 0: Memory at c1100000 (32-bit, non-prefetchable) [disabled] [size=128K] Region 1: Memory at c0000000 (32-bit, non-prefetchable) [disabled] [size=16M] Region 2: Memory at 80000000 (32-bit, non-prefetchable) [disabled] [size=1G] [virtual] Expansion ROM at c1000000 [disabled] [size=1M] I tried to find an answer online but I had no luck. What am I missing? Regards, Milton
Look at Region 2: It is located at physical (virtual physical?) address 2GB (0x80000000), thus it won't work in a machine with RAM directly above the 2GB mark. I don't know what would happen if that card was inserted in a physical machine with > 2GB RAM. Maybe there would be a "memory hole" from 0x80000000 to 0xC1120000, maybe it would get assigned different physical addresses. If your host machine where it is actually inserted has more than 2GB RAM, look at the RAM and PCI memory mappings logged in /var/log/dmesg and in the /proc/ and /sys/ file systems. Enjoy Jakob -- Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10 This public discussion message is non-binding and may contain errors. WiseMo - Remote Service Management for PCs, Phones and Embedded
