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

[Xen-devel] Re: VGA passthrough on unstable

Hi again,
I have made some progress, as I posted yesterday I am following these steps
:http://lists.xensource.com/archives/html/xen-devel/2010-05/msg00441.html
I have applied the passthrough patch manually cause there are some errors in
the file, after that I have applied the dsdt patch succesfully. The patches
for the Makefile and hvmloader.c do not work but I can compile the tools
without errors so maybe i dont need it. In fact hvmloader.patch seems to be
the xen-load-vbios-file.patch that Teo En Ming posted, but taking a look to
the code it seems that this patch is already applied in xen-unstable-4.2, or
am I wrong? (This is important... anyone knows if this is correct?)

Well now i have applied 2 patches and have compiled XEN without problems,
the next steps are:
- Extract the firmware of my GTX460 nvidia card with nvflash tool as
vgabios-pt.bin
- Copy it into tools/firmware/vgabios/
- I have the lines gfx_passthru = 1, and pci=['01:00.0'] on my
Windows7VMachine.cfg
- Bind the graphics card to pci-stub:
    echo "10de 0e22" > /sys/bus/pci/drivers/pci-stub/new_id
    echo "0000:01:00.0" > /sys/bus/pci/devices/0000:01:00.0/driver/unbind     
    echo "0000:01:00.0" > /sys/bus/pci/drivers/pci-stub/bind
-Finally create the virtual machine

At this point I have to run VNC in other PC to see my Virtual Machine, but
it doesn't work, i only see the qemu console...

In my qemu log file i can see this:

domid: 1
config qemu network with xen bridge for  tap1.0 eth0
Using file /home/xen/w7/diskw7.img in read-write mode
Using file /dev/cdrom in read-only mode
Watching /local/domain/0/device-model/1/logdirty/cmd
Watching /local/domain/0/device-model/1/command
Watching /local/domain/1/cpu
qemu_map_cache_init nr_buckets = 4000 size 327680
shared page at pfn feffd
buffered io page at pfn feffb
Guest uuid = 1a8ecd4e-3514-652f-615b-eaba86c6a43b
Time offset set 0
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
xs_read(): vncpasswd get error.
/vm/1a8ecd4e-3514-652f-615b-eaba86c6a43b/vncpasswd.
medium change watch on `hdc' (index: 1): /dev/cdrom
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
Log-dirty: no command yet.
vcpu-set: watch node error.
xs_read(/local/domain/1/log-throttling): read error
qemu: ignoring not-understood drive `/local/domain/1/log-throttling'
medium change watch on `/local/domain/1/log-throttling' - unknown device,
ignored
dm-command: hot insert pass-through pci dev
register_real_device: Assigning real physical device 01:00.0 ...
register_real_device: Enable MSI translation via per device option
register_real_device: Disable power management
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No
such file or directory: 0x1:0x0.0x0
pt_register_regions: IO region registered (size=0x02000000
base_addr=0xec000000)
pt_register_regions: IO region registered (size=0x08000000
base_addr=0xe000000c)
pt_register_regions: IO region registered (size=0x04000000
base_addr=0xe800000c)
pt_register_regions: IO region registered (size=0x00000080
base_addr=0x00002001)
pt_register_regions: Expansion ROM registered (size=0x00080000
base_addr=0xee080002)
setup_vga_pt: vga bios checksum is adjusted!
gfx_claim_vga_cycle: bridge for bus 7, previous bridge control is 4
gfx_claim_vga_cycle: bus=0x0, dev=0x1e, func=0x0
gfx_claim_vga_cycle: bridge for bus 7, updated bridge control is 4
gfx_claim_vga_cycle: bridge for bus 1, previous bridge control is 18
gfx_claim_vga_cycle: bus=0x0, dev=0x1, func=0x0
gfx_claim_vga_cycle: bridge for bus 1, updated bridge control is 18
gfx_claim_vga_cycle: previous igd control is 32
gfx_claim_vga_cycle: updated igd control is 32
pt_msi_setup: msi mapped with pirq 37
pci_intx: intx=1
register_real_device: Real physical device 01:00.0 registered successfuly!
IRQ type = MSI-INTx
char device redirected to /dev/pts/0
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
xen be: console-0: xen be: console-0: initialise() failed
initialise() failed
pt_bar_reg_read: first read BARs of gfx
pt_bar_reg_read: first read BARs of gfx
pt_bar_reg_read: first read BARs of gfx
pt_bar_reg_read: first read BARs of gfx
pt_iomem_map: e_phys=ec000000 maddr=ec000000 type=0 len=33554432 index=0
first_map=1
pt_iomem_map: e_phys=e0000000 maddr=e0000000 type=8 len=134217728 index=1
first_map=1
pt_iomem_map: e_phys=e8000000 maddr=e8000000 type=8 len=67108864 index=3
first_map=1
pt_ioport_map: e_phys=2000 pio_base=2000 len=128 index=5 first_map=1
pt_ioport_map: e_phys=c200 pio_base=2000 len=128 index=5 first_map=0
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.
pt_pci_read_config: Error: Failed to read register with invalid access size
alignment. [00:05.0][Offset:0eh][Length:4]
pt_pci_read_config: Error: Failed to read register with invalid access size
alignment. [00:05.0][Offset:0eh][Length:4]
pt_pci_read_config: Error: Failed to read register with invalid access size
alignment. [00:05.0][Offset:0eh][Length:4]
pt_pci_read_config: Error: Failed to read register with invalid access size
alignment. [00:05.0][Offset:0eh][Length:4]
pt_pci_read_config: Error: Failed to read register with invalid access size
alignment. [00:05.0][Offset:0eh][Length:4]
pt_pci_read_config: Error: Failed to read register with invalid access size
alignment. [00:05.0][Offset:0eh][Length:4]
pt_pci_read_config: Error: Failed to read register with invalid access size
alignment. [00:05.0][Offset:0eh][Length:4]
pt_bar_reg_read: first read BARs of gfx
pt_bar_reg_read: first read BARs of gfx
pt_iomem_map: e_phys=ffffffff maddr=ec000000 type=0 len=33554432 index=0
first_map=0
pt_iomem_map: e_phys=ffffffff maddr=e0000000 type=8 len=134217728 index=1
first_map=0
pt_iomem_map: e_phys=ffffffff maddr=e8000000 type=8 len=67108864 index=3
first_map=0
pt_ioport_map: e_phys=ffff pio_base=2000 len=128 index=5 first_map=0
pt_iomem_map: e_phys=ec000000 maddr=ec000000 type=0 len=33554432 index=0
first_map=0
pt_iomem_map: e_phys=e0000000 maddr=e0000000 type=8 len=134217728 index=1
first_map=0
pt_iomem_map: e_phys=e8000000 maddr=e8000000 type=8 len=67108864 index=3
first_map=0
pt_ioport_map: e_phys=c200 pio_base=2000 len=128 index=5 first_map=0


How can i fix this? 
Is the patch hvmloader already applied in xen-unstable4.2?
Is there any difference between using pci-stub instead of pciback?

With these 2 patches applied I cannot run the virtual machine neither with
gfx_passthru = 0, but without those patches i was able to do it and was able
to see the Nvidia Card inside Windows but with error code43 and a yellow
exclamation symbol...

Any help would be welcome, thanks.




-----
JavMV
--
View this message in context: 
http://xen.1045712.n5.nabble.com/VGA-passthrough-on-unstable-tp4372548p4384395.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

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