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-tp4372548p4384397.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
|