win-pvdrivers

view xennet/xennet.inx @ 685:c13ccf5a629b

Fixed a bug in the dma routines which was causing memory corruption. In some cases when Windows gave an MDL that was longer than the buffer to be dma'd, the end of the buffer would be overwritten. The only time I am aware of this occuring is on one particular map in Call Of Duty 4.

Split out the dma routines from xenpci_pdo.c into xenpci_dma.c
author James Harper <james.harper@bendigoit.com.au>
date Wed Oct 14 14:46:39 2009 +1100 (2009-10-14)
parents bf13631a5054
children 233c06b133e9
line source
1 [Version]
2 Signature="$WINDOWS NT$"
3 Class=Net
4 ClassGuid={4D36E972-E325-11CE-BFC1-08002BE10318}
5 Provider=%XenGplPv%
6 CatalogFile="xennet.cat"
8 [DestinationDirs]
9 DefaultDestDir = 12
11 [ControlFlags]
12 ExcludeFromSelect=*
14 [Manufacturer]
15 %XenGplPv%=XenGplPv,NT$ARCH$
17 [XenGplPv.NT$ARCH$]
18 %XenNet.DRVDESC%=XenNet_Inst, XEN\VIF
20 [XenNet_Inst.NT]
21 CopyFiles=XenNet.CopyFiles
22 Characteristics = 0x1 ; NCF_VIRTUAL
23 AddReg = XenNet_Reg, XenNet_Params
25 [XenNet_Reg]
26 HKR, Ndi, Service, 0, "XenNet"
27 HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
28 HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
30 [XenNet_Params]
31 HKR, Ndi\Params\MTU, ParamDesc, , "MTU"
32 HKR, Ndi\Params\MTU, default, , "1500"
33 HKR, Ndi\Params\MTU, type, , "dword"
34 HKR, Ndi\Params\MTU, min, , "1500"
35 HKR, Ndi\Params\MTU, max, , "9000"
36 HKR, Ndi\Params\MTU, step, , "500"
37 HKR, Ndi\Params\MTU, base, , "10"
39 HKR, Ndi\Params\ChecksumOffload, ParamDesc, , "Checksum Offload"
40 HKR, Ndi\Params\ChecksumOffload, default, , "1"
41 HKR, Ndi\Params\ChecksumOffload, type, , "enum"
42 HKR, Ndi\Params\ChecksumOffload\enum, 0, , "Disabled"
43 HKR, Ndi\Params\ChecksumOffload\enum, 1, , "Enabled"
45 HKR, Ndi\Params\ChecksumOffloadRxCheck, ParamDesc, , "Check checksum on RX packets"
46 HKR, Ndi\Params\ChecksumOffloadRxCheck, default, , "1"
47 HKR, Ndi\Params\ChecksumOffloadRxCheck, type, , "enum"
48 HKR, Ndi\Params\ChecksumOffloadRxCheck\enum, 0, , "Disabled"
49 HKR, Ndi\Params\ChecksumOffloadRxCheck\enum, 1, , "Enabled"
51 HKR, Ndi\Params\LargeSendOffload, ParamDesc, , "Large Send Offload"
52 HKR, Ndi\Params\LargeSendOffload, default, , "61440"
53 HKR, Ndi\Params\LargeSendOffload, type, , "enum"
54 HKR, Ndi\Params\LargeSendOffload\enum, 0, , "Disabled"
55 HKR, Ndi\Params\LargeSendOffload\enum, 8192, , "8192"
56 HKR, Ndi\Params\LargeSendOffload\enum, 16384, , "16384"
57 HKR, Ndi\Params\LargeSendOffload\enum, 32768, , "32768"
58 HKR, Ndi\Params\LargeSendOffload\enum, 61440, , "61440"
60 HKR, Ndi\Params\ScatterGather, ParamDesc, , "Scatter/Gather"
61 HKR, Ndi\Params\ScatterGather, default, , "1"
62 HKR, Ndi\Params\ScatterGather, type, , "enum"
63 HKR, Ndi\Params\ScatterGather\enum, 0, , "Disabled"
64 HKR, Ndi\Params\ScatterGather\enum, 1, , "Enabled"
66 HKR, Ndi\Params\RxInterruptModeration, ParamDesc, , "Rx Interrupt Moderation (beta)"
67 HKR, Ndi\Params\RxInterruptModeration, default, , "0"
68 HKR, Ndi\Params\RxInterruptModeration, type, , "enum"
69 HKR, Ndi\Params\RxInterruptModeration\enum, 0, , "Disabled"
70 HKR, Ndi\Params\RxInterruptModeration\enum, 1, , "Enabled"
72 HKR, Ndi\Params\NetworkAddress, ParamDesc, , "Locally Administered Address"
73 HKR, Ndi\Params\NetworkAddress, Type, , "edit"
74 HKR, Ndi\Params\NetworkAddress, LimitText, , "12"
75 HKR, Ndi\Params\NetworkAddress, UpperCase, , "1"
76 HKR, Ndi\Params\NetworkAddress, Default, , ""
77 HKR, Ndi\Params\NetworkAddress, Optional, , "1"
79 [XenNet.CopyFiles]
80 xennet.sys,,0x00001000 ; COPYFLG_REPLACE_BOOT_FILE
82 [SourceDisksFiles]
83 xennet.sys=1
85 [SourceDisksNames]
86 1 = %DISK_NAME%
88 [XenNet_Inst.Services]
89 AddService=XenNet,2,XenNet_Service
91 [XenNet_Inst.NT.Services]
92 AddService=XenNet,2,XenNet_Service
94 [XenNet_Service]
95 DisplayName = %XenNet.SVCDESC%
96 ServiceType = 1
97 StartType = 3
98 ErrorControl = 1
99 LoadOrderGroup = NDIS
100 ServiceBinary = %12%\xennet.sys
101 AddReg = XenNet_Service_AddReg
103 [XenNet_Service_AddReg]
104 ; 5 = PciBus, 0 = Internal, 15 = PnpBus
105 HKR,"Parameters\PnpInterface", "15", 0x00010001, 0x00000001
106 ; hide Qemu Network in XenPCI
107 HKLM,"SYSTEM\CurrentControlSet\Services\XenPCI\Parameters", "hide_devices", 0x00010008, "VEN_10EC&DEV_8139"
109 [Strings]
110 XenGplPv = "Xen GPL PV Driver Developers"
111 XenNet.SVCDESC = "Xen Net Device Driver"
112 XenNet.DRVDESC = "Xen Net Device Driver"
113 DISK_NAME = "Xen Net Device Driver Install Disk"