Hi Team

I need to run vfio driver using qemu and I'm using below xml file for this..

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>instance</name>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>8</vcpu>
  <os>
    <type arch='aarch64' machine='virt'>hvm</type>
    <kernel>/home/root/Image</kernel>
    <initrd>/home/root/fsl-image-minimal-ls2085ardb.ext2.gz</initrd>
    <cmdline>'root=/dev/ram0 rw console=ttyAMA0,115200 rootwait earlyprintk ramdisk_size=1000000'</cmdline>
  </os>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>host</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
      <emulator>/usr/bin/qemu-system-aarch64</emulator>
    <memballoon model='none'/>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-mem-path'/>
    <qemu:arg value='/hugepages'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-fsl-mc,host=dprc.2'/>
  </qemu:commandline>
</domain>

I'm able to launch VM succesfully using the above xml file and it produces the below process running in the background..

ps -ef | grep qemu
root      6767     1 34 22:11 ?        00:00:02 /usr/bin/qemu-system-aarch64 -name instance -S -machine virt,accel=kvm,usb=off -cpu host -m 4096 -realtime mlock=off -smp 8,sockets=8,cores=1,threads=1 -uuid 3b527012-c15d-46b3-862d-9a7fd3b04e01 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/instance.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -kernel /home/root/Image -initrd /home/root/fsl-image-minimal-ls2085ardb.ext2.gz -append 'root=/dev/ram0 rw console=ttyAMA0,115200 rootwait earlyprintk ramdisk_size=1000000' -usb -mem-path /hugepages -device vfio-fsl-mc,host=dprc.2 -msg timestamp=on


Although the driver appears in the above process,actually that driver is not loaded as there is no output of cat /proc/interrupts | grep dpio on the host.

However when I'm using the same command as that of the above process i.e ..

/usr/bin/qemu-system-aarch64 -name instance -S -machine virt,accel=kvm,usb=off -cpu host -m 4096 -realtime mlock=off -smp 8,sockets=8,cores=1,threads=1 -uuid 3b527012-c15d-46b3-862d-9a7fd3b04e01 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/instance.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -kernel /home/root/Image -initrd /home/root/fsl-image-minimal-ls2085ardb.ext2.gz -append 'root=/dev/ram0 rw console=ttyAMA0,115200 rootwait earlyprintk ramdisk_size=1000000' -usb -mem-path /hugepages -device vfio-fsl-mc,host=dprc.2 -msg timestamp=on

the driver is getting loaded and I'm able to see the output of cat /proc/interrupts | grep dpio on the host.

Please help me regarding this.

Thanks
Abhishek Jain