win-pvdrivers

changeset 1099:27bd2a5a4704

License change from GPL to BSD
author James Harper <james.harper@bendigoit.com.au>
date Thu Mar 13 13:38:31 2014 +1100 (2014-03-13)
parents 470198964cf0
children 86a97ef8cdf9
files archive.bat common/include/ejbpv_version.h common/include/gplpv_version.h common/include/xen_windows.h installer.wxs license.rtf makedist.bat mingw/mingw_extras.c mingw/mingw_extras.h mingw/w32api.diff wix.bat xencache/xencache.rc xennet/xennet.c xennet/xennet.h xennet/xennet.rc xennet/xennet_common.c xennet/xennet_oid.c xennet/xennet_rx.c xennet/xennet_tx.c xenpci/evtchn.c xenpci/gnttbl.c xenpci/xenbus.c xenpci/xenpci.c xenpci/xenpci.h xenpci/xenpci.rc xenpci/xenpci_dbgprint.c xenpci/xenpci_export.c xenpci/xenpci_fdo.c xenpci/xenpci_highsync.c xenpci/xenpci_patch_kernel.c xenpci/xenpci_pdo.c xenusb/xenusb.rc xenvbd_common/common_miniport.h xenvbd_filter/xenvbd_filter.c xenvbd_filter/xenvbd_filter.h xenvbd_filter/xenvbd_filter.rc xenvbd_scsiport/common.h xenvbd_scsiport/xenvbd.c xenvbd_scsiport/xenvbd.h xenvbd_scsiport/xenvbd.rc xenvbd_storport/xenvbd.c xenvbd_storport/xenvbd.rc
line diff
     1.1 --- a/archive.bat	Thu Jan 16 19:52:24 2014 +1100
     1.2 +++ b/archive.bat	Thu Mar 13 13:38:31 2014 +1100
     1.3 @@ -21,6 +21,6 @@ SET SYMFILES=%SYMFILES% xenvbd_storport\
     1.4  
     1.5  :symfiles_done
     1.6  
     1.7 -%SEVENZIP% a -y symbols_%BUILD_ALT_DIR%_%GPLPV_VERSION%.zip %SYMFILES%
     1.8 +%SEVENZIP% a -y symbols_%BUILD_ALT_DIR%_%EJBPV_VERSION%.zip %SYMFILES%
     1.9  
    1.10  :end
    1.11 \ No newline at end of file
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/common/include/ejbpv_version.h	Thu Mar 13 13:38:31 2014 +1100
     2.3 @@ -0,0 +1,72 @@
     2.4 +/*
     2.5 +PV Drivers for Windows Xen HVM Domains
     2.6 +
     2.7 +Copyright (c) 2014, James Harper
     2.8 +All rights reserved.
     2.9 +
    2.10 +Redistribution and use in source and binary forms, with or without
    2.11 +modification, are permitted provided that the following conditions are met:
    2.12 +    * Redistributions of source code must retain the above copyright
    2.13 +      notice, this list of conditions and the following disclaimer.
    2.14 +    * Redistributions in binary form must reproduce the above copyright
    2.15 +      notice, this list of conditions and the following disclaimer in the
    2.16 +      documentation and/or other materials provided with the distribution.
    2.17 +    * Neither the name of James Harper nor the
    2.18 +      names of its contributors may be used to endorse or promote products
    2.19 +      derived from this software without specific prior written permission.
    2.20 +
    2.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    2.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    2.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    2.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
    2.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    2.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    2.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    2.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    2.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    2.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2.31 +*/
    2.32 +
    2.33 +#ifndef EJBPV_VERSION_H
    2.34 +#define EJBPV_VERSION_H
    2.35 +
    2.36 +#define EXPAND(x) STRINGIFY(x)
    2.37 +#define STRINGIFY(x) #x
    2.38 +
    2.39 +#define VER_FILETYPE                VFT_DRV
    2.40 +#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
    2.41 +#ifdef DEBUG
    2.42 +  #define VER_FILEDESCRIPTION_STR     EJBPV_DRIVER_DESCRIPTION 
    2.43 +#else
    2.44 +  #define VER_FILEDESCRIPTION_STR     EJBPV_DRIVER_DESCRIPTION " (Checked Build)"
    2.45 +#endif
    2.46 +#define VER_INTERNALNAME_STR        EJBPV_DRIVER_FILENAME 
    2.47 +#define VER_ORIGINALFILENAME_STR    EJBPV_DRIVER_FILENAME 
    2.48 +
    2.49 +#ifdef VERSION_MAJOR
    2.50 +  #ifdef BUILD_NUMBER
    2.51 +    #define VER_FILEVERSION             VERSION_MAJOR,VERSION_MINOR,REVISION,BUILD_NUMBER
    2.52 +    #define VER_FILEVERSION_STR         "EJBPV " EXPAND(VERSION_MAJOR) "." EXPAND(VERSION_MINOR) "." EXPAND(REVISION) "." EXPAND(BUILD_NUMBER)
    2.53 +  #else
    2.54 +    #define VER_FILEVERSION             VERSION_MAJOR,VERSION_MINOR,REVISION,0
    2.55 +    #define VER_FILEVERSION_STR         "EJBPV " EXPAND(VERSION_MAJOR) "." EXPAND(VERSION_MINOR) "." EXPAND(REVISION)
    2.56 +  #endif
    2.57 +#else
    2.58 +  #define VER_FILEVERSION             0,0,0,0
    2.59 +  #define VER_FILEVERSION_STR         "EJBPV Unversioned"
    2.60 +#endif
    2.61 +
    2.62 +#undef VER_PRODUCTVERSION
    2.63 +#define VER_PRODUCTVERSION          VER_FILEVERSION
    2.64 +#undef VER_PRODUCTVERSION_STR
    2.65 +#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
    2.66 +#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2014 James Harper" 
    2.67 +
    2.68 +#ifdef VER_COMPANYNAME_STR
    2.69 +#undef VER_COMPANYNAME_STR
    2.70 +#define VER_COMPANYNAME_STR         "James Harper"
    2.71 +#endif
    2.72 +#undef VER_PRODUCTNAME_STR
    2.73 +#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
    2.74 +
    2.75 +#endif
     3.1 --- a/common/include/gplpv_version.h	Thu Jan 16 19:52:24 2014 +1100
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,20 +0,0 @@
     3.4 -#ifndef GPLPV_VERSION_H
     3.5 -#define GPLPV_VERSION_H
     3.6 -
     3.7 -#define EXPAND(x) STRINGIFY(x)
     3.8 -#define STRINGIFY(x) #x
     3.9 -
    3.10 -#ifdef VERSION_MAJOR
    3.11 -  #ifdef BUILD_NUMBER
    3.12 -    #define VER_FILEVERSION             VERSION_MAJOR,VERSION_MINOR,REVISION,BUILD_NUMBER
    3.13 -    #define VER_FILEVERSION_STR         "GPLPV " EXPAND(VERSION_MAJOR) "." EXPAND(VERSION_MINOR) "." EXPAND(REVISION) "." EXPAND(BUILD_NUMBER)
    3.14 -  #else
    3.15 -    #define VER_FILEVERSION             VERSION_MAJOR,VERSION_MINOR,REVISION,0
    3.16 -    #define VER_FILEVERSION_STR         "GPLPV " EXPAND(VERSION_MAJOR) "." EXPAND(VERSION_MINOR) "." EXPAND(REVISION)
    3.17 -  #endif
    3.18 -#else
    3.19 -  #define VER_FILEVERSION             0,0,0,0
    3.20 -  #define VER_FILEVERSION_STR         "GPLPV Unversioned"
    3.21 -#endif
    3.22 -
    3.23 -#endif
     4.1 --- a/common/include/xen_windows.h	Thu Jan 16 19:52:24 2014 +1100
     4.2 +++ b/common/include/xen_windows.h	Thu Mar 13 13:38:31 2014 +1100
     4.3 @@ -1,9 +1,10 @@
     4.4  #if !defined(_XEN_WINDOWS_H_)
     4.5  #define _XEN_WINDOWS_H_
     4.6  
     4.7 -#include "gplpv_version.h"
     4.8 +#include <ntverp.h>
     4.9  
    4.10 -#include <ntverp.h>
    4.11 +#include "ejbpv_version.h"
    4.12 +
    4.13  #pragma warning( disable : 4201 ) // nonstandard extension used : nameless struct/union
    4.14  #pragma warning( disable : 4214 ) // nonstandard extension used : bit field types other than int
    4.15  #pragma warning( disable : 4505 ) // 'XenDbgPrint' : unreferenced local function has been removed
     5.1 --- a/installer.wxs	Thu Jan 16 19:52:24 2014 +1100
     5.2 +++ b/installer.wxs	Thu Mar 13 13:38:31 2014 +1100
     5.3 @@ -6,11 +6,11 @@
     5.4      <?define ARCHDIR = amd64 ?>
     5.5    <?endif ?>
     5.6  
     5.7 -  <Product Name='GPL PV Drivers for Windows' Id='*'
     5.8 +  <Product Name='EJB PV Drivers for Windows' Id='*'
     5.9      UpgradeCode='4EDE5DEC-3208-4a1e-8E52-DAC44F7D7062'
    5.10 -    Language='1033' Codepage='1252' Version='$(env.GPLPV_VERSION)' Manufacturer='James Harper'>
    5.11 +    Language='1033' Codepage='1252' Version='$(env.EJBPV_VERSION)' Manufacturer='James Harper'>
    5.12  
    5.13 -    <Package Id='*' Keywords='Installer' Description="GPL PV Drivers for Windows"
    5.14 +    <Package Id='*' Keywords='Installer' Description="EJB PV Drivers for Windows"
    5.15        Comments='no comment' Manufacturer='James Harper'
    5.16        InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
    5.17  
    5.18 @@ -21,7 +21,7 @@
    5.19        <UIRef Id="WixUI_ErrorProgressText" />
    5.20      </UI>
    5.21      
    5.22 -    <Media Id='1' Cabinet='gplpv.cab' EmbedCab='yes' />
    5.23 +    <Media Id='1' Cabinet='ejbpv.cab' EmbedCab='yes' />
    5.24  
    5.25      <?if $(env.DDK_TARGET_OS) != Win2K ?>
    5.26      <Binary Id='waitfordevices.vbs' SourceFile='waitnopendinginstallevents\waitfordevices.vbs'/>
     6.1 Binary file license.rtf has changed
     7.1 --- a/makedist.bat	Thu Jan 16 19:52:24 2014 +1100
     7.2 +++ b/makedist.bat	Thu Mar 13 13:38:31 2014 +1100
     7.3 @@ -8,19 +8,19 @@ SET VERSION_MINOR=0
     7.4  for /f %%i in ('hg identify --num -r .') do set REVISION=%%i
     7.5  
     7.6  hg status | findstr "^M" && GOTO TEST_BUILD
     7.7 -SET GPLPV_VERSION=%VERSION_MAJOR%.%VERSION_MINOR%.%REVISION%
     7.8 +SET EJBPV_VERSION=%VERSION_MAJOR%.%VERSION_MINOR%.%REVISION%
     7.9  GOTO DONE_VERSION
    7.10  
    7.11  :TEST_BUILD
    7.12  IF EXIST build_number.bat CALL build_number.bat
    7.13 -SET GPLPV_VERSION=%VERSION_MAJOR%.%VERSION_MINOR%.%REVISION%.%BUILD_NUMBER%
    7.14 +SET EJBPV_VERSION=%VERSION_MAJOR%.%VERSION_MINOR%.%REVISION%.%BUILD_NUMBER%
    7.15  
    7.16  :DONE_VERSION
    7.17  
    7.18  SET /A NEW_BUILD_NUMBER=%BUILD_NUMBER%+1
    7.19  ECHO >build_number.bat SET BUILD_NUMBER=%NEW_BUILD_NUMBER%
    7.20  
    7.21 -ECHO BUILDING %GPLPV_VERSION%
    7.22 +ECHO BUILDING %EJBPV_VERSION%
    7.23  
    7.24  CALL set_ddk_path.bat
    7.25  CALL set_ddk_path_2K.bat
    7.26 @@ -41,11 +41,11 @@ SET CERT_PASSWORD_FLAG=
    7.27  IF DEFINED CERT_CROSS_CERT_FILENAME SET CERT_CROSS_CERT_FLAG=/ac %CERT_CROSS_CERT_FILENAME%
    7.28  IF DEFINED CERT_PASSWORD SET CERT_PASSWORD_FLAG=-p %CERT_PASSWORD%
    7.29  IF EXIST %CERT_FILENAME% GOTO :DONT_SIGN
    7.30 -"%DDK_PATH%"\bin\x86\makecert -r -pe -ss PrivateCertStore -n "CN=GPLPV Test Cert" %CERT_PUBLIC_FILENAME%
    7.31 -certutil -exportpfx -user -privatekey %CERT_PASSWORD_FLAG% PrivateCertStore "GPLPV Test Cert" "%CERT_FILENAME%
    7.32 +"%DDK_PATH%"\bin\x86\makecert -r -pe -ss PrivateCertStore -n "CN=EJBPV Test Cert" %CERT_PUBLIC_FILENAME%
    7.33 +certutil -exportpfx -user -privatekey %CERT_PASSWORD_FLAG% PrivateCertStore "EJBPV Test Cert" "%CERT_FILENAME%
    7.34  :DONT_SIGN
    7.35  
    7.36 -mkdir symbols\%GPLPV_VERSION%
    7.37 +mkdir symbols\%EJBPV_VERSION%
    7.38  
    7.39  cmd /C "%DDK_PATH_2K%\bin\setenv.bat %DDK_PATH_2K%\ chk W2K && CD /D "%PV_DIR%" && build -cZg ~xenvbd_storport ~xenusb ~copyconfig ~waitnopendinginstallevents && call sign.bat && call archive.bat && call wix.bat"
    7.40  
    7.41 @@ -76,6 +76,6 @@ IF NOT EXIST TAG_HG GOTO DONT_TAG
    7.42  IF EXIST BUILD*.WRN GOTO DONT_TAG
    7.43  IF EXIST BUILD*.ERR GOTO DONT_TAG
    7.44  
    7.45 -hg tag %GPLPV_VERSION%
    7.46 +hg tag %EJBPV_VERSION%
    7.47  
    7.48  :DONT_TAG
     8.1 --- a/mingw/mingw_extras.c	Thu Jan 16 19:52:24 2014 +1100
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,646 +0,0 @@
     8.4 -/*
     8.5 - * Provide missing std functions needed by the driver but not provided by
     8.6 - * MinGW. Code mostly taken from Linux or as noted.
     8.7 - *
     8.8 - * Remaining code is
     8.9 - * Copyright Andy Grover <andy.grover@oracle.com> 
    8.10 - * and licensed under the GPLv2.
    8.11 - */
    8.12 -
    8.13 -#include <ntddk.h>
    8.14 -#include "mingw_extras.h"
    8.15 -
    8.16 -NTSTATUS bit_scan_forward(unsigned long *index, unsigned long mask)
    8.17 -{
    8.18 -  int i;
    8.19 -
    8.20 -  for (i = 0; i < sizeof(unsigned long)*8; i++)
    8.21 -  {
    8.22 -    if (mask & (1 << i)) {
    8.23 -      *index = i + 1;
    8.24 -      KdPrint(("file %s line %s Check that I work as expected!\n", __FILE__, __LINE__));
    8.25 -      return 1;
    8.26 -    }
    8.27 -  }
    8.28 -
    8.29 -  KdPrint(("file %s line %s Check that I work as expected!\n", __FILE__, __LINE__));
    8.30 -
    8.31 -  return 0;
    8.32 -}
    8.33 -
    8.34 -/**
    8.35 -  From linux include/asm-i386/bitops.h
    8.36 - */
    8.37 -int synch_set_bit(int nr, volatile long * addr)
    8.38 -{
    8.39 -  int oldbit;
    8.40 -
    8.41 -  __asm__ __volatile__( "lock;"
    8.42 -    "btsl %2,%1\n\tsbbl %0,%0"
    8.43 -    :"=r" (oldbit),"+m" (*(volatile long *) addr)
    8.44 -    :"Ir" (nr) : "memory");
    8.45 -
    8.46 -  KdPrint(("file %s line %s Check that I work as expected!\n", __FILE__, __LINE__));
    8.47 -
    8.48 -  return oldbit;
    8.49 -}
    8.50 -
    8.51 -int synch_clear_bit(int nr, volatile long * addr)
    8.52 -{
    8.53 -  int oldbit;
    8.54 -
    8.55 -  __asm__ __volatile__( "lock;"
    8.56 -    "btrl %2,%1\n\tsbbl %0,%0"
    8.57 -    :"=r" (oldbit),"+m" (*(volatile long *) addr)
    8.58 -    :"Ir" (nr) : "memory");
    8.59 -
    8.60 -  KdPrint(("file %s line %s Check that I work as expected!\n", __FILE__, __LINE__));
    8.61 -
    8.62 -  return oldbit;
    8.63 -}
    8.64 -
    8.65 -NTSTATUS
    8.66 -RtlStringCbPrintfW(
    8.67 -  win_wchar_t *dest_str,
    8.68 -  size_t dest_size,
    8.69 -  win_wchar_t *format,
    8.70 -  ...)
    8.71 -{
    8.72 -  va_list args;
    8.73 -  int len;
    8.74 -  int i;
    8.75 -  char tmp_buf[512];
    8.76 -  NTSTATUS status = STATUS_SUCCESS;
    8.77 -
    8.78 -  if (dest_size > sizeof(tmp_buf))
    8.79 -    dest_size = sizeof(tmp_buf);
    8.80 -
    8.81 -  /* we don't have a 2-byte version of vsnprintf, so write it to a single-byte
    8.82 -     array using vsnprintf() and then copy result to the wchar buffer.
    8.83 -     This should be seldom executed, so this inefficiency should be ok. */
    8.84 -  va_start(args, format);
    8.85 -  len = vsnprintf(tmp_buf, sizeof(tmp_buf), (char *)format, args);
    8.86 -  va_end(args);
    8.87 -
    8.88 -  if (len >= (dest_size * sizeof(win_wchar_t))) {
    8.89 -    /* output buffer truncated */
    8.90 -    status = STATUS_BUFFER_OVERFLOW;
    8.91 -    len = sizeof(tmp_buf) - 1;
    8.92 -    tmp_buf[len] = '\0';
    8.93 -  }
    8.94 -
    8.95 -  /* copy byte-string to short_string, incl NULL */
    8.96 -  for (i = 0; i < (len + 1); i++)
    8.97 -  {
    8.98 -    dest_str[i] = tmp_buf[i];
    8.99 -  }
   8.100 -
   8.101 -  return status;
   8.102 -}
   8.103 -
   8.104 -/* ----- BEGIN Other people's code --------- */
   8.105 -
   8.106 -/* from arch/x86/boot/string.c, used under GPLv2 */
   8.107 -/* Copyright (C) 1991, 1992 Linus Torvalds
   8.108 - * Copyright 2007 rPath, Inc. - All Rights Reserved
   8.109 - */
   8.110 -size_t strnlen(const char *s, size_t maxlen)
   8.111 -{
   8.112 -  const char *es = s;
   8.113 -  while (*es && maxlen) {
   8.114 -    es++;
   8.115 -    maxlen--;
   8.116 -  }
   8.117 -
   8.118 -  return (es - s);
   8.119 -}
   8.120 -
   8.121 -/* from arch/x86/boot/boot.h, used under GPLv2 */
   8.122 -/* Copyright (C) 1991, 1992 Linus Torvalds
   8.123 - * Copyright 2007 rPath, Inc. - All Rights Reserved
   8.124 - */
   8.125 -static int isdigit(int ch)
   8.126 -{
   8.127 -        return (ch >= '0') && (ch <= '9');
   8.128 -}
   8.129 -
   8.130 -/* from K&Rv2 p. 43 */
   8.131 -int atoi(const char s[])
   8.132 -{
   8.133 -  int i, n;
   8.134 -
   8.135 -  n = 0;
   8.136 -  for(i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
   8.137 -    n = 10 * n + (s[i] - '0');
   8.138 -  return n;
   8.139 -}
   8.140 -
   8.141 -/* from linux/lib/vsprintf.c, used under GPLv2 */
   8.142 -/* Copyright (C) 1991, 1992  Linus Torvalds
   8.143 - * Wirzenius wrote this portably, Torvalds fucked it up :-)
   8.144 - */
   8.145 -static int skip_atoi(const char **s)
   8.146 -{
   8.147 -	int i=0;
   8.148 -
   8.149 -	while (isdigit(**s))
   8.150 -		i = i*10 + *((*s)++) - '0';
   8.151 -	return i;
   8.152 -}
   8.153 -
   8.154 -int snprintf(char * buf, size_t size, const char *fmt, ...)
   8.155 -{
   8.156 -  va_list args;
   8.157 -  int i;
   8.158 -
   8.159 -  va_start(args, fmt);
   8.160 -  i = vsnprintf(buf,size,fmt,args);
   8.161 -  va_end(args);
   8.162 -  return i;
   8.163 -}
   8.164 -
   8.165 -#define do_div(n,base) ({ \
   8.166 -int __res; \
   8.167 -__res = ((unsigned long) n) % (unsigned) base; \
   8.168 -n = ((unsigned long) n) / (unsigned) base; \
   8.169 -__res; })
   8.170 -
   8.171 -
   8.172 -/* Decimal conversion is by far the most typical, and is used
   8.173 - * for /proc and /sys data. This directly impacts e.g. top performance
   8.174 - * with many processes running. We optimize it for speed
   8.175 - * using code from
   8.176 - * http://www.cs.uiowa.edu/~jones/bcd/decimal.html
   8.177 - * (with permission from the author, Douglas W. Jones). */
   8.178 -
   8.179 -/* Formats correctly any integer in [0,99999].
   8.180 - * Outputs from one to five digits depending on input.
   8.181 - * On i386 gcc 4.1.2 -O2: ~250 bytes of code. */
   8.182 -static char* put_dec_trunc(char *buf, unsigned q)
   8.183 -{
   8.184 -	unsigned d3, d2, d1, d0;
   8.185 -	d1 = (q>>4) & 0xf;
   8.186 -	d2 = (q>>8) & 0xf;
   8.187 -	d3 = (q>>12);
   8.188 -
   8.189 -	d0 = 6*(d3 + d2 + d1) + (q & 0xf);
   8.190 -	q = (d0 * 0xcd) >> 11;
   8.191 -	d0 = d0 - 10*q;
   8.192 -	*buf++ = d0 + '0'; /* least significant digit */
   8.193 -	d1 = q + 9*d3 + 5*d2 + d1;
   8.194 -	if (d1 != 0) {
   8.195 -		q = (d1 * 0xcd) >> 11;
   8.196 -		d1 = d1 - 10*q;
   8.197 -		*buf++ = d1 + '0'; /* next digit */
   8.198 -
   8.199 -		d2 = q + 2*d2;
   8.200 -		if ((d2 != 0) || (d3 != 0)) {
   8.201 -			q = (d2 * 0xd) >> 7;
   8.202 -			d2 = d2 - 10*q;
   8.203 -			*buf++ = d2 + '0'; /* next digit */
   8.204 -
   8.205 -			d3 = q + 4*d3;
   8.206 -			if (d3 != 0) {
   8.207 -				q = (d3 * 0xcd) >> 11;
   8.208 -				d3 = d3 - 10*q;
   8.209 -				*buf++ = d3 + '0';  /* next digit */
   8.210 -				if (q != 0)
   8.211 -					*buf++ = q + '0';  /* most sign. digit */
   8.212 -			}
   8.213 -		}
   8.214 -	}
   8.215 -	return buf;
   8.216 -}
   8.217 -/* Same with if's removed. Always emits five digits */
   8.218 -static char* put_dec_full(char *buf, unsigned q)
   8.219 -{
   8.220 -	/* BTW, if q is in [0,9999], 8-bit ints will be enough, */
   8.221 -	/* but anyway, gcc produces better code with full-sized ints */
   8.222 -	unsigned d3, d2, d1, d0;
   8.223 -	d1 = (q>>4) & 0xf;
   8.224 -	d2 = (q>>8) & 0xf;
   8.225 -	d3 = (q>>12);
   8.226 -
   8.227 -	/* Possible ways to approx. divide by 10 */
   8.228 -	/* gcc -O2 replaces multiply with shifts and adds */
   8.229 -	// (x * 0xcd) >> 11: 11001101 - shorter code than * 0x67 (on i386)
   8.230 -	// (x * 0x67) >> 10:  1100111
   8.231 -	// (x * 0x34) >> 9:    110100 - same
   8.232 -	// (x * 0x1a) >> 8:     11010 - same
   8.233 -	// (x * 0x0d) >> 7:      1101 - same, shortest code (on i386)
   8.234 -
   8.235 -	d0 = 6*(d3 + d2 + d1) + (q & 0xf);
   8.236 -	q = (d0 * 0xcd) >> 11;
   8.237 -	d0 = d0 - 10*q;
   8.238 -	*buf++ = d0 + '0';
   8.239 -	d1 = q + 9*d3 + 5*d2 + d1;
   8.240 -		q = (d1 * 0xcd) >> 11;
   8.241 -		d1 = d1 - 10*q;
   8.242 -		*buf++ = d1 + '0';
   8.243 -
   8.244 -		d2 = q + 2*d2;
   8.245 -			q = (d2 * 0xd) >> 7;
   8.246 -			d2 = d2 - 10*q;
   8.247 -			*buf++ = d2 + '0';
   8.248 -
   8.249 -			d3 = q + 4*d3;
   8.250 -				q = (d3 * 0xcd) >> 11; /* - shorter code */
   8.251 -				/* q = (d3 * 0x67) >> 10; - would also work */
   8.252 -				d3 = d3 - 10*q;
   8.253 -				*buf++ = d3 + '0';
   8.254 -					*buf++ = q + '0';
   8.255 -	return buf;
   8.256 -}
   8.257 -
   8.258 -static char* put_dec(char *buf, unsigned long long num)
   8.259 -{
   8.260 -	while (1) {
   8.261 -		unsigned rem;
   8.262 -		if (num < 100000)
   8.263 -			return put_dec_trunc(buf, num);
   8.264 -		rem = do_div(num, 100000);
   8.265 -		buf = put_dec_full(buf, rem);
   8.266 -	}
   8.267 -}
   8.268 -
   8.269 -
   8.270 -#define ZEROPAD	1		/* pad with zero */
   8.271 -#define SIGN	2		/* unsigned/signed long */
   8.272 -#define PLUS	4		/* show plus */
   8.273 -#define SPACE	8		/* space if plus */
   8.274 -#define LEFT	16		/* left justified */
   8.275 -#define SMALL	32		/* Must be 32 == 0x20 */
   8.276 -#define SPECIAL	64		/* 0x */
   8.277 -
   8.278 -static char *number(char *buf, char *end, unsigned long long num, int base, int size, int precision, int type)
   8.279 -{
   8.280 -	/* we are called with base 8, 10 or 16, only, thus don't need "G..."  */
   8.281 -	static const char digits[16] = "0123456789ABCDEF"; /* "GHIJKLMNOPQRSTUVWXYZ"; */
   8.282 -
   8.283 -	char tmp[66];
   8.284 -	char sign;
   8.285 -	char locase;
   8.286 -	int need_pfx = ((type & SPECIAL) && base != 10);
   8.287 -	int i;
   8.288 -
   8.289 -	/* locase = 0 or 0x20. ORing digits or letters with 'locase'
   8.290 -	 * produces same digits or (maybe lowercased) letters */
   8.291 -	locase = (type & SMALL);
   8.292 -	if (type & LEFT)
   8.293 -		type &= ~ZEROPAD;
   8.294 -	sign = 0;
   8.295 -	if (type & SIGN) {
   8.296 -		if ((signed long long) num < 0) {
   8.297 -			sign = '-';
   8.298 -			num = - (signed long long) num;
   8.299 -			size--;
   8.300 -		} else if (type & PLUS) {
   8.301 -			sign = '+';
   8.302 -			size--;
   8.303 -		} else if (type & SPACE) {
   8.304 -			sign = ' ';
   8.305 -			size--;
   8.306 -		}
   8.307 -	}
   8.308 -	if (need_pfx) {
   8.309 -		size--;
   8.310 -		if (base == 16)
   8.311 -			size--;
   8.312 -	}
   8.313 -
   8.314 -	/* generate full string in tmp[], in reverse order */
   8.315 -	i = 0;
   8.316 -	if (num == 0)
   8.317 -		tmp[i++] = '0';
   8.318 -	/* Generic code, for any base:
   8.319 -	else do {
   8.320 -		tmp[i++] = (digits[do_div(num,base)] | locase);
   8.321 -	} while (num != 0);
   8.322 -	*/
   8.323 -	else if (base != 10) { /* 8 or 16 */
   8.324 -		int mask = base - 1;
   8.325 -		int shift = 3;
   8.326 -		if (base == 16) shift = 4;
   8.327 -		do {
   8.328 -			tmp[i++] = (digits[((unsigned char)num) & mask] | locase);
   8.329 -			num >>= shift;
   8.330 -		} while (num);
   8.331 -	} else { /* base 10 */
   8.332 -		i = put_dec(tmp, num) - tmp;
   8.333 -	}
   8.334 -
   8.335 -	/* printing 100 using %2d gives "100", not "00" */
   8.336 -	if (i > precision)
   8.337 -		precision = i;
   8.338 -	/* leading space padding */
   8.339 -	size -= precision;
   8.340 -	if (!(type & (ZEROPAD+LEFT))) {
   8.341 -		while(--size >= 0) {
   8.342 -			if (buf < end)
   8.343 -				*buf = ' ';
   8.344 -			++buf;
   8.345 -		}
   8.346 -	}
   8.347 -	/* sign */
   8.348 -	if (sign) {
   8.349 -		if (buf < end)
   8.350 -			*buf = sign;
   8.351 -		++buf;
   8.352 -	}
   8.353 -	/* "0x" / "0" prefix */
   8.354 -	if (need_pfx) {
   8.355 -		if (buf < end)
   8.356 -			*buf = '0';
   8.357 -		++buf;
   8.358 -		if (base == 16) {
   8.359 -			if (buf < end)
   8.360 -				*buf = ('X' | locase);
   8.361 -			++buf;
   8.362 -		}
   8.363 -	}
   8.364 -	/* zero or space padding */
   8.365 -	if (!(type & LEFT)) {
   8.366 -		char c = (type & ZEROPAD) ? '0' : ' ';
   8.367 -		while (--size >= 0) {
   8.368 -			if (buf < end)
   8.369 -				*buf = c;
   8.370 -			++buf;
   8.371 -		}
   8.372 -	}
   8.373 -	/* hmm even more zero padding? */
   8.374 -	while (i <= --precision) {
   8.375 -		if (buf < end)
   8.376 -			*buf = '0';
   8.377 -		++buf;
   8.378 -	}
   8.379 -	/* actual digits of result */
   8.380 -	while (--i >= 0) {
   8.381 -		if (buf < end)
   8.382 -			*buf = tmp[i];
   8.383 -		++buf;
   8.384 -	}
   8.385 -	/* trailing space padding */
   8.386 -	while (--size >= 0) {
   8.387 -		if (buf < end)
   8.388 -			*buf = ' ';
   8.389 -		++buf;
   8.390 -	}
   8.391 -	return buf;
   8.392 -}
   8.393 -
   8.394 -/**
   8.395 - * vsnprintf - Format a string and place it in a buffer
   8.396 - * @buf: The buffer to place the result into
   8.397 - * @size: The size of the buffer, including the trailing null space
   8.398 - * @fmt: The format string to use
   8.399 - * @args: Arguments for the format string
   8.400 - *
   8.401 - * The return value is the number of characters which would
   8.402 - * be generated for the given input, excluding the trailing
   8.403 - * '\0', as per ISO C99. If you want to have the exact
   8.404 - * number of characters written into @buf as return value
   8.405 - * (not including the trailing '\0'), use vscnprintf(). If the
   8.406 - * return is greater than or equal to @size, the resulting
   8.407 - * string is truncated.
   8.408 - *
   8.409 - * Call this function if you are already dealing with a va_list.
   8.410 - * You probably want snprintf() instead.
   8.411 - */
   8.412 -int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
   8.413 -{
   8.414 -	int len;
   8.415 -	unsigned long long num;
   8.416 -	int i, base;
   8.417 -	char *str, *end, c;
   8.418 -	const char *s;
   8.419 -
   8.420 -	int flags;		/* flags to number() */
   8.421 -
   8.422 -	int field_width;	/* width of output field */
   8.423 -	int precision;		/* min. # of digits for integers; max
   8.424 -				   number of chars for from string */
   8.425 -	int qualifier;		/* 'h', 'l', or 'L' for integer fields */
   8.426 -				/* 'z' support added 23/7/1999 S.H.    */
   8.427 -				/* 'z' changed to 'Z' --davidm 1/25/99 */
   8.428 -				/* 't' added for ptrdiff_t */
   8.429 -
   8.430 -	/* Reject out-of-range values early.  Large positive sizes are
   8.431 -	   used for unknown buffer sizes. */
   8.432 -	if ((int) size < 0)
   8.433 -		return 0;
   8.434 -
   8.435 -	str = buf;
   8.436 -	end = buf + size;
   8.437 -
   8.438 -	/* Make sure end is always >= buf */
   8.439 -	if (end < buf) {
   8.440 -		end = ((void *)-1);
   8.441 -		size = end - buf;
   8.442 -	}
   8.443 -
   8.444 -	for (; *fmt ; ++fmt) {
   8.445 -		if (*fmt != '%') {
   8.446 -			if (str < end)
   8.447 -				*str = *fmt;
   8.448 -			++str;
   8.449 -			continue;
   8.450 -		}
   8.451 -
   8.452 -		/* process flags */
   8.453 -		flags = 0;
   8.454 -		repeat:
   8.455 -			++fmt;		/* this also skips first '%' */
   8.456 -			switch (*fmt) {
   8.457 -				case '-': flags |= LEFT; goto repeat;
   8.458 -				case '+': flags |= PLUS; goto repeat;
   8.459 -				case ' ': flags |= SPACE; goto repeat;
   8.460 -				case '#': flags |= SPECIAL; goto repeat;
   8.461 -				case '0': flags |= ZEROPAD; goto repeat;
   8.462 -			}
   8.463 -
   8.464 -		/* get field width */
   8.465 -		field_width = -1;
   8.466 -		if (isdigit(*fmt))
   8.467 -			field_width = skip_atoi(&fmt);
   8.468 -		else if (*fmt == '*') {
   8.469 -			++fmt;
   8.470 -			/* it's the next argument */
   8.471 -			field_width = va_arg(args, int);
   8.472 -			if (field_width < 0) {
   8.473 -				field_width = -field_width;
   8.474 -				flags |= LEFT;
   8.475 -			}
   8.476 -		}
   8.477 -
   8.478 -		/* get the precision */
   8.479 -		precision = -1;
   8.480 -		if (*fmt == '.') {
   8.481 -			++fmt;	
   8.482 -			if (isdigit(*fmt))
   8.483 -				precision = skip_atoi(&fmt);
   8.484 -			else if (*fmt == '*') {
   8.485 -				++fmt;
   8.486 -				/* it's the next argument */
   8.487 -				precision = va_arg(args, int);
   8.488 -			}
   8.489 -			if (precision < 0)
   8.490 -				precision = 0;
   8.491 -		}
   8.492 -
   8.493 -		/* get the conversion qualifier */
   8.494 -		qualifier = -1;
   8.495 -		if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' ||
   8.496 -		    *fmt =='Z' || *fmt == 'z' || *fmt == 't') {
   8.497 -			qualifier = *fmt;
   8.498 -			++fmt;
   8.499 -			if (qualifier == 'l' && *fmt == 'l') {
   8.500 -				qualifier = 'L';
   8.501 -				++fmt;
   8.502 -			}
   8.503 -		}
   8.504 -
   8.505 -		/* default base */
   8.506 -		base = 10;
   8.507 -
   8.508 -		switch (*fmt) {
   8.509 -			case 'c':
   8.510 -				if (!(flags & LEFT)) {
   8.511 -					while (--field_width > 0) {
   8.512 -						if (str < end)
   8.513 -							*str = ' ';
   8.514 -						++str;
   8.515 -					}
   8.516 -				}
   8.517 -				c = (unsigned char) va_arg(args, int);
   8.518 -				if (str < end)
   8.519 -					*str = c;
   8.520 -				++str;
   8.521 -				while (--field_width > 0) {
   8.522 -					if (str < end)
   8.523 -						*str = ' ';
   8.524 -					++str;
   8.525 -				}
   8.526 -				continue;
   8.527 -
   8.528 -			case 's':
   8.529 -				s = va_arg(args, char *);
   8.530 -				if ((unsigned long)s < PAGE_SIZE)
   8.531 -					s = "<NULL>";
   8.532 -
   8.533 -				len = strnlen(s, precision);
   8.534 -
   8.535 -				if (!(flags & LEFT)) {
   8.536 -					while (len < field_width--) {
   8.537 -						if (str < end)
   8.538 -							*str = ' ';
   8.539 -						++str;
   8.540 -					}
   8.541 -				}
   8.542 -				for (i = 0; i < len; ++i) {
   8.543 -					if (str < end)
   8.544 -						*str = *s;
   8.545 -					++str; ++s;
   8.546 -				}
   8.547 -				while (len < field_width--) {
   8.548 -					if (str < end)
   8.549 -						*str = ' ';
   8.550 -					++str;
   8.551 -				}
   8.552 -				continue;
   8.553 -
   8.554 -			case 'p':
   8.555 -				flags |= SMALL;
   8.556 -				if (field_width == -1) {
   8.557 -					field_width = 2*sizeof(void *);
   8.558 -					flags |= ZEROPAD;
   8.559 -				}
   8.560 -				str = number(str, end,
   8.561 -						(unsigned long) va_arg(args, void *),
   8.562 -						16, field_width, precision, flags);
   8.563 -				continue;
   8.564 -
   8.565 -
   8.566 -			case 'n':
   8.567 -				/* FIXME:
   8.568 -				* What does C99 say about the overflow case here? */
   8.569 -				if (qualifier == 'l') {
   8.570 -					long * ip = va_arg(args, long *);
   8.571 -					*ip = (str - buf);
   8.572 -				} else if (qualifier == 'Z' || qualifier == 'z') {
   8.573 -					size_t * ip = va_arg(args, size_t *);
   8.574 -					*ip = (str - buf);
   8.575 -				} else {
   8.576 -					int * ip = va_arg(args, int *);
   8.577 -					*ip = (str - buf);
   8.578 -				}
   8.579 -				continue;
   8.580 -
   8.581 -			case '%':
   8.582 -				if (str < end)
   8.583 -					*str = '%';
   8.584 -				++str;
   8.585 -				continue;
   8.586 -
   8.587 -				/* integer number formats - set up the flags and "break" */
   8.588 -			case 'o':
   8.589 -				base = 8;
   8.590 -				break;
   8.591 -
   8.592 -			case 'x':
   8.593 -				flags |= SMALL;
   8.594 -			case 'X':
   8.595 -				base = 16;
   8.596 -				break;
   8.597 -
   8.598 -			case 'd':
   8.599 -			case 'i':
   8.600 -				flags |= SIGN;
   8.601 -			case 'u':
   8.602 -				break;
   8.603 -
   8.604 -			default:
   8.605 -				if (str < end)
   8.606 -					*str = '%';
   8.607 -				++str;
   8.608 -				if (*fmt) {
   8.609 -					if (str < end)
   8.610 -						*str = *fmt;
   8.611 -					++str;
   8.612 -				} else {
   8.613 -					--fmt;
   8.614 -				}
   8.615 -				continue;
   8.616 -		}
   8.617 -		if (qualifier == 'L')
   8.618 -			num = va_arg(args, long long);
   8.619 -		else if (qualifier == 'l') {
   8.620 -			num = va_arg(args, unsigned long);
   8.621 -			if (flags & SIGN)
   8.622 -				num = (signed long) num;
   8.623 -		} else if (qualifier == 'Z' || qualifier == 'z') {
   8.624 -			num = va_arg(args, size_t);
   8.625 -		} else if (qualifier == 't') {
   8.626 -			num = va_arg(args, ptrdiff_t);
   8.627 -		} else if (qualifier == 'h') {
   8.628 -			num = (unsigned short) va_arg(args, int);
   8.629 -			if (flags & SIGN)
   8.630 -				num = (signed short) num;
   8.631 -		} else {
   8.632 -			num = va_arg(args, unsigned int);
   8.633 -			if (flags & SIGN)
   8.634 -				num = (signed int) num;
   8.635 -		}
   8.636 -		str = number(str, end, num, base,
   8.637 -				field_width, precision, flags);
   8.638 -	}
   8.639 -	if (size > 0) {
   8.640 -		if (str < end)
   8.641 -			*str = '\0';
   8.642 -		else
   8.643 -			end[-1] = '\0';
   8.644 -	}
   8.645 -	/* the trailing null byte doesn't count towards the total */
   8.646 -	return str-buf;
   8.647 -}
   8.648 -/* ----- END Other people's code --------- */
   8.649 -
     9.1 --- a/mingw/mingw_extras.h	Thu Jan 16 19:52:24 2014 +1100
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,18 +0,0 @@
     9.4 -#include <stdio.h>
     9.5 -
     9.6 -#define __FUNCTION__ __func__
     9.7 -
     9.8 -NTSTATUS bit_scan_forward(unsigned long *index, unsigned long mask);
     9.9 -int synch_set_bit(int nr, volatile long * addr);
    9.10 -int synch_clear_bit(int nr, volatile long * addr);
    9.11 -
    9.12 -/* windows wchar 2 bytes, Linux's is 4! */
    9.13 -typedef unsigned short win_wchar_t;
    9.14 -
    9.15 -NTSTATUS
    9.16 -RtlStringCbPrintfW(
    9.17 -  win_wchar_t *dest_str,
    9.18 -  size_t dest_size,
    9.19 -  win_wchar_t *format,
    9.20 -  ...);
    9.21 -
    10.1 --- a/mingw/w32api.diff	Thu Jan 16 19:52:24 2014 +1100
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,457 +0,0 @@
    10.4 -diff -r 0717ca718d88 include/ddk/ndis.h
    10.5 ---- a/include/ddk/ndis.h	Tue Jul 08 21:35:58 2008 -0700
    10.6 -+++ b/include/ddk/ndis.h	Thu Jul 17 23:09:31 2008 -0700
    10.7 -@@ -52,12 +52,16 @@
    10.8 - #if defined(NDIS50_MINIPORT)
    10.9 - #ifndef NDIS50
   10.10 - #define NDIS50
   10.11 -+#define NDIS_MINIPORT_MAJOR_VERSION 5
   10.12 -+#define NDIS_MINIPORT_MINOR_VERSION 0
   10.13 - #endif
   10.14 - #endif /* NDIS50_MINIPORT */
   10.15 - 
   10.16 - #if defined(NDIS51_MINIPORT)
   10.17 - #ifndef NDIS51
   10.18 - #define NDIS51
   10.19 -+#define NDIS_MINIPORT_MAJOR_VERSION 5
   10.20 -+#define NDIS_MINIPORT_MINOR_VERSION 1
   10.21 - #endif
   10.22 - #endif /* NDIS51_MINIPORT */
   10.23 - 
   10.24 -@@ -399,19 +403,19 @@
   10.25 - 
   10.26 - typedef struct _NDIS_PACKET {
   10.27 -   NDIS_PACKET_PRIVATE  Private;
   10.28 --  union {
   10.29 --    struct {
   10.30 -+  _ANONYMOUS_UNION union {
   10.31 -+    _ANONYMOUS_STRUCT struct {
   10.32 -       UCHAR  MiniportReserved[2 * sizeof(PVOID)];
   10.33 -       UCHAR  WrapperReserved[2 * sizeof(PVOID)];
   10.34 --    } s1;
   10.35 --    struct {
   10.36 -+    } DUMMYSTRUCTNAME;
   10.37 -+    _ANONYMOUS_STRUCT struct {
   10.38 -       UCHAR  MiniportReservedEx[3 * sizeof(PVOID)];
   10.39 -       UCHAR  WrapperReservedEx[sizeof(PVOID)];
   10.40 --    } s2;
   10.41 --    struct {
   10.42 -+    } DUMMYSTRUCTNAME;
   10.43 -+    _ANONYMOUS_STRUCT struct {
   10.44 -       UCHAR  MacReserved[4 * sizeof(PVOID)];
   10.45 --    } s3;
   10.46 --  } u;
   10.47 -+    } DUMMYSTRUCTNAME;
   10.48 -+  } DUMMYUNIONNAME;
   10.49 -   ULONG_PTR  Reserved[2];
   10.50 -   UCHAR  ProtocolReserved[1];
   10.51 - } NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
   10.52 -@@ -642,6 +646,11 @@
   10.53 - #define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET  0x00000080
   10.54 - #define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100
   10.55 - 
   10.56 -+/* _NDIS_DEVICE_PNP_EVENT */
   10.57 -+typedef enum _NDIS_DEVICE_PNP_EVENT
   10.58 -+{
   10.59 -+  Unused
   10.60 -+} NDIS_DEVICE_PNP_EVENT;
   10.61 - 
   10.62 - /* OID_GEN_NETWORK_LAYER_ADDRESSES */
   10.63 - typedef struct _NETWORK_ADDRESS {
   10.64 -@@ -915,6 +924,33 @@
   10.65 -   } V4ESP;
   10.66 - } NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;
   10.67 - 
   10.68 -+typedef enum _NDIS_ENCAPSULATION {
   10.69 -+  UNSPECIFIED_Encapsulation,
   10.70 -+  NULL_Encapsulation,
   10.71 -+  IEEE_802_3_Encapsulation,
   10.72 -+  IEEE_802_5_Encapsulation,
   10.73 -+  LLC_SNAP_ROUTED_Encapsulation,
   10.74 -+  LLC_SNAP_BRIDGED_Encapsulation
   10.75 -+} NDIS_ENCAPSULATION;
   10.76 -+
   10.77 -+typedef struct _NDIS_ENCAPSULATION_FORMAT {
   10.78 -+  NDIS_ENCAPSULATION  Encapsulation;
   10.79 -+  struct {
   10.80 -+    ULONG  FixedHeaderSize : 1;
   10.81 -+    ULONG  Reserved : 31;
   10.82 -+  } Flags;
   10.83 -+  ULONG  EncapsulationHeaderSize;
   10.84 -+} NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
   10.85 -+
   10.86 -+typedef struct _NDIS_TASK_OFFLOAD_HEADER
   10.87 -+{
   10.88 -+  ULONG Version;
   10.89 -+  ULONG Size;
   10.90 -+  ULONG Reserved;
   10.91 -+  UCHAR OffsetFirstTask;
   10.92 -+  NDIS_ENCAPSULATION_FORMAT EncapsulationFormat;
   10.93 -+} NDIS_TASK_OFFLOAD_HEADER, *PNDIS_TASK_OFFLOAD_HEADER;
   10.94 -+
   10.95 - typedef struct _NDIS_TASK_OFFLOAD {
   10.96 -   ULONG  Version;
   10.97 -   ULONG  Size;
   10.98 -@@ -926,24 +962,6 @@
   10.99 - 
  10.100 - /* NDIS_TASK_OFFLOAD_HEADER.Version constants */
  10.101 - #define NDIS_TASK_OFFLOAD_VERSION 1
  10.102 --
  10.103 --typedef enum _NDIS_ENCAPSULATION {
  10.104 --  UNSPECIFIED_Encapsulation,
  10.105 --  NULL_Encapsulation,
  10.106 --  IEEE_802_3_Encapsulation,
  10.107 --  IEEE_802_5_Encapsulation,
  10.108 --  LLC_SNAP_ROUTED_Encapsulation,
  10.109 --  LLC_SNAP_BRIDGED_Encapsulation
  10.110 --} NDIS_ENCAPSULATION;
  10.111 --
  10.112 --typedef struct _NDIS_ENCAPSULATION_FORMAT {
  10.113 --  NDIS_ENCAPSULATION  Encapsulation;
  10.114 --  struct {
  10.115 --    ULONG  FixedHeaderSize : 1;
  10.116 --    ULONG  Reserved : 31;
  10.117 --  } Flags;
  10.118 --  ULONG  EncapsulationHeaderSize;
  10.119 --} NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
  10.120 - 
  10.121 - typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
  10.122 -   struct {
  10.123 -@@ -1542,6 +1560,8 @@
  10.124 -   /*OUT*/ PNDIS_HANDLE  PoolHandle,
  10.125 -   /*IN*/ UINT  NumberOfDescriptors,
  10.126 -   /*IN*/ UINT  ProtocolReservedLength);
  10.127 -+
  10.128 -+#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
  10.129 - 
  10.130 - NDISAPI
  10.131 - VOID
  10.132 -@@ -1756,6 +1776,46 @@
  10.133 - 
  10.134 - /*
  10.135 -  * VOID
  10.136 -+ * NdisGetFirstBufferFromPacketSafe(
  10.137 -+ * IN PNDIS_PACKET  _Packet,
  10.138 -+ * OUT PNDIS_BUFFER  * _FirstBuffer,
  10.139 -+ * OUT PVOID  * _FirstBufferVA,
  10.140 -+ * OUT PUINT  _FirstBufferLength,
  10.141 -+ * OUT PUINT  _TotalBufferLength),
  10.142 -+ * IN MM_PAGE_PRIORITY _Priority)
  10.143 -+ */
  10.144 -+#define NdisGetFirstBufferFromPacketSafe(_Packet,         \
  10.145 -+                                     _FirstBuffer,        \
  10.146 -+                                     _FirstBufferVA,      \
  10.147 -+                                     _FirstBufferLength,  \
  10.148 -+                                     _TotalBufferLength,  \
  10.149 -+                                     _Priority)           \
  10.150 -+{                                                         \
  10.151 -+  PNDIS_BUFFER _Buffer;                                   \
  10.152 -+                                                          \
  10.153 -+  _Buffer         = (_Packet)->Private.Head;              \
  10.154 -+  *(_FirstBuffer) = _Buffer;                              \
  10.155 -+  if (_Buffer != NULL)                                    \
  10.156 -+    {                                                     \
  10.157 -+            *(_FirstBufferVA)     = MmGetSystemAddressForMdlSafe(_Buffer, _Priority);  \
  10.158 -+            *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer);         \
  10.159 -+            _Buffer = _Buffer->Next;                                    \
  10.160 -+                  *(_TotalBufferLength) = *(_FirstBufferLength);              \
  10.161 -+                  while (_Buffer != NULL) {                                   \
  10.162 -+                    *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer);      \
  10.163 -+                    _Buffer = _Buffer->Next;                                  \
  10.164 -+                  }                                                           \
  10.165 -+    }                             \
  10.166 -+  else                            \
  10.167 -+    {                             \
  10.168 -+      *(_FirstBufferVA) = 0;      \
  10.169 -+      *(_FirstBufferLength) = 0;  \
  10.170 -+      *(_TotalBufferLength) = 0;  \
  10.171 -+    } \
  10.172 -+}
  10.173 -+
  10.174 -+/*
  10.175 -+ * VOID
  10.176 -  * NdisQueryBuffer(
  10.177 -  * IN PNDIS_BUFFER  Buffer,
  10.178 -  * OUT PVOID  *VirtualAddress OPTIONAL,
  10.179 -@@ -2092,7 +2152,7 @@
  10.180 -  * NdisReinitializePacket(
  10.181 -  * IN OUT  PNDIS_PACKET  Packet);
  10.182 -  */
  10.183 --#define NdisReinitializePacketCounts(Packet)    \
  10.184 -+#define NdisReinitializePacket(Packet)          \
  10.185 - {                                               \
  10.186 - 	(Packet)->Private.Head = (PNDIS_BUFFER)NULL;  \
  10.187 - 	(Packet)->Private.ValidCounts = FALSE;        \
  10.188 -@@ -2967,6 +3027,11 @@
  10.189 -   /*IN*/ PUCHAR  PacketBuffer,
  10.190 -   /*IN*/ UINT  PacketSize);
  10.191 - 
  10.192 -+#define NdisMIndicateReceivePacket(_handle, _packets, _number) \
  10.193 -+{  \
  10.194 -+  (*((PNDIS_MINIPORT_BLOCK)(_handle))->PacketIndicateHandler)(_handle, _packets, _number); \
  10.195 -+}
  10.196 -+
  10.197 - NDISAPI
  10.198 - VOID
  10.199 - DDKAPI
  10.200 -@@ -3155,6 +3220,13 @@
  10.201 - DDKAPI
  10.202 - NdisPacketPoolUsage(
  10.203 -   /*IN*/ NDIS_HANDLE  PoolHandle);
  10.204 -+
  10.205 -+NTOSAPI
  10.206 -+VOID
  10.207 -+DDKAPI
  10.208 -+NdisSetPacketPoolProtocolId(
  10.209 -+  /*IN*/ NDIS_HANDLE PacketPoolHandle,
  10.210 -+  /*IN*/ UINT ProtocolId);
  10.211 - 
  10.212 - NDISAPI
  10.213 - NDIS_STATUS
  10.214 -@@ -4517,6 +4589,29 @@
  10.215 - 
  10.216 - /* Routines for NDIS miniport drivers */
  10.217 - 
  10.218 -+NTOSAPI
  10.219 -+VOID
  10.220 -+DDKAPI
  10.221 -+NdisMInitializeTimer(
  10.222 -+  /*IN*/ /*OUT*/ PNDIS_MINIPORT_TIMER Timer,
  10.223 -+  /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
  10.224 -+  /*IN*/ PNDIS_TIMER_FUNCTION TimerFunction,
  10.225 -+  /*IN*/ PVOID FunctionContext);
  10.226 -+
  10.227 -+NTOSAPI
  10.228 -+VOID
  10.229 -+DDKAPI
  10.230 -+NdisMSetPeriodicTimer(
  10.231 -+  /*IN*/ PNDIS_MINIPORT_TIMER Timer,
  10.232 -+  /*IN*/ UINT MillisecondsPeriod);
  10.233 -+
  10.234 -+NTOSAPI
  10.235 -+VOID
  10.236 -+DDKAPI
  10.237 -+NdisMCancelTimer(
  10.238 -+  /*IN*/ PNDIS_MINIPORT_TIMER Timer,
  10.239 -+  /*OUT*/ PBOOLEAN TimerCancelled);
  10.240 -+
  10.241 - NDISAPI
  10.242 - VOID
  10.243 - DDKAPI
  10.244 -diff -r 0717ca718d88 include/ddk/ntddndis.h
  10.245 ---- a/include/ddk/ntddndis.h	Tue Jul 08 21:35:58 2008 -0700
  10.246 -+++ b/include/ddk/ntddndis.h	Thu Jul 17 23:09:31 2008 -0700
  10.247 -@@ -152,6 +152,8 @@
  10.248 - #define OID_802_3_XMIT_TIMES_CRS_LOST     0x01020206
  10.249 - #define OID_802_3_XMIT_LATE_COLLISIONS    0x01020207
  10.250 - 
  10.251 -+#define OID_TCP_TASK_OFFLOAD              0xFC010201
  10.252 -+
  10.253 - /* OID_GEN_MINIPORT_INFO constants */
  10.254 - #define NDIS_MINIPORT_BUS_MASTER                      0x00000001
  10.255 - #define NDIS_MINIPORT_WDM_DRIVER                      0x00000002
  10.256 -diff -r 0717ca718d88 include/ddk/scsi.h
  10.257 ---- a/include/ddk/scsi.h	Tue Jul 08 21:35:58 2008 -0700
  10.258 -+++ b/include/ddk/scsi.h	Thu Jul 17 23:09:31 2008 -0700
  10.259 -@@ -1272,6 +1272,13 @@
  10.260 - #define IOCTL_SCSI_MINIPORT_NOT_QUORUM_CAPABLE  ((FILE_DEVICE_SCSI << 16) + 0x0520)
  10.261 - #define IOCTL_SCSI_MINIPORT_NOT_CLUSTER_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0521)
  10.262 - 
  10.263 -+/* READ_TOC formats */
  10.264 -+#define READ_TOC_FORMAT_TOC         0x00
  10.265 -+#define READ_TOC_FORMAT_SESSION     0x01
  10.266 -+#define READ_TOC_FORMAT_FULL_TOC    0x02
  10.267 -+#define READ_TOC_FORMAT_PMA         0x03
  10.268 -+#define READ_TOC_FORMAT_ATIP        0x04
  10.269 -+
  10.270 - /* Read Capacity Data. Returned in Big Endian format */
  10.271 - typedef struct _READ_CAPACITY_DATA {
  10.272 -   ULONG  LogicalBlockAddress;
  10.273 -diff -r 0717ca718d88 include/ddk/winddk.h
  10.274 ---- a/include/ddk/winddk.h	Tue Jul 08 21:35:58 2008 -0700
  10.275 -+++ b/include/ddk/winddk.h	Thu Jul 17 23:09:31 2008 -0700
  10.276 -@@ -3828,7 +3828,7 @@
  10.277 -  *   VOID)
  10.278 -  */
  10.279 - #define KeGetCurrentProcessorNumber() \
  10.280 --  ((ULONG)KeGetCurrentKPCR()->ProcessorNumber)
  10.281 -+  ((ULONG)KeGetCurrentKPCR()->Number)
  10.282 - 
  10.283 - 
  10.284 - #if  __USE_NTOSKRNL__
  10.285 -@@ -3842,13 +3842,13 @@
  10.286 - LONG
  10.287 - DDKFASTAPI
  10.288 - InterlockedIncrement(
  10.289 --  /*IN*/ PLONG  VOLATILE  Addend);
  10.290 -+  /*IN*/ LONG VOLATILE *Addend);
  10.291 - 
  10.292 - NTOSAPI
  10.293 - LONG
  10.294 - DDKFASTAPI
  10.295 - InterlockedDecrement(
  10.296 --  /*IN*/ PLONG  VOLATILE  Addend);
  10.297 -+  /*IN*/ LONG VOLATILE *Addend);
  10.298 - 
  10.299 - NTOSAPI
  10.300 - LONG
  10.301 -@@ -4895,6 +4895,10 @@
  10.302 - RtlStringFromGUID( 
  10.303 -   /*IN*/ REFGUID  Guid, 
  10.304 -   /*OUT*/ PUNICODE_STRING  GuidString);
  10.305 -+
  10.306 -+#define RtlStringCbCopyA(dst, dst_len, src) strncpy(dst, src, dst_len)
  10.307 -+#define RtlStringCbPrintfA(args...) snprintf(args)
  10.308 -+#define RtlStringCbVPrintfA(args...) vsnprintf(args)
  10.309 - 
  10.310 - NTOSAPI
  10.311 - BOOLEAN
  10.312 -@@ -7350,6 +7354,11 @@
  10.313 - #define KeFlushIoBuffers(_Mdl, _ReadOperation, _DmaOperation)
  10.314 - 
  10.315 - NTOSAPI
  10.316 -+VOID
  10.317 -+DDKAPI
  10.318 -+KeFlushQueuedDpcs(VOID);
  10.319 -+
  10.320 -+NTOSAPI
  10.321 - PRKTHREAD
  10.322 - DDKAPI
  10.323 - KeGetCurrentThread(
  10.324 -@@ -7448,6 +7457,8 @@
  10.325 - DDKAPI
  10.326 - KeLeaveCriticalRegion(
  10.327 -   VOID);
  10.328 -+
  10.329 -+#define KeMemoryBarrier() asm("mfence;")
  10.330 - 
  10.331 - NTOSAPI
  10.332 - NTSTATUS
  10.333 -@@ -7719,38 +7730,18 @@
  10.334 -   /*IN*/ BOOLEAN  Alertable,
  10.335 -   /*IN*/ PLARGE_INTEGER  Timeout  /*OPTIONAL*/);
  10.336 - 
  10.337 --#if defined(_X86_)
  10.338 --
  10.339 --NTOSAPI
  10.340 --VOID
  10.341 --FASTCALL
  10.342 --KfLowerIrql(
  10.343 --  /*IN*/ KIRQL  NewIrql);
  10.344 --
  10.345 --NTOSAPI
  10.346 --KIRQL
  10.347 --FASTCALL
  10.348 --KfRaiseIrql(
  10.349 --  /*IN*/ KIRQL  NewIrql);
  10.350 --
  10.351 --#define KeLowerIrql(a) KfLowerIrql(a)
  10.352 --#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
  10.353 --
  10.354 --#else
  10.355 -+NTOSAPI
  10.356 -+VOID
  10.357 -+DDKAPI
  10.358 -+KeRaiseIrql(
  10.359 -+  /*IN*/ KIRQL new_irql,
  10.360 -+  /*OUT*/ PKIRQL old_irql);
  10.361 - 
  10.362 - NTOSAPI
  10.363 - VOID
  10.364 - DDKAPI
  10.365 - KeLowerIrql(
  10.366 --  /*IN*/ KIRQL  NewIrql);
  10.367 --
  10.368 --NTOSAPI
  10.369 --KIRQL
  10.370 --DDKAPI
  10.371 --KeRaiseIrql(
  10.372 --  /*IN*/ KIRQL  NewIrql);
  10.373 --
  10.374 --#endif
  10.375 -+  /*IN*/ KIRQL irql);
  10.376 - 
  10.377 - NTOSAPI
  10.378 - KIRQL
  10.379 -diff -r 0717ca718d88 lib/ddk/ndis.def
  10.380 ---- a/lib/ddk/ndis.def	Tue Jul 08 21:35:58 2008 -0700
  10.381 -+++ b/lib/ddk/ndis.def	Thu Jul 17 23:09:31 2008 -0700
  10.382 -@@ -130,8 +130,8 @@
  10.383 - ;NdisImmediateWritePortUlong
  10.384 - ;NdisImmediateWritePortUshort
  10.385 - NdisImmediateWriteSharedMemory@16
  10.386 --;NdisInitAnsiString DATA
  10.387 --;NdisInitUnicodeString DATA
  10.388 -+NdisInitAnsiString@8
  10.389 -+NdisInitUnicodeString@8
  10.390 - ;NdisInitializeEvent
  10.391 - NdisInitializeReadWriteLock@4
  10.392 - ;NdisInitializeString
  10.393 -@@ -149,7 +149,7 @@
  10.394 - NdisMAllocateMapRegisters@20
  10.395 - NdisMAllocateSharedMemory@20
  10.396 - NdisMAllocateSharedMemoryAsync@16
  10.397 --;NdisMCancelTimer
  10.398 -+NdisMCancelTimer@8
  10.399 - NdisMCloseLog@4
  10.400 - NdisMCmActivateVc@8
  10.401 - NdisMCmCreateVc@16
  10.402 -@@ -179,7 +179,7 @@
  10.403 - ;NdisMIndicateStatus
  10.404 - ;NdisMIndicateStatusComplete
  10.405 - NdisMInitializeScatterGatherDma@12
  10.406 --;NdisMInitializeTimer
  10.407 -+NdisMInitializeTimer@16
  10.408 - NdisMMapIoSpace@20
  10.409 - ;NdisMPciAssignResources
  10.410 - NdisMPromoteMiniport@4
  10.411 -@@ -202,7 +202,7 @@
  10.412 - NdisMSetAttributesEx@20
  10.413 - ;NdisMSetInformationComplete
  10.414 - NdisMSetMiniportSecondary@8
  10.415 --;NdisMSetPeriodicTimer
  10.416 -+NdisMSetPeriodicTimer@8
  10.417 - ;NdisMSetTimer
  10.418 - NdisMSleep@4
  10.419 - ;NdisMStartBufferPhysicalMapping
  10.420 -@@ -252,7 +252,7 @@
  10.421 - NdisSendPackets@12
  10.422 - ;NdisSetEvent
  10.423 - ;NdisSetPacketCancelId
  10.424 --;NdisSetPacketPoolProtocolId
  10.425 -+NdisSetPacketPoolProtocolId@8
  10.426 - ;NdisSetPacketStatus
  10.427 - ;NdisSetProtocolFilter
  10.428 - ;NdisSetTimer
  10.429 -diff -r 0717ca718d88 lib/ddk/ntoskrnl.def
  10.430 ---- a/lib/ddk/ntoskrnl.def	Tue Jul 08 21:35:58 2008 -0700
  10.431 -+++ b/lib/ddk/ntoskrnl.def	Thu Jul 17 23:09:31 2008 -0700
  10.432 -@@ -506,6 +506,7 @@
  10.433 - ;KeFindConfigurationEntry
  10.434 - ;KeFindConfigurationNextEntry
  10.435 - ;KeFlushEntireTb
  10.436 -+KeFlushQueuedDpcs@0
  10.437 - KeGetCurrentThread@0
  10.438 - KeGetPreviousMode@0
  10.439 - KeGetRecommendedSharedDataAlignment@0
  10.440 -@@ -542,7 +543,7 @@
  10.441 - ;KeIsExecutingDpc
  10.442 - KeLeaveCriticalRegion@0
  10.443 - ;KeLoaderBlock DATA
  10.444 --;KeNumberProcessors DATA
  10.445 -+KeNumberProcessors DATA
  10.446 - ;KeProfileInterrupt
  10.447 - ;KeProfileInterruptWithSource
  10.448 - KePulseEvent@12
  10.449 -diff -r 0717ca718d88 lib/ddk/scsiport.def
  10.450 ---- a/lib/ddk/scsiport.def	Tue Jul 08 21:35:58 2008 -0700
  10.451 -+++ b/lib/ddk/scsiport.def	Thu Jul 17 23:09:31 2008 -0700
  10.452 -@@ -8,7 +8,7 @@
  10.453 - ScsiPortFlushDma@4
  10.454 - ScsiPortFreeDeviceBase@8
  10.455 - ScsiPortGetBusData@24
  10.456 --ScsiPortGetDeviceBase@24
  10.457 -+ScsiPortGetDeviceBase@28
  10.458 - ScsiPortGetLogicalUnit@16
  10.459 - ScsiPortGetPhysicalAddress@16
  10.460 - ScsiPortGetSrb@20
    11.1 --- a/wix.bat	Thu Jan 16 19:52:24 2014 +1100
    11.2 +++ b/wix.bat	Thu Mar 13 13:38:31 2014 +1100
    11.3 @@ -14,7 +14,7 @@ IF "%DDK_TARGET_OS%"=="WinXP" (SET MSIAR
    11.4  IF "%DDK_TARGET_OS%"=="WinNET" (SET MSIOS=2003)
    11.5  IF "%DDK_TARGET_OS%"=="WinLH" (SET MSIOS=Vista2008)
    11.6  
    11.7 -SET MSINAME=gplpv_%MSIOS%%MSIARCH%_%GPLPV_VERSION%%MSIBUILD%.msi
    11.8 +SET MSINAME=ejbpv_%MSIOS%%MSIARCH%_%EJBPV_VERSION%%MSIBUILD%.msi
    11.9  
   11.10  for /F %%x in ('DIR /B %BASEDIR%\redist\wdf\%_BUILDARCH%\WdfCoInstaller?????.dll') do set WDFFILENAME=%%x
   11.11  
    12.1 --- a/xencache/xencache.rc	Thu Jan 16 19:52:24 2014 +1100
    12.2 +++ b/xencache/xencache.rc	Thu Mar 13 13:38:31 2014 +1100
    12.3 @@ -1,28 +1,38 @@
    12.4 +/*
    12.5 +PV Drivers for Windows Xen HVM Domains
    12.6 +
    12.7 +Copyright (c) 2014, James Harper
    12.8 +All rights reserved.
    12.9 +
   12.10 +Redistribution and use in source and binary forms, with or without
   12.11 +modification, are permitted provided that the following conditions are met:
   12.12 +    * Redistributions of source code must retain the above copyright
   12.13 +      notice, this list of conditions and the following disclaimer.
   12.14 +    * Redistributions in binary form must reproduce the above copyright
   12.15 +      notice, this list of conditions and the following disclaimer in the
   12.16 +      documentation and/or other materials provided with the distribution.
   12.17 +    * Neither the name of James Harper nor the
   12.18 +      names of its contributors may be used to endorse or promote products
   12.19 +      derived from this software without specific prior written permission.
   12.20 +
   12.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   12.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   12.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   12.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   12.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   12.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   12.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   12.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   12.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   12.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   12.31 +*/
   12.32 +
   12.33  #include <windows.h>
   12.34  #include <ntverp.h>
   12.35 -#include "gplpv_version.h"
   12.36 -
   12.37 -#define VER_FILETYPE                VFT_DRV
   12.38 -#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
   12.39 -#ifdef DEBUG
   12.40 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenCache Driver"
   12.41 -#else
   12.42 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenCache Driver (Checked Build)"
   12.43 -#endif
   12.44 -#define VER_INTERNALNAME_STR        "xencache.sys"
   12.45 -#define VER_ORIGINALFILENAME_STR    "xencache.sys"
   12.46  
   12.47 -#undef VER_PRODUCTVERSION
   12.48 -#define VER_PRODUCTVERSION          VER_FILEVERSION
   12.49 -#undef VER_PRODUCTVERSION_STR
   12.50 -#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
   12.51 -#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2013 James Harper" 
   12.52 +#define EJB_DRIVER_DESCRIPTION "EJBPV XenCache Driver"
   12.53 +#define EJB_DRIVER_FILENAME "xencache.sys"
   12.54  
   12.55 -#ifdef VER_COMPANYNAME_STR
   12.56 -#undef VER_COMPANYNAME_STR
   12.57 -#define VER_COMPANYNAME_STR         "James Harper"
   12.58 -#endif
   12.59 -#undef VER_PRODUCTNAME_STR
   12.60 -#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
   12.61 +#include "ejbpv_version.h"
   12.62  
   12.63  #include "common.ver"
    13.1 --- a/xennet/xennet.c	Thu Jan 16 19:52:24 2014 +1100
    13.2 +++ b/xennet/xennet.c	Thu Mar 13 13:38:31 2014 +1100
    13.3 @@ -1,21 +1,30 @@
    13.4  /*
    13.5 -PV Net Driver for Windows Xen HVM Domains
    13.6 -Copyright (C) 2007 James Harper
    13.7 -Copyright (C) 2007 Andrew Grover <andy.grover@oracle.com>
    13.8 +PV Drivers for Windows Xen HVM Domains
    13.9  
   13.10 -This program is free software; you can redistribute it and/or
   13.11 -modify it under the terms of the GNU General Public License
   13.12 -as published by the Free Software Foundation; either version 2
   13.13 -of the License, or (at your option) any later version.
   13.14 +Copyright (c) 2014, James Harper
   13.15 +All rights reserved.
   13.16  
   13.17 -This program is distributed in the hope that it will be useful,
   13.18 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   13.19 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   13.20 -GNU General Public License for more details.
   13.21 +Redistribution and use in source and binary forms, with or without
   13.22 +modification, are permitted provided that the following conditions are met:
   13.23 +    * Redistributions of source code must retain the above copyright
   13.24 +      notice, this list of conditions and the following disclaimer.
   13.25 +    * Redistributions in binary form must reproduce the above copyright
   13.26 +      notice, this list of conditions and the following disclaimer in the
   13.27 +      documentation and/or other materials provided with the distribution.
   13.28 +    * Neither the name of James Harper nor the
   13.29 +      names of its contributors may be used to endorse or promote products
   13.30 +      derived from this software without specific prior written permission.
   13.31  
   13.32 -You should have received a copy of the GNU General Public License
   13.33 -along with this program; if not, write to the Free Software
   13.34 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   13.35 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   13.36 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   13.37 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   13.38 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   13.39 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   13.40 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   13.41 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   13.42 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   13.43 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   13.44 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   13.45  */
   13.46  
   13.47  #include <stdlib.h>
    14.1 --- a/xennet/xennet.h	Thu Jan 16 19:52:24 2014 +1100
    14.2 +++ b/xennet/xennet.h	Thu Mar 13 13:38:31 2014 +1100
    14.3 @@ -1,21 +1,30 @@
    14.4  /*
    14.5  PV Drivers for Windows Xen HVM Domains
    14.6 -Copyright (C) 2007 James Harper
    14.7 -Copyright (C) 2007 Andrew Grover <andy.grover@oracle.com>
    14.8 -
    14.9 -This program is free software; you can redistribute it and/or
   14.10 -modify it under the terms of the GNU General Public License
   14.11 -as published by the Free Software Foundation; either version 2
   14.12 -of the License, or (at your option) any later version.
   14.13  
   14.14 -This program is distributed in the hope that it will be useful,
   14.15 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   14.16 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   14.17 -GNU General Public License for more details.
   14.18 +Copyright (c) 2014, James Harper
   14.19 +All rights reserved.
   14.20  
   14.21 -You should have received a copy of the GNU General Public License
   14.22 -along with this program; if not, write to the Free Software
   14.23 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   14.24 +Redistribution and use in source and binary forms, with or without
   14.25 +modification, are permitted provided that the following conditions are met:
   14.26 +    * Redistributions of source code must retain the above copyright
   14.27 +      notice, this list of conditions and the following disclaimer.
   14.28 +    * Redistributions in binary form must reproduce the above copyright
   14.29 +      notice, this list of conditions and the following disclaimer in the
   14.30 +      documentation and/or other materials provided with the distribution.
   14.31 +    * Neither the name of James Harper nor the
   14.32 +      names of its contributors may be used to endorse or promote products
   14.33 +      derived from this software without specific prior written permission.
   14.34 +
   14.35 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   14.36 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   14.37 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   14.38 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   14.39 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   14.40 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   14.41 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   14.42 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   14.43 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   14.44 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   14.45  */
   14.46  
   14.47  #pragma warning(disable: 4201)
    15.1 --- a/xennet/xennet.rc	Thu Jan 16 19:52:24 2014 +1100
    15.2 +++ b/xennet/xennet.rc	Thu Mar 13 13:38:31 2014 +1100
    15.3 @@ -1,28 +1,38 @@
    15.4 +/*
    15.5 +PV Drivers for Windows Xen HVM Domains
    15.6 +
    15.7 +Copyright (c) 2014, James Harper
    15.8 +All rights reserved.
    15.9 +
   15.10 +Redistribution and use in source and binary forms, with or without
   15.11 +modification, are permitted provided that the following conditions are met:
   15.12 +    * Redistributions of source code must retain the above copyright
   15.13 +      notice, this list of conditions and the following disclaimer.
   15.14 +    * Redistributions in binary form must reproduce the above copyright
   15.15 +      notice, this list of conditions and the following disclaimer in the
   15.16 +      documentation and/or other materials provided with the distribution.
   15.17 +    * Neither the name of James Harper nor the
   15.18 +      names of its contributors may be used to endorse or promote products
   15.19 +      derived from this software without specific prior written permission.
   15.20 +
   15.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   15.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   15.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   15.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   15.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   15.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   15.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   15.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   15.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   15.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   15.31 +*/
   15.32 +
   15.33  #include <windows.h>
   15.34  #include <ntverp.h>
   15.35 -#include "gplpv_version.h"
   15.36 -
   15.37 -#define VER_FILETYPE                VFT_DRV
   15.38 -#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
   15.39 -#ifdef DEBUG
   15.40 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenNet Driver"
   15.41 -#else
   15.42 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenNet Driver (Checked Build)"
   15.43 -#endif
   15.44 -#define VER_INTERNALNAME_STR        "xennet.sys"
   15.45 -#define VER_ORIGINALFILENAME_STR    "xennet.sys"
   15.46  
   15.47 -#undef VER_PRODUCTVERSION
   15.48 -#define VER_PRODUCTVERSION          VER_FILEVERSION
   15.49 -#undef VER_PRODUCTVERSION_STR
   15.50 -#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
   15.51 -#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2009 James Harper" 
   15.52 +#define EJBPV_DRIVER_DESCRIPTION "EJBPV XenNet Driver"
   15.53 +#define EJBPV_DRIVER_FILENAME "xennet.sys"
   15.54  
   15.55 -#ifdef VER_COMPANYNAME_STR
   15.56 -#undef VER_COMPANYNAME_STR
   15.57 -#define VER_COMPANYNAME_STR         "James Harper"
   15.58 -#endif
   15.59 -#undef VER_PRODUCTNAME_STR
   15.60 -#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
   15.61 +#include "ejbpv_version.h"
   15.62  
   15.63  #include "common.ver"
    16.1 --- a/xennet/xennet_common.c	Thu Jan 16 19:52:24 2014 +1100
    16.2 +++ b/xennet/xennet_common.c	Thu Mar 13 13:38:31 2014 +1100
    16.3 @@ -1,21 +1,30 @@
    16.4  /*
    16.5 -PV Net Driver for Windows Xen HVM Domains
    16.6 -Copyright (C) 2007 James Harper
    16.7 -Copyright (C) 2007 Andrew Grover <andy.grover@oracle.com>
    16.8 +PV Drivers for Windows Xen HVM Domains
    16.9  
   16.10 -This program is free software; you can redistribute it and/or
   16.11 -modify it under the terms of the GNU General Public License
   16.12 -as published by the Free Software Foundation; either version 2
   16.13 -of the License, or (at your option) any later version.
   16.14 +Copyright (c) 2014, James Harper
   16.15 +All rights reserved.
   16.16  
   16.17 -This program is distributed in the hope that it will be useful,
   16.18 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   16.19 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   16.20 -GNU General Public License for more details.
   16.21 +Redistribution and use in source and binary forms, with or without
   16.22 +modification, are permitted provided that the following conditions are met:
   16.23 +    * Redistributions of source code must retain the above copyright
   16.24 +      notice, this list of conditions and the following disclaimer.
   16.25 +    * Redistributions in binary form must reproduce the above copyright
   16.26 +      notice, this list of conditions and the following disclaimer in the
   16.27 +      documentation and/or other materials provided with the distribution.
   16.28 +    * Neither the name of James Harper nor the
   16.29 +      names of its contributors may be used to endorse or promote products
   16.30 +      derived from this software without specific prior written permission.
   16.31  
   16.32 -You should have received a copy of the GNU General Public License
   16.33 -along with this program; if not, write to the Free Software
   16.34 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   16.35 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   16.36 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   16.37 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   16.38 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   16.39 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   16.40 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   16.41 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   16.42 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   16.43 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   16.44 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   16.45  */
   16.46  
   16.47  #include "xennet.h"
    17.1 --- a/xennet/xennet_oid.c	Thu Jan 16 19:52:24 2014 +1100
    17.2 +++ b/xennet/xennet_oid.c	Thu Mar 13 13:38:31 2014 +1100
    17.3 @@ -1,21 +1,30 @@
    17.4  /*
    17.5 -PV Net Driver for Windows Xen HVM Domains
    17.6 -Copyright (C) 2007 James Harper
    17.7 -Copyright (C) 2007 Andrew Grover <andy.grover@oracle.com>
    17.8 +PV Drivers for Windows Xen HVM Domains
    17.9  
   17.10 -This program is free software; you can redistribute it and/or
   17.11 -modify it under the terms of the GNU General Public License
   17.12 -as published by the Free Software Foundation; either version 2
   17.13 -of the License, or (at your option) any later version.
   17.14 +Copyright (c) 2014, James Harper
   17.15 +All rights reserved.
   17.16  
   17.17 -This program is distributed in the hope that it will be useful,
   17.18 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   17.19 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   17.20 -GNU General Public License for more details.
   17.21 +Redistribution and use in source and binary forms, with or without
   17.22 +modification, are permitted provided that the following conditions are met:
   17.23 +    * Redistributions of source code must retain the above copyright
   17.24 +      notice, this list of conditions and the following disclaimer.
   17.25 +    * Redistributions in binary form must reproduce the above copyright
   17.26 +      notice, this list of conditions and the following disclaimer in the
   17.27 +      documentation and/or other materials provided with the distribution.
   17.28 +    * Neither the name of James Harper nor the
   17.29 +      names of its contributors may be used to endorse or promote products
   17.30 +      derived from this software without specific prior written permission.
   17.31  
   17.32 -You should have received a copy of the GNU General Public License
   17.33 -along with this program; if not, write to the Free Software
   17.34 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   17.35 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   17.36 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   17.37 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   17.38 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   17.39 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   17.40 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   17.41 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   17.42 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   17.43 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   17.44 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   17.45  */
   17.46  
   17.47  #include "xennet.h"
    18.1 --- a/xennet/xennet_rx.c	Thu Jan 16 19:52:24 2014 +1100
    18.2 +++ b/xennet/xennet_rx.c	Thu Mar 13 13:38:31 2014 +1100
    18.3 @@ -1,21 +1,30 @@
    18.4  /*
    18.5 -PV Net Driver for Windows Xen HVM Domains
    18.6 -Copyright (C) 2007 James Harper
    18.7 -Copyright (C) 2007 Andrew Grover <andy.grover@oracle.com>
    18.8 +PV Drivers for Windows Xen HVM Domains
    18.9  
   18.10 -This program is free software; you can redistribute it and/or
   18.11 -modify it under the terms of the GNU General Public License
   18.12 -as published by the Free Software Foundation; either version 2
   18.13 -of the License, or (at your option) any later version.
   18.14 +Copyright (c) 2014, James Harper
   18.15 +All rights reserved.
   18.16  
   18.17 -This program is distributed in the hope that it will be useful,
   18.18 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   18.19 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   18.20 -GNU General Public License for more details.
   18.21 +Redistribution and use in source and binary forms, with or without
   18.22 +modification, are permitted provided that the following conditions are met:
   18.23 +    * Redistributions of source code must retain the above copyright
   18.24 +      notice, this list of conditions and the following disclaimer.
   18.25 +    * Redistributions in binary form must reproduce the above copyright
   18.26 +      notice, this list of conditions and the following disclaimer in the
   18.27 +      documentation and/or other materials provided with the distribution.
   18.28 +    * Neither the name of James Harper nor the
   18.29 +      names of its contributors may be used to endorse or promote products
   18.30 +      derived from this software without specific prior written permission.
   18.31  
   18.32 -You should have received a copy of the GNU General Public License
   18.33 -along with this program; if not, write to the Free Software
   18.34 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   18.35 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   18.36 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   18.37 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   18.38 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   18.39 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   18.40 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   18.41 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   18.42 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   18.43 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   18.44 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   18.45  */
   18.46  
   18.47  #include "xennet.h"
    19.1 --- a/xennet/xennet_tx.c	Thu Jan 16 19:52:24 2014 +1100
    19.2 +++ b/xennet/xennet_tx.c	Thu Mar 13 13:38:31 2014 +1100
    19.3 @@ -1,21 +1,30 @@
    19.4  /*
    19.5 -PV Net Driver for Windows Xen HVM Domains
    19.6 -Copyright (C) 2007 James Harper
    19.7 -Copyright (C) 2007 Andrew Grover <andy.grover@oracle.com>
    19.8 +PV Drivers for Windows Xen HVM Domains
    19.9  
   19.10 -This program is free software; you can redistribute it and/or
   19.11 -modify it under the terms of the GNU General Public License
   19.12 -as published by the Free Software Foundation; either version 2
   19.13 -of the License, or (at your option) any later version.
   19.14 +Copyright (c) 2014, James Harper
   19.15 +All rights reserved.
   19.16  
   19.17 -This program is distributed in the hope that it will be useful,
   19.18 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   19.19 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   19.20 -GNU General Public License for more details.
   19.21 +Redistribution and use in source and binary forms, with or without
   19.22 +modification, are permitted provided that the following conditions are met:
   19.23 +    * Redistributions of source code must retain the above copyright
   19.24 +      notice, this list of conditions and the following disclaimer.
   19.25 +    * Redistributions in binary form must reproduce the above copyright
   19.26 +      notice, this list of conditions and the following disclaimer in the
   19.27 +      documentation and/or other materials provided with the distribution.
   19.28 +    * Neither the name of James Harper nor the
   19.29 +      names of its contributors may be used to endorse or promote products
   19.30 +      derived from this software without specific prior written permission.
   19.31  
   19.32 -You should have received a copy of the GNU General Public License
   19.33 -along with this program; if not, write to the Free Software
   19.34 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   19.35 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   19.36 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   19.37 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   19.38 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   19.39 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   19.40 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   19.41 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   19.42 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   19.43 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   19.44 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   19.45  */
   19.46  
   19.47  #include "xennet.h"
    20.1 --- a/xenpci/evtchn.c	Thu Jan 16 19:52:24 2014 +1100
    20.2 +++ b/xenpci/evtchn.c	Thu Mar 13 13:38:31 2014 +1100
    20.3 @@ -1,20 +1,30 @@
    20.4  /*
    20.5  PV Drivers for Windows Xen HVM Domains
    20.6 -Copyright (C) 2007 James Harper
    20.7 -
    20.8 -This program is free software; you can redistribute it and/or
    20.9 -modify it under the terms of the GNU General Public License
   20.10 -as published by the Free Software Foundation; either version 2
   20.11 -of the License, or (at your option) any later version.
   20.12  
   20.13 -This program is distributed in the hope that it will be useful,
   20.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   20.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   20.16 -GNU General Public License for more details.
   20.17 +Copyright (c) 2014, James Harper
   20.18 +All rights reserved.
   20.19  
   20.20 -You should have received a copy of the GNU General Public License
   20.21 -along with this program; if not, write to the Free Software
   20.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   20.23 +Redistribution and use in source and binary forms, with or without
   20.24 +modification, are permitted provided that the following conditions are met:
   20.25 +    * Redistributions of source code must retain the above copyright
   20.26 +      notice, this list of conditions and the following disclaimer.
   20.27 +    * Redistributions in binary form must reproduce the above copyright
   20.28 +      notice, this list of conditions and the following disclaimer in the
   20.29 +      documentation and/or other materials provided with the distribution.
   20.30 +    * Neither the name of James Harper nor the
   20.31 +      names of its contributors may be used to endorse or promote products
   20.32 +      derived from this software without specific prior written permission.
   20.33 +
   20.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   20.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   20.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   20.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   20.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   20.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   20.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   20.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   20.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   20.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   20.44  */
   20.45  
   20.46  #include "xenpci.h"
    21.1 --- a/xenpci/gnttbl.c	Thu Jan 16 19:52:24 2014 +1100
    21.2 +++ b/xenpci/gnttbl.c	Thu Mar 13 13:38:31 2014 +1100
    21.3 @@ -1,20 +1,30 @@
    21.4  /*
    21.5  PV Drivers for Windows Xen HVM Domains
    21.6 -Copyright (C) 2007 James Harper
    21.7 -
    21.8 -This program is free software; you can redistribute it and/or
    21.9 -modify it under the terms of the GNU General Public License
   21.10 -as published by the Free Software Foundation; either version 2
   21.11 -of the License, or (at your option) any later version.
   21.12  
   21.13 -This program is distributed in the hope that it will be useful,
   21.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   21.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   21.16 -GNU General Public License for more details.
   21.17 +Copyright (c) 2014, James Harper
   21.18 +All rights reserved.
   21.19  
   21.20 -You should have received a copy of the GNU General Public License
   21.21 -along with this program; if not, write to the Free Software
   21.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   21.23 +Redistribution and use in source and binary forms, with or without
   21.24 +modification, are permitted provided that the following conditions are met:
   21.25 +    * Redistributions of source code must retain the above copyright
   21.26 +      notice, this list of conditions and the following disclaimer.
   21.27 +    * Redistributions in binary form must reproduce the above copyright
   21.28 +      notice, this list of conditions and the following disclaimer in the
   21.29 +      documentation and/or other materials provided with the distribution.
   21.30 +    * Neither the name of James Harper nor the
   21.31 +      names of its contributors may be used to endorse or promote products
   21.32 +      derived from this software without specific prior written permission.
   21.33 +
   21.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   21.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   21.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   21.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   21.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   21.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   21.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   21.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   21.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   21.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   21.44  */
   21.45  
   21.46  #include "xenpci.h"
    22.1 --- a/xenpci/xenbus.c	Thu Jan 16 19:52:24 2014 +1100
    22.2 +++ b/xenpci/xenbus.c	Thu Mar 13 13:38:31 2014 +1100
    22.3 @@ -1,20 +1,30 @@
    22.4  /*
    22.5  PV Drivers for Windows Xen HVM Domains
    22.6 -Copyright (C) 2007 James Harper
    22.7 -
    22.8 -This program is free software; you can redistribute it and/or
    22.9 -modify it under the terms of the GNU General Public License
   22.10 -as published by the Free Software Foundation; either version 2
   22.11 -of the License, or (at your option) any later version.
   22.12  
   22.13 -This program is distributed in the hope that it will be useful,
   22.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   22.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   22.16 -GNU General Public License for more details.
   22.17 +Copyright (c) 2014, James Harper
   22.18 +All rights reserved.
   22.19  
   22.20 -You should have received a copy of the GNU General Public License
   22.21 -along with this program; if not, write to the Free Software
   22.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   22.23 +Redistribution and use in source and binary forms, with or without
   22.24 +modification, are permitted provided that the following conditions are met:
   22.25 +    * Redistributions of source code must retain the above copyright
   22.26 +      notice, this list of conditions and the following disclaimer.
   22.27 +    * Redistributions in binary form must reproduce the above copyright
   22.28 +      notice, this list of conditions and the following disclaimer in the
   22.29 +      documentation and/or other materials provided with the distribution.
   22.30 +    * Neither the name of James Harper nor the
   22.31 +      names of its contributors may be used to endorse or promote products
   22.32 +      derived from this software without specific prior written permission.
   22.33 +
   22.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   22.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   22.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   22.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   22.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   22.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   22.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   22.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   22.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   22.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   22.44  */
   22.45  
   22.46  #include "xenpci.h"
    23.1 --- a/xenpci/xenpci.c	Thu Jan 16 19:52:24 2014 +1100
    23.2 +++ b/xenpci/xenpci.c	Thu Mar 13 13:38:31 2014 +1100
    23.3 @@ -1,20 +1,30 @@
    23.4  /*
    23.5  PV Drivers for Windows Xen HVM Domains
    23.6 -Copyright (C) 2007 James Harper
    23.7 -
    23.8 -This program is free software; you can redistribute it and/or
    23.9 -modify it under the terms of the GNU General Public License
   23.10 -as published by the Free Software Foundation; either version 2
   23.11 -of the License, or (at your option) any later version.
   23.12  
   23.13 -This program is distributed in the hope that it will be useful,
   23.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   23.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   23.16 -GNU General Public License for more details.
   23.17 +Copyright (c) 2014, James Harper
   23.18 +All rights reserved.
   23.19  
   23.20 -You should have received a copy of the GNU General Public License
   23.21 -along with this program; if not, write to the Free Software
   23.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   23.23 +Redistribution and use in source and binary forms, with or without
   23.24 +modification, are permitted provided that the following conditions are met:
   23.25 +    * Redistributions of source code must retain the above copyright
   23.26 +      notice, this list of conditions and the following disclaimer.
   23.27 +    * Redistributions in binary form must reproduce the above copyright
   23.28 +      notice, this list of conditions and the following disclaimer in the
   23.29 +      documentation and/or other materials provided with the distribution.
   23.30 +    * Neither the name of James Harper nor the
   23.31 +      names of its contributors may be used to endorse or promote products
   23.32 +      derived from this software without specific prior written permission.
   23.33 +
   23.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   23.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   23.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   23.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   23.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   23.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   23.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   23.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   23.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   23.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   23.44  */
   23.45  
   23.46  #define INITGUID
   23.47 @@ -791,8 +801,9 @@ DriverEntry(PDRIVER_OBJECT DriverObject,
   23.48      conf_info = IoGetConfigurationInformation();      
   23.49      if (always_hide || ((conf_info == NULL || conf_info->DiskCount == 0)
   23.50          && !(system_start_options.Buffer && wcsstr(system_start_options.Buffer, L"NOGPLPV"))
   23.51 +        && !(system_start_options.Buffer && wcsstr(system_start_options.Buffer, L"NOEJBPV"))
   23.52          && !*InitSafeBootMode)) {
   23.53 -      if (!(system_start_options.Buffer && wcsstr(system_start_options.Buffer, L"GPLPVUSEFILTERHIDE")) && XenPci_CheckHideQemuDevices()) {
   23.54 +      if (!(system_start_options.Buffer && wcsstr(system_start_options.Buffer, L"EJBPVUSEFILTERHIDE")) && XenPci_CheckHideQemuDevices()) {
   23.55          DECLARE_CONST_UNICODE_STRING(qemu_hide_flags_name, L"qemu_hide_flags");
   23.56          DECLARE_CONST_UNICODE_STRING(txt_qemu_hide_flags_name, L"txt_qemu_hide_flags");
   23.57          WDFCOLLECTION qemu_hide_flags;
    24.1 --- a/xenpci/xenpci.h	Thu Jan 16 19:52:24 2014 +1100
    24.2 +++ b/xenpci/xenpci.h	Thu Mar 13 13:38:31 2014 +1100
    24.3 @@ -1,20 +1,30 @@
    24.4  /*
    24.5  PV Drivers for Windows Xen HVM Domains
    24.6 -Copyright (C) 2007 James Harper
    24.7 -
    24.8 -This program is free software; you can redistribute it and/or
    24.9 -modify it under the terms of the GNU General Public License
   24.10 -as published by the Free Software Foundation; either version 2
   24.11 -of the License, or (at your option) any later version.
   24.12  
   24.13 -This program is distributed in the hope that it will be useful,
   24.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   24.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   24.16 -GNU General Public License for more details.
   24.17 +Copyright (c) 2014, James Harper
   24.18 +All rights reserved.
   24.19  
   24.20 -You should have received a copy of the GNU General Public License
   24.21 -along with this program; if not, write to the Free Software
   24.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   24.23 +Redistribution and use in source and binary forms, with or without
   24.24 +modification, are permitted provided that the following conditions are met:
   24.25 +    * Redistributions of source code must retain the above copyright
   24.26 +      notice, this list of conditions and the following disclaimer.
   24.27 +    * Redistributions in binary form must reproduce the above copyright
   24.28 +      notice, this list of conditions and the following disclaimer in the
   24.29 +      documentation and/or other materials provided with the distribution.
   24.30 +    * Neither the name of James Harper nor the
   24.31 +      names of its contributors may be used to endorse or promote products
   24.32 +      derived from this software without specific prior written permission.
   24.33 +
   24.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   24.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   24.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   24.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   24.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   24.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   24.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   24.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   24.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   24.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   24.44  */
   24.45  
   24.46  #if !defined(_XENPCI_H_)
    25.1 --- a/xenpci/xenpci.rc	Thu Jan 16 19:52:24 2014 +1100
    25.2 +++ b/xenpci/xenpci.rc	Thu Mar 13 13:38:31 2014 +1100
    25.3 @@ -1,28 +1,38 @@
    25.4 +/*
    25.5 +PV Drivers for Windows Xen HVM Domains
    25.6 +
    25.7 +Copyright (c) 2014, James Harper
    25.8 +All rights reserved.
    25.9 +
   25.10 +Redistribution and use in source and binary forms, with or without
   25.11 +modification, are permitted provided that the following conditions are met:
   25.12 +    * Redistributions of source code must retain the above copyright
   25.13 +      notice, this list of conditions and the following disclaimer.
   25.14 +    * Redistributions in binary form must reproduce the above copyright
   25.15 +      notice, this list of conditions and the following disclaimer in the
   25.16 +      documentation and/or other materials provided with the distribution.
   25.17 +    * Neither the name of James Harper nor the
   25.18 +      names of its contributors may be used to endorse or promote products
   25.19 +      derived from this software without specific prior written permission.
   25.20 +
   25.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   25.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   25.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   25.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   25.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   25.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   25.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   25.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   25.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   25.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   25.31 +*/
   25.32 +
   25.33  #include <windows.h>
   25.34  #include <ntverp.h>
   25.35 -#include "gplpv_version.h"
   25.36 -
   25.37 -#define VER_FILETYPE                VFT_DRV
   25.38 -#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
   25.39 -#ifdef DEBUG
   25.40 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenPCI Driver"
   25.41 -#else
   25.42 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenPCI Driver (Checked Build)"
   25.43 -#endif
   25.44 -#define VER_INTERNALNAME_STR        "xenpci.sys"
   25.45 -#define VER_ORIGINALFILENAME_STR    "xenpci.sys"
   25.46  
   25.47 -#undef VER_PRODUCTVERSION
   25.48 -#define VER_PRODUCTVERSION          VER_FILEVERSION
   25.49 -#undef VER_PRODUCTVERSION_STR
   25.50 -#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
   25.51 -#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2009 James Harper" 
   25.52 +#define EJBPV_DRIVER_DESCRIPTION "EJBPV XenPCI Driver"
   25.53 +#define EJBPV_DRIVER_FILENAME "xenpci.sys"
   25.54  
   25.55 -#ifdef VER_COMPANYNAME_STR
   25.56 -#undef VER_COMPANYNAME_STR
   25.57 -#define VER_COMPANYNAME_STR         "James Harper"
   25.58 -#endif
   25.59 -#undef VER_PRODUCTNAME_STR
   25.60 -#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
   25.61 +#include "ejbpv_version.h"
   25.62  
   25.63  #include "common.ver"
    26.1 --- a/xenpci/xenpci_dbgprint.c	Thu Jan 16 19:52:24 2014 +1100
    26.2 +++ b/xenpci/xenpci_dbgprint.c	Thu Mar 13 13:38:31 2014 +1100
    26.3 @@ -1,20 +1,30 @@
    26.4  /*
    26.5  PV Drivers for Windows Xen HVM Domains
    26.6 -Copyright (C) 2007 James Harper
    26.7 -
    26.8 -This program is free software; you can redistribute it and/or
    26.9 -modify it under the terms of the GNU General Public License
   26.10 -as published by the Free Software Foundation; either version 2
   26.11 -of the License, or (at your option) any later version.
   26.12  
   26.13 -This program is distributed in the hope that it will be useful,
   26.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   26.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   26.16 -GNU General Public License for more details.
   26.17 +Copyright (c) 2014, James Harper
   26.18 +All rights reserved.
   26.19  
   26.20 -You should have received a copy of the GNU General Public License
   26.21 -along with this program; if not, write to the Free Software
   26.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   26.23 +Redistribution and use in source and binary forms, with or without
   26.24 +modification, are permitted provided that the following conditions are met:
   26.25 +    * Redistributions of source code must retain the above copyright
   26.26 +      notice, this list of conditions and the following disclaimer.
   26.27 +    * Redistributions in binary form must reproduce the above copyright
   26.28 +      notice, this list of conditions and the following disclaimer in the
   26.29 +      documentation and/or other materials provided with the distribution.
   26.30 +    * Neither the name of James Harper nor the
   26.31 +      names of its contributors may be used to endorse or promote products
   26.32 +      derived from this software without specific prior written permission.
   26.33 +
   26.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   26.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   26.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   26.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   26.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   26.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   26.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   26.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   26.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   26.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   26.44  */
   26.45  
   26.46  #include "xenpci.h"
    27.1 --- a/xenpci/xenpci_export.c	Thu Jan 16 19:52:24 2014 +1100
    27.2 +++ b/xenpci/xenpci_export.c	Thu Mar 13 13:38:31 2014 +1100
    27.3 @@ -1,20 +1,30 @@
    27.4  /*
    27.5  PV Drivers for Windows Xen HVM Domains
    27.6 -Copyright (C) 2012 James Harper
    27.7 -
    27.8 -This program is free software; you can redistribute it and/or
    27.9 -modify it under the terms of the GNU General Public License
   27.10 -as published by the Free Software Foundation; either version 2
   27.11 -of the License, or (at your option) any later version.
   27.12  
   27.13 -This program is distributed in the hope that it will be useful,
   27.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   27.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   27.16 -GNU General Public License for more details.
   27.17 +Copyright (c) 2014, James Harper
   27.18 +All rights reserved.
   27.19  
   27.20 -You should have received a copy of the GNU General Public License
   27.21 -along with this program; if not, write to the Free Software
   27.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   27.23 +Redistribution and use in source and binary forms, with or without
   27.24 +modification, are permitted provided that the following conditions are met:
   27.25 +    * Redistributions of source code must retain the above copyright
   27.26 +      notice, this list of conditions and the following disclaimer.
   27.27 +    * Redistributions in binary form must reproduce the above copyright
   27.28 +      notice, this list of conditions and the following disclaimer in the
   27.29 +      documentation and/or other materials provided with the distribution.
   27.30 +    * Neither the name of James Harper nor the
   27.31 +      names of its contributors may be used to endorse or promote products
   27.32 +      derived from this software without specific prior written permission.
   27.33 +
   27.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   27.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   27.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   27.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   27.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   27.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   27.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   27.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   27.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   27.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   27.44  */
   27.45  
   27.46  #include "xenpci.h"
    28.1 --- a/xenpci/xenpci_fdo.c	Thu Jan 16 19:52:24 2014 +1100
    28.2 +++ b/xenpci/xenpci_fdo.c	Thu Mar 13 13:38:31 2014 +1100
    28.3 @@ -1,20 +1,30 @@
    28.4  /*
    28.5  PV Drivers for Windows Xen HVM Domains
    28.6 -Copyright (C) 2007 James Harper
    28.7 -
    28.8 -This program is free software; you can redistribute it and/or
    28.9 -modify it under the terms of the GNU General Public License
   28.10 -as published by the Free Software Foundation; either version 2
   28.11 -of the License, or (at your option) any later version.
   28.12  
   28.13 -This program is distributed in the hope that it will be useful,
   28.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   28.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   28.16 -GNU General Public License for more details.
   28.17 +Copyright (c) 2014, James Harper
   28.18 +All rights reserved.
   28.19  
   28.20 -You should have received a copy of the GNU General Public License
   28.21 -along with this program; if not, write to the Free Software
   28.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   28.23 +Redistribution and use in source and binary forms, with or without
   28.24 +modification, are permitted provided that the following conditions are met:
   28.25 +    * Redistributions of source code must retain the above copyright
   28.26 +      notice, this list of conditions and the following disclaimer.
   28.27 +    * Redistributions in binary form must reproduce the above copyright
   28.28 +      notice, this list of conditions and the following disclaimer in the
   28.29 +      documentation and/or other materials provided with the distribution.
   28.30 +    * Neither the name of James Harper nor the
   28.31 +      names of its contributors may be used to endorse or promote products
   28.32 +      derived from this software without specific prior written permission.
   28.33 +
   28.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   28.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   28.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   28.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   28.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   28.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   28.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   28.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   28.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   28.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   28.44  */
   28.45  
   28.46  #include "xenpci.h"
   28.47 @@ -147,7 +157,6 @@ XenPci_SysrqHandler(char *path, PVOID co
   28.48    PXENPCI_DEVICE_DATA xpdd = context;
   28.49    char *value;
   28.50    char letter;
   28.51 -  char *res;
   28.52  
   28.53    UNREFERENCED_PARAMETER(path);
   28.54  
   28.55 @@ -159,6 +168,8 @@ XenPci_SysrqHandler(char *path, PVOID co
   28.56  
   28.57    if (!value || !strlen(value)) {
   28.58      letter = 0;
   28.59 +  } else {
   28.60 +    letter = *value;
   28.61    }
   28.62  
   28.63    if (value != NULL) {
    29.1 --- a/xenpci/xenpci_highsync.c	Thu Jan 16 19:52:24 2014 +1100
    29.2 +++ b/xenpci/xenpci_highsync.c	Thu Mar 13 13:38:31 2014 +1100
    29.3 @@ -1,20 +1,30 @@
    29.4  /*
    29.5  PV Drivers for Windows Xen HVM Domains
    29.6 -Copyright (C) 2007 James Harper
    29.7 -
    29.8 -This program is free software; you can redistribute it and/or
    29.9 -modify it under the terms of the GNU General Public License
   29.10 -as published by the Free Software Foundation; either version 2
   29.11 -of the License, or (at your option) any later version.
   29.12  
   29.13 -This program is distributed in the hope that it will be useful,
   29.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   29.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   29.16 -GNU General Public License for more details.
   29.17 +Copyright (c) 2014, James Harper
   29.18 +All rights reserved.
   29.19  
   29.20 -You should have received a copy of the GNU General Public License
   29.21 -along with this program; if not, write to the Free Software
   29.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   29.23 +Redistribution and use in source and binary forms, with or without
   29.24 +modification, are permitted provided that the following conditions are met:
   29.25 +    * Redistributions of source code must retain the above copyright
   29.26 +      notice, this list of conditions and the following disclaimer.
   29.27 +    * Redistributions in binary form must reproduce the above copyright
   29.28 +      notice, this list of conditions and the following disclaimer in the
   29.29 +      documentation and/or other materials provided with the distribution.
   29.30 +    * Neither the name of James Harper nor the
   29.31 +      names of its contributors may be used to endorse or promote products
   29.32 +      derived from this software without specific prior written permission.
   29.33 +
   29.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   29.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   29.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   29.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   29.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   29.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   29.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   29.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   29.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   29.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   29.44  */
   29.45  
   29.46  #include "xenpci.h"
    30.1 --- a/xenpci/xenpci_patch_kernel.c	Thu Jan 16 19:52:24 2014 +1100
    30.2 +++ b/xenpci/xenpci_patch_kernel.c	Thu Mar 13 13:38:31 2014 +1100
    30.3 @@ -1,21 +1,30 @@
    30.4  /*
    30.5  PV Drivers for Windows Xen HVM Domains
    30.6 -Copyright (C) 2007 James Harper
    30.7 -Inspired by amdvopt by Travis Betak
    30.8 -
    30.9 -This program is free software; you can redistribute it and/or
   30.10 -modify it under the terms of the GNU General Public License
   30.11 -as published by the Free Software Foundation; either version 2
   30.12 -of the License, or (at your option) any later version.
   30.13  
   30.14 -This program is distributed in the hope that it will be useful,
   30.15 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   30.16 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   30.17 -GNU General Public License for more details.
   30.18 +Copyright (c) 2014, James Harper
   30.19 +All rights reserved.
   30.20  
   30.21 -You should have received a copy of the GNU General Public License
   30.22 -along with this program; if not, write to the Free Software
   30.23 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   30.24 +Redistribution and use in source and binary forms, with or without
   30.25 +modification, are permitted provided that the following conditions are met:
   30.26 +    * Redistributions of source code must retain the above copyright
   30.27 +      notice, this list of conditions and the following disclaimer.
   30.28 +    * Redistributions in binary form must reproduce the above copyright
   30.29 +      notice, this list of conditions and the following disclaimer in the
   30.30 +      documentation and/or other materials provided with the distribution.
   30.31 +    * Neither the name of James Harper nor the
   30.32 +      names of its contributors may be used to endorse or promote products
   30.33 +      derived from this software without specific prior written permission.
   30.34 +
   30.35 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   30.36 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   30.37 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   30.38 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   30.39 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   30.40 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   30.41 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   30.42 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   30.43 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   30.44 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   30.45  */
   30.46  
   30.47  #include "xenpci.h"
    31.1 --- a/xenpci/xenpci_pdo.c	Thu Jan 16 19:52:24 2014 +1100
    31.2 +++ b/xenpci/xenpci_pdo.c	Thu Mar 13 13:38:31 2014 +1100
    31.3 @@ -1,20 +1,30 @@
    31.4  /*
    31.5  PV Drivers for Windows Xen HVM Domains
    31.6 -Copyright (C) 2007 James Harper
    31.7 -
    31.8 -This program is free software; you can redistribute it and/or
    31.9 -modify it under the terms of the GNU General Public License
   31.10 -as published by the Free Software Foundation; either version 2
   31.11 -of the License, or (at your option) any later version.
   31.12  
   31.13 -This program is distributed in the hope that it will be useful,
   31.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   31.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   31.16 -GNU General Public License for more details.
   31.17 +Copyright (c) 2014, James Harper
   31.18 +All rights reserved.
   31.19  
   31.20 -You should have received a copy of the GNU General Public License
   31.21 -along with this program; if not, write to the Free Software
   31.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   31.23 +Redistribution and use in source and binary forms, with or without
   31.24 +modification, are permitted provided that the following conditions are met:
   31.25 +    * Redistributions of source code must retain the above copyright
   31.26 +      notice, this list of conditions and the following disclaimer.
   31.27 +    * Redistributions in binary form must reproduce the above copyright
   31.28 +      notice, this list of conditions and the following disclaimer in the
   31.29 +      documentation and/or other materials provided with the distribution.
   31.30 +    * Neither the name of James Harper nor the
   31.31 +      names of its contributors may be used to endorse or promote products
   31.32 +      derived from this software without specific prior written permission.
   31.33 +
   31.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   31.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   31.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   31.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   31.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   31.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   31.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   31.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   31.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   31.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   31.44  */
   31.45  
   31.46  #include "xenpci.h"
    32.1 --- a/xenusb/xenusb.rc	Thu Jan 16 19:52:24 2014 +1100
    32.2 +++ b/xenusb/xenusb.rc	Thu Mar 13 13:38:31 2014 +1100
    32.3 @@ -1,28 +1,38 @@
    32.4 +/*
    32.5 +PV Drivers for Windows Xen HVM Domains
    32.6 +
    32.7 +Copyright (c) 2014, James Harper
    32.8 +All rights reserved.
    32.9 +
   32.10 +Redistribution and use in source and binary forms, with or without
   32.11 +modification, are permitted provided that the following conditions are met:
   32.12 +    * Redistributions of source code must retain the above copyright
   32.13 +      notice, this list of conditions and the following disclaimer.
   32.14 +    * Redistributions in binary form must reproduce the above copyright
   32.15 +      notice, this list of conditions and the following disclaimer in the
   32.16 +      documentation and/or other materials provided with the distribution.
   32.17 +    * Neither the name of James Harper nor the
   32.18 +      names of its contributors may be used to endorse or promote products
   32.19 +      derived from this software without specific prior written permission.
   32.20 +
   32.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   32.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   32.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   32.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   32.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   32.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   32.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   32.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   32.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   32.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   32.31 +*/
   32.32 +
   32.33  #include <windows.h>
   32.34  #include <ntverp.h>
   32.35 -#include "gplpv_version.h"
   32.36 -
   32.37 -#define VER_FILETYPE                VFT_DRV
   32.38 -#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
   32.39 -#ifdef DEBUG
   32.40 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenPCI Driver"
   32.41 -#else
   32.42 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenPCI Driver (Checked Build)"
   32.43 -#endif
   32.44 -#define VER_INTERNALNAME_STR        "xenpci.sys"
   32.45 -#define VER_ORIGINALFILENAME_STR    "xenpci.sys"
   32.46  
   32.47 -#undef VER_PRODUCTVERSION
   32.48 -#define VER_PRODUCTVERSION          VER_FILEVERSION
   32.49 -#undef VER_PRODUCTVERSION_STR
   32.50 -#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
   32.51 -#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2009 James Harper" 
   32.52 +#define EJBPV_DRIVER_DESCRIPTION "EJBPV XenUSB Driver"
   32.53 +#define EJBPV_DRIVER_FILENAME "xenusb.sys"
   32.54  
   32.55 -#ifdef VER_COMPANYNAME_STR
   32.56 -#undef VER_COMPANYNAME_STR
   32.57 -#define VER_COMPANYNAME_STR         "James Harper"
   32.58 -#endif
   32.59 -#undef VER_PRODUCTNAME_STR
   32.60 -#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
   32.61 +#include "ejbpv_version.h"
   32.62  
   32.63  #include "common.ver"
    33.1 --- a/xenvbd_common/common_miniport.h	Thu Jan 16 19:52:24 2014 +1100
    33.2 +++ b/xenvbd_common/common_miniport.h	Thu Mar 13 13:38:31 2014 +1100
    33.3 @@ -1,20 +1,30 @@
    33.4  /*
    33.5  PV Drivers for Windows Xen HVM Domains
    33.6 -Copyright (C) 2013 James Harper
    33.7 -
    33.8 -This program is free software; you can redistribute it and/or
    33.9 -modify it under the terms of the GNU General Public License
   33.10 -as published by the Free Software Foundation; either version 2
   33.11 -of the License, or (at your option) any later version.
   33.12  
   33.13 -This program is distributed in the hope that it will be useful,
   33.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   33.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   33.16 -GNU General Public License for more details.
   33.17 +Copyright (c) 2014, James Harper
   33.18 +All rights reserved.
   33.19  
   33.20 -You should have received a copy of the GNU General Public License
   33.21 -along with this program; if not, write to the Free Software
   33.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   33.23 +Redistribution and use in source and binary forms, with or without
   33.24 +modification, are permitted provided that the following conditions are met:
   33.25 +    * Redistributions of source code must retain the above copyright
   33.26 +      notice, this list of conditions and the following disclaimer.
   33.27 +    * Redistributions in binary form must reproduce the above copyright
   33.28 +      notice, this list of conditions and the following disclaimer in the
   33.29 +      documentation and/or other materials provided with the distribution.
   33.30 +    * Neither the name of James Harper nor the
   33.31 +      names of its contributors may be used to endorse or promote products
   33.32 +      derived from this software without specific prior written permission.
   33.33 +
   33.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   33.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   33.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   33.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   33.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   33.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   33.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   33.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   33.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   33.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   33.44  */
   33.45  
   33.46  #if defined(__x86_64__)
    34.1 --- a/xenvbd_filter/xenvbd_filter.c	Thu Jan 16 19:52:24 2014 +1100
    34.2 +++ b/xenvbd_filter/xenvbd_filter.c	Thu Mar 13 13:38:31 2014 +1100
    34.3 @@ -1,20 +1,30 @@
    34.4  /*
    34.5  PV Drivers for Windows Xen HVM Domains
    34.6 -Copyright (C) 2013 James Harper
    34.7 -
    34.8 -This program is free software; you can redistribute it and/or
    34.9 -modify it under the terms of the GNU General Public License
   34.10 -as published by the Free Software Foundation; either version 2
   34.11 -of the License, or (at your option) any later version.
   34.12  
   34.13 -This program is distributed in the hope that it will be useful,
   34.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   34.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   34.16 -GNU General Public License for more details.
   34.17 +Copyright (c) 2014, James Harper
   34.18 +All rights reserved.
   34.19  
   34.20 -You should have received a copy of the GNU General Public License
   34.21 -along with this program; if not, write to the Free Software
   34.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   34.23 +Redistribution and use in source and binary forms, with or without
   34.24 +modification, are permitted provided that the following conditions are met:
   34.25 +    * Redistributions of source code must retain the above copyright
   34.26 +      notice, this list of conditions and the following disclaimer.
   34.27 +    * Redistributions in binary form must reproduce the above copyright
   34.28 +      notice, this list of conditions and the following disclaimer in the
   34.29 +      documentation and/or other materials provided with the distribution.
   34.30 +    * Neither the name of James Harper nor the
   34.31 +      names of its contributors may be used to endorse or promote products
   34.32 +      derived from this software without specific prior written permission.
   34.33 +
   34.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   34.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   34.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   34.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   34.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   34.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   34.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   34.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   34.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   34.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   34.44  */
   34.45  
   34.46  #include "xenvbd_filter.h"
    35.1 --- a/xenvbd_filter/xenvbd_filter.h	Thu Jan 16 19:52:24 2014 +1100
    35.2 +++ b/xenvbd_filter/xenvbd_filter.h	Thu Mar 13 13:38:31 2014 +1100
    35.3 @@ -1,20 +1,30 @@
    35.4  /*
    35.5  PV Drivers for Windows Xen HVM Domains
    35.6 -Copyright (C) 2013 James Harper
    35.7 -
    35.8 -This program is free software; you can redistribute it and/or
    35.9 -modify it under the terms of the GNU General Public License
   35.10 -as published by the Free Software Foundation; either version 2
   35.11 -of the License, or (at your option) any later version.
   35.12  
   35.13 -This program is distributed in the hope that it will be useful,
   35.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   35.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   35.16 -GNU General Public License for more details.
   35.17 +Copyright (c) 2014, James Harper
   35.18 +All rights reserved.
   35.19  
   35.20 -You should have received a copy of the GNU General Public License
   35.21 -along with this program; if not, write to the Free Software
   35.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   35.23 +Redistribution and use in source and binary forms, with or without
   35.24 +modification, are permitted provided that the following conditions are met:
   35.25 +    * Redistributions of source code must retain the above copyright
   35.26 +      notice, this list of conditions and the following disclaimer.
   35.27 +    * Redistributions in binary form must reproduce the above copyright
   35.28 +      notice, this list of conditions and the following disclaimer in the
   35.29 +      documentation and/or other materials provided with the distribution.
   35.30 +    * Neither the name of James Harper nor the
   35.31 +      names of its contributors may be used to endorse or promote products
   35.32 +      derived from this software without specific prior written permission.
   35.33 +
   35.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   35.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   35.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   35.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   35.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   35.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   35.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   35.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   35.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   35.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   35.44  */
   35.45  
   35.46  #if !defined(_XENVBD_H_)
    36.1 --- a/xenvbd_filter/xenvbd_filter.rc	Thu Jan 16 19:52:24 2014 +1100
    36.2 +++ b/xenvbd_filter/xenvbd_filter.rc	Thu Mar 13 13:38:31 2014 +1100
    36.3 @@ -1,28 +1,38 @@
    36.4 +/*
    36.5 +PV Drivers for Windows Xen HVM Domains
    36.6 +
    36.7 +Copyright (c) 2014, James Harper
    36.8 +All rights reserved.
    36.9 +
   36.10 +Redistribution and use in source and binary forms, with or without
   36.11 +modification, are permitted provided that the following conditions are met:
   36.12 +    * Redistributions of source code must retain the above copyright
   36.13 +      notice, this list of conditions and the following disclaimer.
   36.14 +    * Redistributions in binary form must reproduce the above copyright
   36.15 +      notice, this list of conditions and the following disclaimer in the
   36.16 +      documentation and/or other materials provided with the distribution.
   36.17 +    * Neither the name of James Harper nor the
   36.18 +      names of its contributors may be used to endorse or promote products
   36.19 +      derived from this software without specific prior written permission.
   36.20 +
   36.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   36.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   36.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   36.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   36.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   36.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   36.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   36.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   36.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   36.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   36.31 +*/
   36.32 +
   36.33  #include <windows.h>
   36.34  #include <ntverp.h>
   36.35 -#include "gplpv_version.h"
   36.36 -
   36.37 -#define VER_FILETYPE                VFT_DRV
   36.38 -#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
   36.39 -#ifdef DEBUG
   36.40 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenVbd Scsiport Filter"
   36.41 -#else
   36.42 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenVbd Scsiport Filter (Checked Build)"
   36.43 -#endif
   36.44 -#define VER_INTERNALNAME_STR        "xenvbd_filter.sys"
   36.45 -#define VER_ORIGINALFILENAME_STR    "xenvbd_filter.sys"
   36.46  
   36.47 -#undef VER_PRODUCTVERSION
   36.48 -#define VER_PRODUCTVERSION          VER_FILEVERSION
   36.49 -#undef VER_PRODUCTVERSION_STR
   36.50 -#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
   36.51 -#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2013 James Harper" 
   36.52 +#define EJBPV_DRIVER_DESCRIPTION "EJBPV XenVbd Scsiport Filter Driver"
   36.53 +#define EJBPV_DRIVER_FILENAME "xenvbd_filter.sys"
   36.54  
   36.55 -#ifdef VER_COMPANYNAME_STR
   36.56 -#undef VER_COMPANYNAME_STR
   36.57 -#define VER_COMPANYNAME_STR         "James Harper"
   36.58 -#endif
   36.59 -#undef VER_PRODUCTNAME_STR
   36.60 -#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
   36.61 +#include "ejbpv_version.h"
   36.62  
   36.63  #include "common.ver"
    37.1 --- a/xenvbd_scsiport/common.h	Thu Jan 16 19:52:24 2014 +1100
    37.2 +++ b/xenvbd_scsiport/common.h	Thu Mar 13 13:38:31 2014 +1100
    37.3 @@ -17,7 +17,7 @@ along with this program; if not, write t
    37.4  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    37.5  */
    37.6  
    37.7 -#define XENVBD_CONTROL_SIG         "XENGPLPV"
    37.8 +#define XENVBD_CONTROL_SIG         "XENEJBPV"
    37.9  #define XENVBD_CONTROL_START       0
   37.10  #define XENVBD_CONTROL_STOP        1
   37.11  #define XENVBD_CONTROL_EVENT       2
    38.1 --- a/xenvbd_scsiport/xenvbd.c	Thu Jan 16 19:52:24 2014 +1100
    38.2 +++ b/xenvbd_scsiport/xenvbd.c	Thu Mar 13 13:38:31 2014 +1100
    38.3 @@ -1,20 +1,30 @@
    38.4  /*
    38.5  PV Drivers for Windows Xen HVM Domains
    38.6 -Copyright (C) 2007 James Harper
    38.7 -
    38.8 -This program is free software; you can redistribute it and/or
    38.9 -modify it under the terms of the GNU General Public License
   38.10 -as published by the Free Software Foundation; either version 2
   38.11 -of the License, or (at your option) any later version.
   38.12  
   38.13 -This program is distributed in the hope that it will be useful,
   38.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   38.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   38.16 -GNU General Public License for more details.
   38.17 +Copyright (c) 2014, James Harper
   38.18 +All rights reserved.
   38.19  
   38.20 -You should have received a copy of the GNU General Public License
   38.21 -along with this program; if not, write to the Free Software
   38.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   38.23 +Redistribution and use in source and binary forms, with or without
   38.24 +modification, are permitted provided that the following conditions are met:
   38.25 +    * Redistributions of source code must retain the above copyright
   38.26 +      notice, this list of conditions and the following disclaimer.
   38.27 +    * Redistributions in binary form must reproduce the above copyright
   38.28 +      notice, this list of conditions and the following disclaimer in the
   38.29 +      documentation and/or other materials provided with the distribution.
   38.30 +    * Neither the name of James Harper nor the
   38.31 +      names of its contributors may be used to endorse or promote products
   38.32 +      derived from this software without specific prior written permission.
   38.33 +
   38.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   38.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   38.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   38.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   38.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   38.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   38.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   38.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   38.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   38.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   38.44  */
   38.45  
   38.46  #define INITGUID
    39.1 --- a/xenvbd_scsiport/xenvbd.h	Thu Jan 16 19:52:24 2014 +1100
    39.2 +++ b/xenvbd_scsiport/xenvbd.h	Thu Mar 13 13:38:31 2014 +1100
    39.3 @@ -1,20 +1,30 @@
    39.4  /*
    39.5  PV Drivers for Windows Xen HVM Domains
    39.6 -Copyright (C) 2013 James Harper
    39.7 -
    39.8 -This program is free software; you can redistribute it and/or
    39.9 -modify it under the terms of the GNU General Public License
   39.10 -as published by the Free Software Foundation; either version 2
   39.11 -of the License, or (at your option) any later version.
   39.12  
   39.13 -This program is distributed in the hope that it will be useful,
   39.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   39.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   39.16 -GNU General Public License for more details.
   39.17 +Copyright (c) 2014, James Harper
   39.18 +All rights reserved.
   39.19  
   39.20 -You should have received a copy of the GNU General Public License
   39.21 -along with this program; if not, write to the Free Software
   39.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   39.23 +Redistribution and use in source and binary forms, with or without
   39.24 +modification, are permitted provided that the following conditions are met:
   39.25 +    * Redistributions of source code must retain the above copyright
   39.26 +      notice, this list of conditions and the following disclaimer.
   39.27 +    * Redistributions in binary form must reproduce the above copyright
   39.28 +      notice, this list of conditions and the following disclaimer in the
   39.29 +      documentation and/or other materials provided with the distribution.
   39.30 +    * Neither the name of James Harper nor the
   39.31 +      names of its contributors may be used to endorse or promote products
   39.32 +      derived from this software without specific prior written permission.
   39.33 +
   39.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   39.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   39.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   39.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   39.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   39.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   39.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   39.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   39.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   39.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   39.44  */
   39.45  
   39.46  #if !defined(_XENVBD_H_)
    40.1 --- a/xenvbd_scsiport/xenvbd.rc	Thu Jan 16 19:52:24 2014 +1100
    40.2 +++ b/xenvbd_scsiport/xenvbd.rc	Thu Mar 13 13:38:31 2014 +1100
    40.3 @@ -1,28 +1,38 @@
    40.4 +/*
    40.5 +PV Drivers for Windows Xen HVM Domains
    40.6 +
    40.7 +Copyright (c) 2014, James Harper
    40.8 +All rights reserved.
    40.9 +
   40.10 +Redistribution and use in source and binary forms, with or without
   40.11 +modification, are permitted provided that the following conditions are met:
   40.12 +    * Redistributions of source code must retain the above copyright
   40.13 +      notice, this list of conditions and the following disclaimer.
   40.14 +    * Redistributions in binary form must reproduce the above copyright
   40.15 +      notice, this list of conditions and the following disclaimer in the
   40.16 +      documentation and/or other materials provided with the distribution.
   40.17 +    * Neither the name of James Harper nor the
   40.18 +      names of its contributors may be used to endorse or promote products
   40.19 +      derived from this software without specific prior written permission.
   40.20 +
   40.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   40.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   40.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   40.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   40.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   40.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   40.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   40.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   40.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   40.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   40.31 +*/
   40.32 +
   40.33  #include <windows.h>
   40.34  #include <ntverp.h>
   40.35 -#include "gplpv_version.h"
   40.36 -
   40.37 -#define VER_FILETYPE                VFT_DRV
   40.38 -#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
   40.39 -#ifdef DEBUG
   40.40 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenVbd Driver"
   40.41 -#else
   40.42 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenVbd Driver (Checked Build)"
   40.43 -#endif
   40.44 -#define VER_INTERNALNAME_STR        "xenvbd.sys"
   40.45 -#define VER_ORIGINALFILENAME_STR    "xenvbd.sys"
   40.46  
   40.47 -#undef VER_PRODUCTVERSION
   40.48 -#define VER_PRODUCTVERSION          VER_FILEVERSION
   40.49 -#undef VER_PRODUCTVERSION_STR
   40.50 -#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
   40.51 -#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2009 James Harper" 
   40.52 +#define EJBPV_DRIVER_DESCRIPTION "EJBPV XenVbd Driver"
   40.53 +#define EJBPV_DRIVER_FILENAME "xenvbd.sys"
   40.54  
   40.55 -#ifdef VER_COMPANYNAME_STR
   40.56 -#undef VER_COMPANYNAME_STR
   40.57 -#define VER_COMPANYNAME_STR         "James Harper"
   40.58 -#endif
   40.59 -#undef VER_PRODUCTNAME_STR
   40.60 -#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
   40.61 +#include "ejbpv_version.h"
   40.62  
   40.63  #include "common.ver"
    41.1 --- a/xenvbd_storport/xenvbd.c	Thu Jan 16 19:52:24 2014 +1100
    41.2 +++ b/xenvbd_storport/xenvbd.c	Thu Mar 13 13:38:31 2014 +1100
    41.3 @@ -1,20 +1,30 @@
    41.4  /*
    41.5  PV Drivers for Windows Xen HVM Domains
    41.6 -Copyright (C) 2007 James Harper
    41.7 -
    41.8 -This program is free software; you can redistribute it and/or
    41.9 -modify it under the terms of the GNU General Public License
   41.10 -as published by the Free Software Foundation; either version 2
   41.11 -of the License, or (at your option) any later version.
   41.12  
   41.13 -This program is distributed in the hope that it will be useful,
   41.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
   41.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   41.16 -GNU General Public License for more details.
   41.17 +Copyright (c) 2014, James Harper
   41.18 +All rights reserved.
   41.19  
   41.20 -You should have received a copy of the GNU General Public License
   41.21 -along with this program; if not, write to the Free Software
   41.22 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   41.23 +Redistribution and use in source and binary forms, with or without
   41.24 +modification, are permitted provided that the following conditions are met:
   41.25 +    * Redistributions of source code must retain the above copyright
   41.26 +      notice, this list of conditions and the following disclaimer.
   41.27 +    * Redistributions in binary form must reproduce the above copyright
   41.28 +      notice, this list of conditions and the following disclaimer in the
   41.29 +      documentation and/or other materials provided with the distribution.
   41.30 +    * Neither the name of James Harper nor the
   41.31 +      names of its contributors may be used to endorse or promote products
   41.32 +      derived from this software without specific prior written permission.
   41.33 +
   41.34 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   41.35 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   41.36 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   41.37 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   41.38 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   41.39 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   41.40 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   41.41 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   41.42 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   41.43 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   41.44  */
   41.45  
   41.46  #define INITGUID
    42.1 --- a/xenvbd_storport/xenvbd.rc	Thu Jan 16 19:52:24 2014 +1100
    42.2 +++ b/xenvbd_storport/xenvbd.rc	Thu Mar 13 13:38:31 2014 +1100
    42.3 @@ -1,28 +1,38 @@
    42.4 +/*
    42.5 +PV Drivers for Windows Xen HVM Domains
    42.6 +
    42.7 +Copyright (c) 2014, James Harper
    42.8 +All rights reserved.
    42.9 +
   42.10 +Redistribution and use in source and binary forms, with or without
   42.11 +modification, are permitted provided that the following conditions are met:
   42.12 +    * Redistributions of source code must retain the above copyright
   42.13 +      notice, this list of conditions and the following disclaimer.
   42.14 +    * Redistributions in binary form must reproduce the above copyright
   42.15 +      notice, this list of conditions and the following disclaimer in the
   42.16 +      documentation and/or other materials provided with the distribution.
   42.17 +    * Neither the name of James Harper nor the
   42.18 +      names of its contributors may be used to endorse or promote products
   42.19 +      derived from this software without specific prior written permission.
   42.20 +
   42.21 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   42.22 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   42.23 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   42.24 +DISCLAIMED. IN NO EVENT SHALL JAMES HARPER BE LIABLE FOR ANY
   42.25 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   42.26 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   42.27 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   42.28 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   42.29 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   42.30 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   42.31 +*/
   42.32 +
   42.33  #include <windows.h>
   42.34  #include <ntverp.h>
   42.35 -#include "gplpv_version.h"
   42.36 -
   42.37 -#define VER_FILETYPE                VFT_DRV
   42.38 -#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
   42.39 -#ifdef DEBUG
   42.40 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenVbd Driver"
   42.41 -#else
   42.42 -  #define VER_FILEDESCRIPTION_STR     "GPLPV XenVbd Driver (Checked Build)"
   42.43 -#endif
   42.44 -#define VER_INTERNALNAME_STR        "xenvbd.sys"
   42.45 -#define VER_ORIGINALFILENAME_STR    "xenvbd.sys"
   42.46  
   42.47 -#undef VER_PRODUCTVERSION
   42.48 -#define VER_PRODUCTVERSION          VER_FILEVERSION
   42.49 -#undef VER_PRODUCTVERSION_STR
   42.50 -#define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
   42.51 -#define VER_LEGALCOPYRIGHT_STR      "Copyright (C) 2009 James Harper" 
   42.52 +#define EJBPV_DRIVER_DESCRIPTION "EJBPV XenVbd Driver"
   42.53 +#define EJBPV_DRIVER_FILENAME "xenvbd.sys"
   42.54  
   42.55 -#ifdef VER_COMPANYNAME_STR
   42.56 -#undef VER_COMPANYNAME_STR
   42.57 -#define VER_COMPANYNAME_STR         "James Harper"
   42.58 -#endif
   42.59 -#undef VER_PRODUCTNAME_STR
   42.60 -#define VER_PRODUCTNAME_STR         "PV Drivers for Windows"
   42.61 +#include "ejbpv_version.h"
   42.62  
   42.63  #include "common.ver"