WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Experimental results for VGA passthrough

Hi Jean,

For the linux guest, I tested using Ubuntu 64-bit. It doesn't seem to
work well, and hangs shortly after boot-up. I've attached a short clip
and hopefully that can explain my observations better. I've also
attached logs from the serial terminal and Qemu. I'd like to bring your
attention to the last lines of the Qemu log, which warns that the guest
is trying to write to unused BAR.

On the other hand, things are much smoother with Vista 64-bit. I have
tried no less than three times, and all went smoothly. Even the
resolution, color and Aero feature are equivalent to native. The only
minor issue is that after shutdown, the screen becomes blank. But I
suppose this is better than XP which was "stuck" in the shutdown screen.
I have the logs and clip for Vista as well. As the clip is bigger, I'll
only send it to you if you want.

Please let me know if there's any comments or suggestions which you'd
like me to try out. Thanks and have a great weekend.

Warmest Regards,
Beng Heng

Jean Guyader wrote:
> Could you tell me if it works with a Vista guest or a linux hvm guest?
> 
> The page fault and the screen still stays on Windows issue are due to
> the lack of FLR in your kernel. Doing a FLR on the graphic card before
> booting and when the domain shutdown will fix those.
> 
> Thanks,
> Jean
> 
domid: 1
qemu: the number of cpus is 1
config qemu network with xen bridge for  tap1.0 eth0
Watching /local/domain/0/device-model/1/logdirty/next-active
Watching /local/domain/0/device-model/1/command
char device redirected to /dev/pts/1
qemu_map_cache_init nr_buckets = 10000 size 4194304
shared page at pfn feffd
buffered io page at pfn feffb
Guest uuid = 2e4fc104-49fc-1e02-3ad7-3ec98d760e97
Time offset set 0
register_real_device: Assigning real physical device 00:02.0 ...
register_real_device: Disable MSI translation via per device option
pt_register_regions: IO region registered (size=0x00400000 base_addr=0xd0400004)
pt_register_regions: IO region registered (size=0x10000000 base_addr=0xb000000c)
pt_register_regions: IO region registered (size=0x00000008 base_addr=0x0000d221)
pt_register_regions: Real device vendor_id=0x8086 class=0x300
pt_register_regions: add an intel graphic card
register_real_device: Real physical device 00:02.0 registered successfully!
IRQ type = INTx
register_real_device: Assigning real physical device 00:1a.2 ...
pt_register_regions: IO region registered (size=0x00000020 base_addr=0x0000d0a1)
pt_register_regions: Real device vendor_id=0x8086 class=0xc03
register_real_device: Real physical device 00:1a.2 registered successfully!
IRQ type = INTx
Register xen platform.
Done register platform.
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
xs_read(/local/domain/0/device-model/1/xen_extended_power_mgmt): read error
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
(qemu) pt_iomem_map: e_phys=e0000000 maddr=b0000000 type=8 len=268435456 
index=2 first_map=1
pt_iomem_map: e_phys=f1000000 maddr=d0400000 type=0 len=4194304 index=0 
first_map=1
pt_ioport_map: e_phys=c200 pio_base=d0a0 len=32 index=4 first_map=1
pt_ioport_map: e_phys=c230 pio_base=d220 len=8 index=4 first_map=1
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro state.
gpe_en_write: addr=0x1f6c, val=0x0.
gpe_sts_write: addr=0x1f68, val=0xff.
gpe_en_write: addr=0x1f6d, val=0x0.
gpe_sts_write: addr=0x1f69, val=0xff.
gpe_en_write: addr=0x1f6e, val=0x0.
gpe_sts_write: addr=0x1f6a, val=0xff.
gpe_en_write: addr=0x1f6f, val=0x0.
gpe_sts_write: addr=0x1f6b, val=0xff.
gpe_en_write: addr=0x1f6c, val=0x8.
ACPI PCI hotplug: read addr=0x10c2, val=0x0.
ACPI PCI hotplug: read addr=0x10c3, val=0x0.
ACPI PCI hotplug: read addr=0x10c4, val=0xf.
ACPI PCI hotplug: read addr=0x10c5, val=0xf.
ACPI PCI hotplug: read addr=0x10c6, val=0x0.
ACPI PCI hotplug: read addr=0x10c7, val=0x0.
ACPI PCI hotplug: read addr=0x10c8, val=0x0.
ACPI PCI hotplug: read addr=0x10c9, val=0x0.
ACPI PCI hotplug: read addr=0x10ca, val=0x0.
ACPI PCI hotplug: read addr=0x10cb, val=0x0.
ACPI PCI hotplug: read addr=0x10cc, val=0x0.
ACPI PCI hotplug: read addr=0x10cd, val=0x0.
ACPI PCI hotplug: read addr=0x10ce, val=0x0.
ACPI PCI hotplug: read addr=0x10cf, val=0x0.
ACPI PCI hotplug: read addr=0x10d0, val=0x0.
ACPI PCI hotplug: read addr=0x10d1, val=0x0.
ACPI PCI hotplug: read addr=0x10d2, val=0x0.
ACPI PCI hotplug: read addr=0x10d3, val=0x0.
ACPI PCI hotplug: read addr=0x10d4, val=0x0.
ACPI PCI hotplug: read addr=0x10d5, val=0x0.
ACPI PCI hotplug: read addr=0x10d6, val=0x0.
ACPI PCI hotplug: read addr=0x10d7, val=0x0.
ACPI PCI hotplug: read addr=0x10d8, val=0x0.
ACPI PCI hotplug: read addr=0x10d9, val=0x0.
ACPI PCI hotplug: read addr=0x10da, val=0x0.
ACPI PCI hotplug: read addr=0x10db, val=0x0.
ACPI PCI hotplug: read addr=0x10dc, val=0x0.
ACPI PCI hotplug: read addr=0x10dd, val=0x0.
ACPI PCI hotplug: read addr=0x10de, val=0x0.
ACPI PCI hotplug: read addr=0x10df, val=0x0.
ACPI PCI hotplug: read addr=0x10e0, val=0x0.
ACPI PCI hotplug: read addr=0x10e1, val=0x0.
ACPI PCI hotplug: read addr=0x10c2, val=0x0.
ACPI PCI hotplug: read addr=0x10c3, val=0x0.
ACPI PCI hotplug: read addr=0x10c4, val=0xf.
ACPI PCI hotplug: read addr=0x10c4, val=0xf.
ACPI PCI hotplug: read addr=0x10c5, val=0xf.
ACPI PCI hotplug: read addr=0x10c5, val=0xf.
ACPI PCI hotplug: read addr=0x10c6, val=0x0.
ACPI PCI hotplug: read addr=0x10c7, val=0x0.
ACPI PCI hotplug: read addr=0x10c8, val=0x0.
ACPI PCI hotplug: read addr=0x10c9, val=0x0.
ACPI PCI hotplug: read addr=0x10ca, val=0x0.
ACPI PCI hotplug: read addr=0x10cb, val=0x0.
ACPI PCI hotplug: read addr=0x10cc, val=0x0.
ACPI PCI hotplug: read addr=0x10cd, val=0x0.
ACPI PCI hotplug: read addr=0x10ce, val=0x0.
ACPI PCI hotplug: read addr=0x10cf, val=0x0.
ACPI PCI hotplug: read addr=0x10d0, val=0x0.
ACPI PCI hotplug: read addr=0x10d1, val=0x0.
ACPI PCI hotplug: read addr=0x10d2, val=0x0.
ACPI PCI hotplug: read addr=0x10d3, val=0x0.
ACPI PCI hotplug: read addr=0x10d4, val=0x0.
ACPI PCI hotplug: read addr=0x10d5, val=0x0.
ACPI PCI hotplug: read addr=0x10d6, val=0x0.
ACPI PCI hotplug: read addr=0x10d7, val=0x0.
ACPI PCI hotplug: read addr=0x10d8, val=0x0.
ACPI PCI hotplug: read addr=0x10d9, val=0x0.
ACPI PCI hotplug: read addr=0x10da, val=0x0.
ACPI PCI hotplug: read addr=0x10db, val=0x0.
ACPI PCI hotplug: read addr=0x10dc, val=0x0.
ACPI PCI hotplug: read addr=0x10dd, val=0x0.
ACPI PCI hotplug: read addr=0x10de, val=0x0.
ACPI PCI hotplug: read addr=0x10df, val=0x0.
ACPI PCI hotplug: read addr=0x10e0, val=0x0.
ACPI PCI hotplug: read addr=0x10e1, val=0x0.
pt_iomem_map: e_phys=ffc00000 maddr=d0400000 type=0 len=4194304 index=0 
first_map=0
pt_iomem_map: e_phys=f1000000 maddr=d0400000 type=0 len=4194304 index=0 
first_map=0
pt_iomem_map: e_phys=f0000000 maddr=b0000000 type=8 len=268435456 index=2 
first_map=0
pt_iomem_map: e_phys=e0000000 maddr=b0000000 type=8 len=268435456 index=2 
first_map=0
pt_ioport_map: e_phys=ffff pio_base=d220 len=8 index=4 first_map=0
pt_ioport_map: e_phys=c230 pio_base=d220 len=8 index=4 first_map=0
pt_pci_write_config: Warning: Guest attempt to set address to unused Base 
Address Register. [00:02.0][Offset:30h][Length:4]
pt_ioport_map: e_phys=ffff pio_base=d0a0 len=32 index=4 first_map=0
pt_ioport_map: e_phys=c200 pio_base=d0a0 len=32 index=4 first_map=0
pt_pci_write_config: Warning: Guest attempt to set address to unused Base 
Address Register. [00:03.0][Offset:30h][Length:4]
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
Login incorrect

login: Login timed out after 60 seconds

Fedora release 10 (Cambridge)
Kernel 2.6.18.8-xen0 on an x86_64 (ttyS0)

xxx.xxx.xxx.xxx login: (XEN) [VT-D]iommu.c:1364:d0 domain_context_unmap:PCI: 
bdf = 0:2.0
(XEN) [VT-D]iommu.c:722: iommu_page_fault: iommu->reg = ffff828bfff56000
(XEN) [VT-D]iommu.c:691: iommu_fault_status: Fault Overflow
(XEN) [VT-D]iommu.c:1252:d0 domain_context_mapping:PCI: bdf = 0:2.0
(XEN) [VT-D]iommu.c:694: iommu_fault_status: Primary Pending Fault
(XEN) [VT-D]iommu.c:676: iommu_fault:DMA Write: 0:2.0 addr 7e000000 REASON 2 
iommu->reg = ffff828bfff56000
(XEN) print_vtd_entries: iommu = ffff83017bfe2600 bdf = 0:2:0 gmfn = 7e000
(XEN)     root_entry = ffff83017bfb8000
(XEN)     root_entry[0] = 17763a001
(XEN)     context = ffff83017763a000
(XEN)     context[10] = 201_16e97d001
(XEN)     l3 = ffff83016e97d000
(XEN)     l3_index = 1
(XEN)     l3[1] = 12b872003
(XEN)     l2 = ffff83012b872000
(XEN)     l2_index = 1f0
(XEN)     l2[1f0] = 0
(XEN)     l2[1f0] not present
(XEN) [VT-D]iommu.c:1252:d0 domain_context_mapping:PCI: bdf = 0:2.0
(XEN) domctl.c:886:d0 ioport_map:add f_gport=3b0 f_mport=3b0 np=b
(XEN) domctl.c:886:d0 ioport_map:add f_gport=3c0 f_mport=3c0 np=20
(XEN) domctl.c:835:d0 memory_map:add: gfn=a0 mfn=a0 nr_mfns=20
(XEN) [VT-D]io.c:251:d0 VT-d irq bind: m_irq = 10 device = 2 intx = 0
(XEN) [VT-D]iommu.c:1364:d0 domain_context_unmap:PCI: bdf = 0:1a.2
(XEN) [VT-D]iommu.c:1252:d0 domain_context_mapping:PCI: bdf = 0:1a.2
(XEN) [VT-D]io.c:251:d0 VT-d irq bind: m_irq = 13 device = 3 intx = 0
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v3.4.1-rc1-pre
(XEN) HVM1: CPU speed is 2500 MHz
(XEN) irq.c:243: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:243: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:243: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:243: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 02:0 INTA->IRQ11
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 02:0 bar 18 size 10000000: e000000c
(XEN) domctl.c:835:d0 memory_map:add: gfn=e0000 mfn=b0000 nr_mfns=10000
(XEN) HVM1: pci dev 04:0 bar 14 size 01000000: f0000008
(XEN) domctl.c:835:d0 memory_map:add: gfn=f1000 mfn=d0400 nr_mfns=400
(XEN) HVM1: pci dev 02:0 bar 10 size 00400000: f1000004
(XEN) HVM1: pci dev 04:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 10 size 00000100: 0000c101
(XEN) HVM1: pci dev 05:0 bar 14 size 00000100: f1400000
(XEN) HVM1: pci dev 03:0 bar 20 size 00000020: 0000c201
(XEN) domctl.c:886:d0 ioport_map:add f_gport=c200 f_mport=d0a0 np=20
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c221
(XEN) HVM1: pci dev 02:0 bar 20 size 00000008: 0000c231
(XEN) domctl.c:886:d0 ioport_map:add f_gport=c230 f_mport=d220 np=8
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 36-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... 
done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1: Passed 1/1 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9788 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc000000-0xfc00263c ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: No emulated VGA adaptor ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://etherboot.org
(XEN) HVM1:  - Product name: gPXE
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1:  - Lo data: 000ea020-000ea04f
(XEN) HVM1:  - Hi data: fc002800-fc005c9f
(XEN) HVM1: vm86 TSS at fc006000
(XEN) HVM1: BIOS map:
(XEN) HVM1:  c0000-cc7ff: VGA BIOS
(XEN) HVM1:  cc800-d8fff: Etherboot ROM
(XEN) HVM1:  eb000-eb150: SMBIOS tables
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: *** int 15h function AX=5f21, BX=c000 not yet supported!
(XEN) HVM1: *** int 15h function AX=5f22, BX=0004 not yet supported!
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (40960 MBytes)
(XEN) HVM1: IDE time out
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=81
(XEN) HVM1: int13_harddisk: function 08, unmapped device for ELDL=81
(XEN) HVM1: *** int 15h function AX=00c0, BX=0000 not yet supported!
(XEN) HVM1: *** int 15h function AX=ec00, BX=0002 not yet supported!
(XEN) HVM1: KBD: unsupported int 16h function 03
(XEN) multi.c:3264:d1 guest attempted write to read-only memory page. va 
page=0xc0000, mfn=0x1371b7
(XEN) HVM1: *** int 15h function AX=e980, BX=0000 not yet supported!
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=81
(XEN) HVM1: int13_harddisk: function 02, unmapped device for ELDL=81
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=82
(XEN) HVM1: int13_harddisk: function 02, unmapped device for ELDL=82
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=83
(XEN) HVM1: int13_harddisk: function 02, unmapped device for ELDL=83
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=84
(XEN) HVM1: int13_harddisk: function 02, unmapped device for ELDL=84
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=85
(XEN) HVM1: int13_harddisk: function 02, unmapped device for ELDL=85
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=86
(XEN) HVM1: int13_harddisk: function 02, unmapped device for ELDL=86
(XEN) HVM1: int13_harddisk: function 41, unmapped device for ELDL=87
(XEN) HVM1: int13_harddisk: function 02, unmapped device for ELDL=87
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 88
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 88
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 89
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 89
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 8a
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 8a
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 8b
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 8b
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 8c
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 8c
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 8d
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 8d
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 8e
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 8e
(XEN) HVM1: int13_harddisk: function 41, ELDL out of range 8f
(XEN) HVM1: int13_harddisk: function 02, ELDL out of range 8f
(XEN) domctl.c:845:d0 memory_map:remove: gfn=f1000 mfn=d0400 nr_mfns=400
(XEN) domctl.c:835:d0 memory_map:add: gfn=ffc00 mfn=d0400 nr_mfns=400
(XEN) domctl.c:845:d0 memory_map:remove: gfn=ffc00 mfn=d0400 nr_mfns=400
(XEN) domctl.c:835:d0 memory_map:add: gfn=f1000 mfn=d0400 nr_mfns=400
(XEN) domctl.c:845:d0 memory_map:remove: gfn=e0000 mfn=b0000 nr_mfns=10000
(XEN) domctl.c:835:d0 memory_map:add: gfn=f0000 mfn=b0000 nr_mfns=10000
(XEN) sh error: sh_remove_all_mappings(): can't find all mappings of mfn 
12b876: c=8000000000000003 t=e800000000000001
(XEN) sh error: sh_remove_all_mappings(): can't find all mappings of mfn 
12b874: c=8000000000000003 t=e800000000000001
(XEN) domctl.c:845:d0 memory_map:remove: gfn=f0000 mfn=b0000 nr_mfns=10000
(XEN) domctl.c:835:d0 memory_map:add: gfn=e0000 mfn=b0000 nr_mfns=10000
(XEN) domctl.c:910:d0 ioport_map:remove f_gport=c230 f_mport=d220 np=8
(XEN) domctl.c:886:d0 ioport_map:add f_gport=c230 f_mport=d220 np=8
(XEN) domctl.c:910:d0 ioport_map:remove f_gport=c200 f_mport=d0a0 np=20
(XEN) domctl.c:886:d0 ioport_map:add f_gport=c200 f_mport=d0a0 np=20

Attachment: 05062009.mp4
Description: video/mp4

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel