On Tue, Apr 05, 2016 at 01:47:31PM +0200, Cédric Bosdonnat wrote:
We need to adapt the Services\viostor\Enum\PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00 subkey to what windows actually uses. --- v2v/windows_virtio.ml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/v2v/windows_virtio.ml b/v2v/windows_virtio.ml index 8a0b529..dfb7b71 100644 --- a/v2v/windows_virtio.ml +++ b/v2v/windows_virtio.ml @@ -139,15 +139,18 @@ and add_viostor_to_registry g inspect root current_cs driverdir = if (major == 6 && minor >= 2) || major >= 7 then (* Windows >= 8 *) add_viostor_to_driver_database g root arch current_cs driverdir else (* Windows <= 7 *) - add_viostor_to_critical_device_database g root current_cs + add_viostor_to_critical_device_database g root current_cs major
This is OK, but maybe we can just pass the 'inspect' struct down into add_viostor_to_critical_device_database (between g & root parameters)? Maybe we'll need to use other inspection data in future. We really ought to collect all these parameters into a struct :-) Rich.
-and add_viostor_to_critical_device_database g root current_cs = +and add_viostor_to_critical_device_database g root current_cs major = (* See http://rwmj.wordpress.com/2010/04/30/tip-install-a-device-driver-in-a-window... * NB: All these edits are in the HKLM\SYSTEM hive. No other * hive may be modified here. *) let driver = "viostor.sys" in let driver_name = Filename.chop_extension driver in + (* Windows 2k3 uses '&0&', windows 2k8 '&2&' *) + let subkey = + if (major == 5) then "3&13c0b0c5&0" else "3&13c0b0c5&2" in let regedits = [ [ current_cs; "Control"; "CriticalDeviceDatabase"; "pci#ven_1af4&dev_1001&subsys_00000000" ], [ "Service", REG_SZ driver_name; @@ -190,7 +193,7 @@ and add_viostor_to_critical_device_database g root current_cs = [ "5", REG_DWORD 0x1_l ];
[ current_cs; "Services"; driver_name; "Enum" ], - [ "0", REG_SZ "PCI\\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00\\3&13c0b0c5&0&20"; + [ "0", REG_SZ (sprintf "PCI\\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00\\%s&20" subkey); "Count", REG_DWORD 0x1_l; "NextInstance", REG_DWORD 0x1_l ]; ] in -- 2.6.2
_______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top