win-pvdrivers
changeset 372:649b05070ede
Fixed hang bug in xenhide on x64.
Reordered driver installation in installer to try and reduce the number of popups on install.
Reordered driver installation in installer to try and reduce the number of popups on install.
author | James Harper <james.harper@bendigoit.com.au> |
---|---|
date | Wed Jul 09 20:16:36 2008 +1000 (2008-07-09) |
parents | 2ff96a909c28 |
children | 6b1c00d218e9 |
files | common.inc installer.nsi xenhide/xenhide.c |
line diff
1.1 --- a/common.inc Mon Jul 07 22:46:08 2008 +1000 1.2 +++ b/common.inc Wed Jul 09 20:16:36 2008 +1000 1.3 @@ -1,4 +1,4 @@ 1.4 -VERSION=0.9.10.5 1.5 +VERSION=0.9.10.7 1.6 TARGETPATH=..\Target\$(DDK_TARGET_OS) 1.7 MSC_WARNING_LEVEL=/W4 1.8 INCLUDES = ..\common\include;..\common\include\public
2.1 --- a/installer.nsi Mon Jul 07 22:46:08 2008 +1000 2.2 +++ b/installer.nsi Wed Jul 09 20:16:36 2008 +1000 2.3 @@ -3,7 +3,7 @@ 2.4 2.5 !define AppName "Xen PV Drivers" 2.6 !define StartMenu "$SMPROGRAMS\${AppName}" 2.7 -!define Version "0.9.11-pre5" 2.8 +!define Version "0.9.11-pre6" 2.9 #!define Version "$%VERSION%" 2.10 Name "${AppName}" 2.11 InstallDir "$PROGRAMFILES\${AppName}" 2.12 @@ -176,11 +176,6 @@ SectionEnd 2.13 2.14 Section "Install Drivers" installdrivers 2.15 Push "$INSTDIR\drivers" 2.16 - Push "$INSTDIR\drivers\xenpci.inf" 2.17 - Push "PCI\VEN_5853&DEV_0001" 2.18 - Call InstallUpgradeDriver 2.19 - 2.20 - Push "$INSTDIR\drivers" 2.21 Push "$INSTDIR\drivers\xennet.inf" 2.22 Push "XEN\VIF" 2.23 Call InstallUpgradeDriver 2.24 @@ -209,6 +204,11 @@ Section "Install Drivers" installdrivers 2.25 Push "$INSTDIR\drivers\xenstub.inf" 2.26 Push "XEN\VKBD" 2.27 Call InstallUpgradeDriver 2.28 + 2.29 + Push "$INSTDIR\drivers" 2.30 + Push "$INSTDIR\drivers\xenpci.inf" 2.31 + Push "PCI\VEN_5853&DEV_0001" 2.32 + Call InstallUpgradeDriver 2.33 SectionEnd 2.34 2.35 Var arch
3.1 --- a/xenhide/xenhide.c Mon Jul 07 22:46:08 2008 +1000 3.2 +++ b/xenhide/xenhide.c Wed Jul 09 20:16:36 2008 +1000 3.3 @@ -172,12 +172,13 @@ XenHide_IdSuffixMatches(PDEVICE_OBJECT p 3.4 { 3.5 NTSTATUS status; 3.6 ULONG remaining; 3.7 - ULONG string_length; 3.8 + size_t string_length; 3.9 WCHAR ids[512]; 3.10 PWCHAR ptr; 3.11 ULONG ids_length; 3.12 int i; 3.13 3.14 +// KdPrint((__DRIVER_NAME " --> " __FUNCTION__ "\n")); 3.15 for (i = 0; i < 2; i++) 3.16 { 3.17 if (i == 0) 3.18 @@ -187,26 +188,29 @@ XenHide_IdSuffixMatches(PDEVICE_OBJECT p 3.19 3.20 if (!NT_SUCCESS(status)) 3.21 { 3.22 - //KdPrint((__DRIVER_NAME " i = %d, status = %x, ids_length = %d\n", i, status, ids_length)); 3.23 +// KdPrint((__DRIVER_NAME " i = %d, status = %x, ids_length = %d\n", i, status, ids_length)); 3.24 continue; 3.25 } 3.26 3.27 remaining = ids_length / 2; 3.28 for (ptr = ids; *ptr != 0; ptr += string_length + 1) 3.29 { 3.30 - RtlStringCchLengthW(ptr, remaining, (size_t *)&string_length); 3.31 - remaining -= string_length - 1; 3.32 + RtlStringCchLengthW(ptr, remaining, &string_length); 3.33 + remaining -= (ULONG)string_length + 1; 3.34 if (string_length >= wcslen(matching_id)) 3.35 { 3.36 ptr += string_length - wcslen(matching_id); 3.37 - string_length -= (ULONG)wcslen(matching_id); 3.38 + string_length = (ULONG)wcslen(matching_id); 3.39 } 3.40 - //KdPrint((__DRIVER_NAME " Comparing '%S' and '%S'\n", ptr, matching_id)); 3.41 +// KdPrint((__DRIVER_NAME " Comparing '%S' and '%S'\n", ptr, matching_id)); 3.42 if (wcscmp(ptr, matching_id) == 0) 3.43 - return TRUE; 3.44 + { 3.45 + KdPrint((__DRIVER_NAME " <-- " __FUNCTION__ " (Match)\n")); 3.46 + return TRUE; 3.47 + } 3.48 } 3.49 } 3.50 - //KdPrint((__DRIVER_NAME " No match\n")); 3.51 +// KdPrint((__DRIVER_NAME " <-- " __FUNCTION__ " (No match)\n")); 3.52 return FALSE; 3.53 } 3.54