win-pvdrivers

changeset 227:4cc15e403eb5

minor tweaks. Trying to find the cause of a crash when gso is disabled
author James Harper <james.harper@bendigoit.com.au>
date Thu Mar 27 23:04:54 2008 +1100 (2008-03-27)
parents 9f155354d6ba
children 759dc65f0b42
files common.inc doc/INSTALLING.txt target/install.bat xennet/xennet_oid.c xenvbd/xenvbd.c
line diff
     1.1 --- a/common.inc	Wed Mar 26 23:23:08 2008 +1100
     1.2 +++ b/common.inc	Thu Mar 27 23:04:54 2008 +1100
     1.3 @@ -1,4 +1,4 @@
     1.4 -VERSION=0.8.5.91
     1.5 +VERSION=0.8.5.96
     1.6  TARGETPATH=..\Target\$(DDK_TARGET_OS)
     1.7  KMDF_VERSION=1
     1.8  !IF $(_NT_TOOLS_VERSION) > 0x700
     2.1 --- a/doc/INSTALLING.txt	Wed Mar 26 23:23:08 2008 +1100
     2.2 +++ b/doc/INSTALLING.txt	Thu Mar 27 23:04:54 2008 +1100
     2.3 @@ -2,12 +2,18 @@ Please follow the steps here exactly. If
     2.4  an unbootable machine (although 'Last known good configuration' should 
     2.5  make it bootable again). 
     2.6  
     2.7 -0. If you are installing over a previous version where you installed the xenhide
     2.8 +0a. If you are installing over a previous version where you installed the xenhide
     2.9  driver over the top of the windows PCI driver, make sure you install the system
    2.10  PCI driver back again. doing an Update Driver on xenhide and just clicking next
    2.11  should do this. It's probably a good idea to also uninstall all the xen drivers
    2.12  too before upgrading... ymmv.
    2.13  
    2.14 +0b. If you are upgrading from a more recent version than the above, do the
    2.15 +following (until I get upgrading definitely working properly):
    2.16 +    i. Boot into non-GPLPV mode
    2.17 +    ii. Remove C:\windows\system32\drivers\xen*.sys (*** EXCEPT xenhide.sys ***)
    2.18 +    iii. Reboot, back into non-GPLPV mode again
    2.19 +
    2.20  1. Copy the driver files that you built by following the BUILDING.txt 
    2.21  steps (or that you got from a binary dist), so that on your testing 
    2.22  machine the tree looks like this: 
    2.23 @@ -72,9 +78,9 @@ specifying /gplpv and doing something li
    2.24  xm block-attach mywindowsdomain phy:/dev/someblockdevice /dev/hdc w
    2.25  " 
    2.26  
    2.27 -You need to specify the 'phy:' in your xen config file and in the
    2.28 -block-attach line otherwise the backend doesn't seem to publish the block
    2.29 -and sector sizes correctly. 
    2.30 +For physical devices only, you need to specify the 'phy:' in your xen
    2.31 +config file and in the block-attach line otherwise the backend doesn't
    2.32 +seem to publish the block and sector sizes correctly.
    2.33  
    2.34  If you do the block-attach, then your block device should show up under 
    2.35  windows, and you can partition it etc. 
     3.1 --- a/target/install.bat	Wed Mar 26 23:23:08 2008 +1100
     3.2 +++ b/target/install.bat	Thu Mar 27 23:04:54 2008 +1100
     3.3 @@ -1,6 +1,6 @@
     3.4  @ECHO OFF
     3.5  
     3.6 -ver | find "Version 5.0." > nul
     3.7 +ver | find "Version 5.00." > nul
     3.8  if %ERRORLEVEL% == 0 goto ver_2k
     3.9  
    3.10  ver | find "Version 5.1." > nul
     4.1 --- a/xennet/xennet_oid.c	Wed Mar 26 23:23:08 2008 +1100
     4.2 +++ b/xennet/xennet_oid.c	Thu Mar 27 23:04:54 2008 +1100
     4.3 @@ -89,6 +89,9 @@ XenNet_QueryInformation(
     4.4    PNDIS_TASK_TCP_IP_CHECKSUM nttic;
     4.5    PNDIS_TASK_TCP_LARGE_SEND nttls;
     4.6  
     4.7 +  *BytesNeeded = 0;
     4.8 +  *BytesWritten = 0;
     4.9 +
    4.10  //  KdPrint((__DRIVER_NAME " --> " __FUNCTION__ "\n"));
    4.11  
    4.12    switch(Oid)
    4.13 @@ -223,10 +226,13 @@ XenNet_QueryInformation(
    4.14            + sizeof(NDIS_TASK_TCP_LARGE_SEND);
    4.15        }
    4.16  
    4.17 +      //len += 1024;
    4.18 +
    4.19        if (len > InformationBufferLength)
    4.20        {
    4.21            break;
    4.22        }
    4.23 +
    4.24        KdPrint(("InformationBuffer = %p\n", InformationBuffer));
    4.25        KdPrint(("len = %d\n", len));
    4.26  
    4.27 @@ -324,6 +330,8 @@ XenNet_QueryInformation(
    4.28          nttls->MinSegmentCount = MIN_LARGE_SEND_SEGMENTS;
    4.29          nttls->TcpOptions = TRUE;
    4.30          nttls->IpOptions = TRUE;
    4.31 +        KdPrint(("&(nttls->IpOptions) = %p\n", &(nttls->IpOptions)));
    4.32 +        
    4.33        }
    4.34  
    4.35        if (!nto)
    4.36 @@ -345,7 +353,7 @@ XenNet_QueryInformation(
    4.37    if (len > InformationBufferLength)
    4.38    {
    4.39      *BytesNeeded = len;
    4.40 -    KdPrint((__DRIVER_NAME " <-- " __FUNCTION__ " (BUFFER_TOO_SHORT)\n"));
    4.41 +    KdPrint((__DRIVER_NAME " <-- " __FUNCTION__ " (BUFFER_TOO_SHORT %d > %d)\n", len, InformationBufferLength));
    4.42      return NDIS_STATUS_BUFFER_TOO_SHORT;
    4.43    }
    4.44  
     5.1 --- a/xenvbd/xenvbd.c	Wed Mar 26 23:23:08 2008 +1100
     5.2 +++ b/xenvbd/xenvbd.c	Thu Mar 27 23:04:54 2008 +1100
     5.3 @@ -534,7 +534,7 @@ XenVbd_WatchHandler(char *Path, PVOID De
     5.4    KIRQL OldIrql;
     5.5    int i;
     5.6  
     5.7 -  KdPrint((__DRIVER_NAME " --> WatchHandler (DeviceData = %p)\n", DeviceData));
     5.8 +  KdPrint((__DRIVER_NAME " --> " __FUNCTION__ "(DeviceData = %p)\n", DeviceData));
     5.9    KdPrint((__DRIVER_NAME "     IRQL = %d\n", KeGetCurrentIrql()));
    5.10  
    5.11    KdPrint((__DRIVER_NAME "     Path = %s\n", Path));
    5.12 @@ -554,7 +554,7 @@ XenVbd_WatchHandler(char *Path, PVOID De
    5.13  
    5.14      KeAcquireSpinLock(&DeviceData->Lock, &OldIrql);
    5.15  
    5.16 -    for (VacantTarget = NULL,i = 0; i < SCSI_BUSES * SCSI_TARGETS_PER_BUS; i++)
    5.17 +    for (VacantTarget = NULL, i = 0; i < SCSI_BUSES * SCSI_TARGETS_PER_BUS; i++)
    5.18      {
    5.19        CurrentBus = i / SCSI_TARGETS_PER_BUS;
    5.20        CurrentTarget = i % SCSI_TARGETS_PER_BUS;
    5.21 @@ -616,7 +616,7 @@ XenVbd_WatchHandler(char *Path, PVOID De
    5.22    
    5.23    FreeSplitString(Bits, Count);
    5.24  
    5.25 -  KdPrint((__DRIVER_NAME " <-- WatchHandler\n"));  
    5.26 +  KdPrint((__DRIVER_NAME " <-- " __FUNCTION__ "\n"));  
    5.27  
    5.28    return;
    5.29  }