[vfio-users] IGD passthrough can not light up screen

Yuan, Hang hang.yuan at intel.com
Wed Oct 31 03:05:43 UTC 2018


Thanks Alex for including us. Yes, seems the legacy mode pass through relies on VGA BIOS
which is invisible to GVT. If UPT mode can satisfy your needs, better to use that mode.

Regards,
Henry

> -----Original Message-----
> From: intel-gvt-dev [mailto:intel-gvt-dev-bounces at lists.freedesktop.org] On
> Behalf Of Alex Williamson
> Sent: Wednesday, October 31, 2018 5:16 AM
> To: Acewind <acewind at gmail.com>
> Cc: intel-gvt-dev at lists.freedesktop.org; vfio-users at redhat.com
> Subject: Re: [vfio-users] IGD passthrough can not light up screen
> 
> On Thu, 25 Oct 2018 09:33:13 +0800
> Acewind <acewind at gmail.com> wrote:
> 
> > I can connect into win10 guest by rdp, and install vga driver, the
> > monitor device also works normally.
> 
> I suspect that the Intel folks who are the experts on IGD aren't necessarily
> tracking vfio-users, perhaps you'll get more response copying intel-gvt-dev
> (cc'd).  Seems like the VGA BIOS is doing something bad on this system,
> enabling tracing in vfio might help us somewhat, but ultimately the VBIOS is
> proprietary code that's difficult to debug.  Thanks,
> 
> Alex
> 
> > Acewind <acewind at gmail.com> 于2018年10月24日周三 下午10:06写
> 道:
> >
> > > I run a win10 guest in ubuntu 18.10 with intel igd vfio passed
> > > through into the guest:
> > > CPU: Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz
> > > VGA: Intel Corporation HD Graphics 620 (rev 02)
> > >
> > > Host boot in legacy mode:
> > > root at localhost:/home# efibootmgr
> > > EFI variables are not supported on this system.
> > >
> > > root at localhost:/home# ps -elf | grep qemu
> > > 6 S libvirt+  1941     1 99  80   0 - 1205084 poll_s 21:54 ?      00:04:32
> > > qemu-system-x86_64 -enable-kvm -name guest=win10,debug-threads=on
> -S
> > > -object
> > > secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-3-
> > > win10/master-key.aes -machine
> > > pc-i440fx-cosmic,accel=kvm,usb=off,dump-guest-core=off -cpu
> > > Broadwell-noTSX-IBRS,vme=on,f16c=on,rdrand=on,hypervisor=on,arat=on,
> > > xsaveopt=on,abm=on,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff
> > > -m 3584 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid
> > > d4e06db6-08e3-407c-8788-8896a17965c0 -display none -no-user-config
> > > -nodefaults -chardev socket,id=charmonitor,fd=24,server,nowait -mon
> > > chardev=charmonitor,id=monitor,mode=control -rtc
> > > base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=delay
> > > -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global
> > > PIIX4_PM.disable_s4=1 -boot strict=on -device
> > > ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 -device
> > > ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=o
> > > n,addr=0x4 -device
> > > ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1
> > > -device
> > > ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2
> > > -drive file=/home/win10.qcow2,format=qcow2,if=none,id=drive-ide0-0-0
> > > -device
> > > ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1
> > > -netdev tap,fd=26,id=hostnet0 -device
> > > rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:0f:34:ec,bus=pci.0,addr
> > > =0x3
> > > -chardev pty,id=charserial0 -device
> > > isa-serial,chardev=charserial0,id=serial0 -device
> > > usb-tablet,id=input0,bus=usb.0,port=1 -device
> > > vfio-pci,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2,rombar=1,romfil
> > > e=/home/vbios.dump -device
> > > virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -bios
> > > /usr/share/seabios/bios.bin -chardev
> > > file,id=seabios,path=/tmp/bios.log
> > > -device isa-debugcon,iobase=0x402,chardev=seabios -set
> > > device.hostdev0.x-igd-opregion=on -set device.hostdev0.x-igd-gms=32
> > > -sandbox
> > > on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=d
> > > eny
> > > -msg timestamp=on
> > >
> > > In SeaBIOS log file, it shows guest already booted, but no signal on
> > > the screen.
> > >
> > > SeaBIOS (version 1.11.1-1ubuntu1)
> > > BUILD: gcc: (Ubuntu 8.2.0-7ubuntu1) 8.2.0 binutils: (GNU Binutils
> > > for
> > > Ubuntu) 2.31.1
> > > RamSize: 0xc0000000 [cmos]
> > > Relocating init from 0x000e3220 to 0xbffb2180 (size 56800) Found
> > > QEMU fw_cfg QEMU fw_cfg DMA interface supported
> > > RamBlock: addr 0x0000000000000000 len 0x00000000c0000000 [e820]
> > > RamBlock: addr 0x0000000100000000 len 0x0000000020000000 [e820]
> > > Moving pm_base to 0x600 boot order:
> > > 1: /pci at i0cf8/ide at 1,1/drive at 0/disk at 0
> > > 2: HALT
> > > === PCI bus & bridge init ===
> > > PCI: pci_bios_init_bus_rec bus = 0x0 === PCI device probing ===
> > > Found 12 PCI devices (max PCI bus is 00) === PCI new allocation pass
> > > #1 ===
> > > PCI: check devices
> > > === PCI new allocation pass #2 ===
> > > PCI: IO: c000 - c1cf
> > > PCI: 32: 00000000c0000000 - 00000000fec00000
> > > PCI: map device bdf=00:03.0  bar 0, addr 0000c000, size 00000100
> > > [io]
> > > PCI: map device bdf=00:02.0  bar 4, addr 0000c100, size 00000040
> > > [io]
> > > PCI: map device bdf=00:04.0  bar 4, addr 0000c140, size 00000020
> > > [io]
> > > PCI: map device bdf=00:04.1  bar 4, addr 0000c160, size 00000020
> > > [io]
> > > PCI: map device bdf=00:04.2  bar 4, addr 0000c180, size 00000020
> > > [io]
> > > PCI: map device bdf=00:05.0  bar 0, addr 0000c1a0, size 00000020
> > > [io]
> > > PCI: map device bdf=00:01.1  bar 4, addr 0000c1c0, size 00000010
> > > [io]
> > > PCI: map device bdf=00:02.0  bar 0, addr fd000000, size 01000000
> > > [mem]
> > > PCI: map device bdf=00:03.0  bar 6, addr fe000000, size 00080000
> > > [mem]
> > > PCI: map device bdf=00:02.0  bar 6, addr fe080000, size 00010000
> > > [mem]
> > > PCI: map device bdf=00:03.0  bar 1, addr fe090000, size 00001000
> > > [mem]
> > > PCI: map device bdf=00:04.7  bar 0, addr fe091000, size 00001000
> > > [mem]
> > > PCI: map device bdf=00:02.0  bar 2, addr e0000000, size 10000000
> > > [prefmem]
> > > PCI: map device bdf=00:05.0  bar 4, addr f0000000, size 00004000
> > > [prefmem]
> > > PCI: init bdf=00:00.0 id=8086:1237
> > > PCI: init bdf=00:01.0 id=8086:7000
> > > PIIX3/PIIX4 init: elcr=00 0c
> > > PCI: init bdf=00:01.1 id=8086:7010
> > > PCI: init bdf=00:01.3 id=8086:7113
> > > Using pmtimer, ioport 0x608
> > > PCI: init bdf=00:02.0 id=8086:5916
> > > Intel IGD OpRegion enabled at 0xbfffe000, size 8KB, dev 00:02.0
> > > Intel IGD BDSM enabled at 0xbf700000, size 8MB, dev 00:02.0
> > > PCI: init bdf=00:03.0 id=10ec:8139
> > > PCI: init bdf=00:04.0 id=8086:2934
> > > PCI: init bdf=00:04.1 id=8086:2935
> > > PCI: init bdf=00:04.2 id=8086:2936
> > > PCI: init bdf=00:04.7 id=8086:293a
> > > PCI: init bdf=00:05.0 id=1af4:1002
> > > PCI: init bdf=00:1f.0 id=8086:9d4e
> > > PCI: Using 00:02.0 for primary VGA
> > > handle_smp: apic_id=0x1
> > > handle_smp: apic_id=0x2
> > > handle_smp: apic_id=0x3
> > > Found 4 cpu(s) max supported 4 cpu(s) Copying PIR from 0xbffbfca0 to
> > > 0x000f0f80 Copying MPTABLE from 0x00006e9c/bffa8cd0 to 0x000f0e30
> > > Copying SMBIOS entry point from 0x00006e9c to 0x000f0e10 Scan for
> > > VGA option rom Running option rom at c000:0003 Turning on vga text
> > > mode console SeaBIOS (version 1.11.1-1ubuntu1) Machine UUID
> > > d4e06db6-08e3-407c-8788-8896a17965c0
> > > EHCI init on dev 00:04.7 (regs=0xfe091020) UHCI init on dev 00:04.0
> > > (io=c140) UHCI init on dev 00:04.1 (io=c160) UHCI init on dev
> > > 00:04.2 (io=c180) ATA controller 1 at 1f0/3f4/0 (irq 14 dev 9) ATA
> > > controller 2 at 170/374/0 (irq 15 dev 9) Found 0 lpt ports Found 1
> > > serial ports
> > > PS2 keyboard initialized
> > > ata0-0: QEMU HARDDISK ATA-7 Hard-Disk (40960 MiBytes) Searching
> > > bootorder for: /pci at i0cf8/*@1,1/drive at 0/disk at 0 All threads complete.
> > > Scan for option roms
> > > Running option rom at d000:0003
> > > pmm call arg1=1
> > > pmm call arg1=0
> > > pmm call arg1=1
> > > pmm call arg1=0
> > > Searching bootorder for: /pci at i0cf8/*@3 Searching bootorder for:
> > > /rom at genroms/kvmvapic.bin Searching bootorder for: HALT drive
> > > 0x000f0d70: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
> > > s=83886080
> > > Running option rom at d100:0003
> > > Space available for UMB: d3800-ef000, f0000-f0d70 Returned 118784
> > > bytes of ZoneHigh
> > > e820 map has 10 items:
> > >   0: 0000000000000000 - 000000000009fc00 = 1 RAM
> > >   1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED
> > >   2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
> > >   3: 0000000000100000 - 00000000bf700000 = 1 RAM
> > >   4: 00000000bf700000 - 00000000bff00000 = 2 RESERVED
> > >   5: 00000000bff00000 - 00000000bffdd000 = 1 RAM
> > >   6: 00000000bffdd000 - 00000000c0000000 = 2 RESERVED
> > >   7: 00000000feffc000 - 00000000ff000000 = 2 RESERVED
> > >   8: 00000000fffc0000 - 0000000100000000 = 2 RESERVED
> > >   9: 0000000100000000 - 0000000120000000 = 1 RAM enter handle_19:
> > >   NULL
> > > Booting from Hard Disk...
> > > Booting from 0000:7c00
> > >
> > > No errors found in dmesg or libvirt log.
> > > Before virsh create, there's fail error in dmesg:
> > > [drm] failed to retrieve link info, disabling eDP
> > >
> > >
> > >
> > >
> 
> _______________________________________________
> intel-gvt-dev mailing list
> intel-gvt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev




More information about the vfio-users mailing list