repository: C:/dev/kvm-guest-drivers-windows
branch: master
commit c7561ecd1c1d6fd7c119cd45f43579f7cae0bd48
Author: Yan Vugenfirer <[email protected]>
Date:   Sun Oct 25 15:59:53 2009 +0200

    [WIN-GUEST-DRIVERS]viostor driver. Complete SRBs at DPC level
    
         Signed-off-by: Vadim Rozenfeld<[email protected]>

diff --git a/viostor/buildfre_wxp_x86.err b/viostor/buildfre_wxp_x86.err
new file mode 100644
index 0000000..1214f22
--- /dev/null
+++ b/viostor/buildfre_wxp_x86.err
@@ -0,0 +1,209 @@
+errors in directory c:\dev\kvm-guest-drivers-windows\viostor
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(99) : error C2061: 
syntax error : identifier 'STOR_DPC'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(100) : error C2059: 
syntax error : '}'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(149) : error C2065: 
'ADAPTER_EXTENSION' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(191) : error C2065: 
'PADAPTER_EXTENSION' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(191) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(191) : error C2065: 
'adaptExt' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(192) : error C2275: 
'ULONG_PTR' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(192) : error C2146: 
syntax error : missing ';' before identifier 'ptr'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(192) : error C2065: 
'ptr' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(193) : error C2275: 
'ULONG' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(193) : error C2146: 
syntax error : missing ';' before identifier 'vr_sz'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(193) : error C2065: 
'vr_sz' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(194) : error C2275: 
'ULONG' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(194) : error C2146: 
syntax error : missing ';' before identifier 'vq_sz'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(194) : error C2065: 
'vq_sz' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(195) : error C2275: 
'USHORT' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(195) : error C2146: 
syntax error : missing ';' before identifier 'pageNum'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(195) : error C2065: 
'pageNum' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(199) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(201) : error C2223: 
left of '->dump_mode' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(265) : error C2223: 
left of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(272) : error C2223: 
left of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(287) : error C2223: 
left of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(287) : error C2198: 
'ScsiPortWritePortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(288) : error C2223: 
left of '->dump_mode' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(289) : error C2223: 
left of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(289) : error C2198: 
'ScsiPortWritePortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(293) : error C2223: 
left of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(293) : error C2198: 
'ScsiPortReadPortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(297) : error C2223: 
left of '->dump_mode' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(304) : error C2223: 
left of '->queue_depth' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(325) : error C2223: 
left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(326) : error C2223: 
left of '->virtqueue' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(326) : error C2223: 
left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(328) : error C2223: 
left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(329) : error C2223: 
left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(342) : error C2223: 
left of '->list_head' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(342) : error C2198: 
'InitializeListHead' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(343) : error C2223: 
left of '->complete_list' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(343) : error C2198: 
'InitializeListHead' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(371) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(372) : error C2275: 
'ULONGLONG' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(372) : error C2146: 
syntax error : missing ';' before identifier 'cap'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(372) : error C2065: 
'cap' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(373) : error C2143: 
syntax error : missing ';' before 'type'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(374) : error C2143: 
syntax error : missing ';' before 'type'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(378) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(390) : error C2065: 'v' 
: undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(391) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(393) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(399) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(406) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(412) : error C2065: 
'vgeo' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(413) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(413) : error C2224: 
left of '.cylinders' must have struct/union type
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(414) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(414) : error C2224: 
left of '.heads' must have struct/union type
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(415) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(415) : error C2224: 
left of '.sectors' must have struct/union type
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(421) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(424) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(424) : error C2168: 
'memset' : too few actual parameters for intrinsic function
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(426) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(427) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(428) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(429) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(430) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(431) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(431) : error C2198: 
'ScsiPortMoveMemory' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(432) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(432) : error C2198: 
'ScsiPortMoveMemory' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(433) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(433) : error C2198: 
'ScsiPortMoveMemory' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(434) : error C2223: 
left of '->inquiry_data' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(434) : error C2198: 
'ScsiPortMoveMemory' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(454) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(456) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(507) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(516) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(523) : error C2223: 
left of '->info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(584) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(585) : error C2275: 
'BOOLEAN' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(585) : error C2146: 
syntax error : missing ';' before identifier 'isInterruptServiced'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(585) : error C2065: 
'isInterruptServiced' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(586) : error C2275: 
'PSCSI_REQUEST_BLOCK' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(586) : error C2146: 
syntax error : missing ';' before identifier 'Srb'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(586) : error C2065: 
'Srb' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(588) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(594) : error C2223: 
left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(594) : error C2223: 
left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(598) : error C2223: 
left of '->SrbStatus' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(601) : error C2223: 
left of '->SrbStatus' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(604) : error C2223: 
left of '->SrbStatus' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(634) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(635) : error C2275: 
'SCSI_ADAPTER_CONTROL_STATUS' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(635) : error C2146: 
syntax error : missing ';' before identifier 'status'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(635) : error C2065: 
'status' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(636) : error C2275: 
'BOOLEAN' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(636) : error C2146: 
syntax error : missing ';' before identifier 'SupportedConrolTypes'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(636) : error C2065: 
'SupportedConrolTypes' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(636) : error C2109: 
subscript requires array or pointer type
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.c(636) : error C1003: 
error count exceeds 100; stopping compilation
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(99) : error C2061: 
syntax error : identifier 'STOR_DPC'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(100) : error C2059: 
syntax error : '}'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(55) : error 
C2065: 'PADAPTER_EXTENSION' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(55) : error 
C2146: syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(55) : error 
C2065: 'adaptExt' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(56) : error 
C2275: 'PRHEL_SRB_EXTENSION' : illegal use of this type as an expression
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(56) : error 
C2146: syntax error : missing ';' before identifier 'srbExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(56) : error 
C2065: 'srbExt' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(59) : error 
C2146: syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(65) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(66) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(72) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(73) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(74) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(77) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(78) : error 
C2223: left of '->out' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(79) : error 
C2223: left of '->in' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(81) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(82) : error 
C2223: left of '->out' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(83) : error 
C2223: left of '->in' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(86) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(86) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(86) : error 
C2198: 'ScsiPortGetPhysicalAddress' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(87) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(87) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(89) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(89) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(89) : error 
C2198: 'ScsiPortGetPhysicalAddress' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(90) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(90) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(93) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(93) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(94) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(95) : error 
C2223: left of '->out' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(95) : error 
C2223: left of '->in' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(96) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(98) : error 
C2223: left of '->list_head' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(98) : error 
C2223: left of '->vbr' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(98) : error 
C2198: 'InsertTailList' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(99) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(99) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(111) : error 
C2146: syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(111) : error 
C2146: syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(113) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(114) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(114) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(115) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(115) : error 
C2198: 'VirtIODeviceDeleteVirtualQueue' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor_hw_helper.c(116) : error 
C2223: left of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(99) : error C2061: 
syntax error : identifier 'STOR_DPC'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(100) : error C2059: 
syntax error : '}'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(37) : error C2065: 
'PADAPTER_EXTENSION' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(37) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(37) : error C2065: 
'adaptExt' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(37) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(57) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(57) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(61) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(61) : error C2198: 
'ScsiPortReadPortUlong' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(68) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(68) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(72) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(72) : error C2198: 
'ScsiPortWritePortUchar' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(85) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(85) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(89) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(100) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(100) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(104) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(104) : error C2198: 
'ScsiPortReadPortUchar' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(114) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(114) : error C2146: 
syntax error : missing ';' before identifier 'vq'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(115) : error C2143: 
syntax error : missing ';' before 'type'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(121) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(121) : error C2065: 
'info' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(121) : error C2223: left 
of '->queue_index' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(121) : error C2198: 
'ScsiPortWritePortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(136) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(136) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(141) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(141) : error C2198: 
'ScsiPortWritePortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(144) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(144) : error C2198: 
'ScsiPortReadPortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(147) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(147) : error C2198: 
'ScsiPortReadPortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(151) : error C2223: left 
of '->pci_vq_info' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(165) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(165) : error C2198: 
'ScsiPortWritePortUlong' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(176) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(176) : error C2198: 
'ScsiPortWritePortUlong' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(186) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(186) : error C2146: 
syntax error : missing ';' before identifier 'vq'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(187) : error C2143: 
syntax error : missing ';' before 'type'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(192) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(192) : error C2223: left 
of '->queue_index' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(192) : error C2198: 
'ScsiPortWritePortUshort' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(194) : error C2223: left 
of '->device_base' must point to struct/union
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_pci.c(194) : error C2198: 
'ScsiPortWritePortUlong' : too few arguments for call
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(99) : error C2061: 
syntax error : identifier 'STOR_DPC'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_stor.h(100) : error C2059: 
syntax error : '}'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_ring.c(329) : error C2065: 
'PADAPTER_EXTENSION' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_ring.c(329) : error C2146: 
syntax error : missing ';' before identifier 'adaptExt'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_ring.c(329) : error C2065: 
'adaptExt' : undeclared identifier
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_ring.c(329) : error C2146: 
syntax error : missing ';' before identifier 'DeviceExtension'
+c:\dev\kvm-guest-drivers-windows\viostor\virtio_ring.c(339) : error C2223: 
left of '->virtqueue' must point to struct/union
+link : error LNK1181: cannot open input file 
'c:\dev\kvm-guest-drivers-windows\viostor\objfre_wxp_x86\i386\virtio_stor.obj'
diff --git a/viostor/virtio_stor.c b/viostor/virtio_stor.c
index f1c8099..b515dd9 100644
--- a/viostor/virtio_stor.c
+++ b/viostor/virtio_stor.c
@@ -30,6 +30,14 @@ VirtIoBuildIo(
     IN PVOID DeviceExtension,
     IN PSCSI_REQUEST_BLOCK Srb
     );
+
+VOID
+CompleteDpcRoutine(
+    IN PSTOR_DPC  Dpc,
+    IN PVOID Context,
+    IN PVOID SystemArgument1,
+    IN PVOID SystemArgument2
+    ) ;
 #endif
 
 BOOLEAN
@@ -91,6 +99,13 @@ CompleteSRB(
     IN PSCSI_REQUEST_BLOCK Srb
     );
 
+VOID
+FORCEINLINE
+CompleteDPC(
+    IN PVOID DeviceExtension,
+    IN pblk_req vbr
+    );
+
 ULONG
 DriverEntry(
     IN PVOID  DriverObject,
@@ -325,10 +340,28 @@ VirtIoFindAdapter(
     }
 
     InitializeListHead(&adaptExt->list_head);
+    InitializeListHead(&adaptExt->complete_list);
 
     return SP_RETURN_FOUND;
 }
 
+#ifdef USE_STORPORT
+BOOLEAN
+VirtIoPassiveInitializeRoutine (
+    IN PVOID DeviceExtension
+    )
+{
+    PADAPTER_EXTENSION adaptExt = (PADAPTER_EXTENSION)DeviceExtension;
+
+    StorPortInitializeDpc(DeviceExtension,
+                    &adaptExt->completion_dpc,
+                    CompleteDpcRoutine);
+
+    return TRUE;
+}
+#endif
+
+
 BOOLEAN
 VirtIoHwInitialize(
     IN PVOID DeviceExtension
@@ -400,7 +433,14 @@ VirtIoHwInitialize(
     ScsiPortMoveMemory(&adaptExt->inquiry_data.ProductRevisionLevel, "0001", 
sizeof("0001"));
     ScsiPortMoveMemory(&adaptExt->inquiry_data.VendorSpecific, "0001", 
sizeof("0001"));
 
-    return TRUE; 
+#ifdef USE_STORPORT
+    if(!adaptExt->dump_mode)
+    {
+        return StorPortEnablePassiveInitialization(DeviceExtension, 
VirtIoPassiveInitializeRoutine);
+    }
+#endif
+
+    return TRUE;
 }
 
 BOOLEAN
@@ -564,8 +604,7 @@ VirtIoInterrupt(
                 Srb->SrbStatus = SRB_STATUS_ERROR;
                 break;
            }
-           RemoveEntryList(&vbr->list_entry);
-           CompleteSRB(DeviceExtension, Srb);
+           CompleteDPC(DeviceExtension, vbr);
         }
     }
     RhelDbgPrint(TRACE_LEVEL_VERBOSE, ("%s isInterruptServiced = %d\n", 
__FUNCTION__, isInterruptServiced));
@@ -974,3 +1013,63 @@ CompleteSRB(
                          Srb->Lun);
 #endif
 }
+
+VOID
+FORCEINLINE
+CompleteDPC(
+    IN PVOID DeviceExtension,
+    IN pblk_req vbr
+    )
+{
+    PSCSI_REQUEST_BLOCK Srb = (PSCSI_REQUEST_BLOCK)vbr->req;
+    PADAPTER_EXTENSION adaptExt = (PADAPTER_EXTENSION)DeviceExtension;
+
+    RemoveEntryList(&vbr->list_entry);
+
+#ifdef USE_STORPORT
+    if(!adaptExt->dump_mode) {
+        InsertTailList(&adaptExt->complete_list, &vbr->list_entry);
+        StorPortIssueDpc(DeviceExtension,
+                         &adaptExt->completion_dpc,
+                         NULL,
+                         NULL);
+        return;
+    }
+#endif
+    CompleteSRB(DeviceExtension, Srb);
+}
+
+
+VOID
+CompleteDpcRoutine(
+    IN PSTOR_DPC  Dpc,
+    IN PVOID Context,
+    IN PVOID SystemArgument1,
+    IN PVOID SystemArgument2
+    )
+{
+    STOR_LOCK_HANDLE  LockHandle;
+    PADAPTER_EXTENSION adaptExt = (PADAPTER_EXTENSION)Context;
+
+    StorPortAcquireSpinLock ( Context, InterruptLock , NULL, &LockHandle);
+
+    while (!IsListEmpty(&adaptExt->complete_list)) {
+        PSCSI_REQUEST_BLOCK Srb;
+        pblk_req vbr;
+        vbr  = (pblk_req) RemoveHeadList(&adaptExt->complete_list);
+        Srb = (PSCSI_REQUEST_BLOCK)vbr->req;
+
+        StorPortReleaseSpinLock (Context, &LockHandle);
+
+        ScsiPortNotification(RequestComplete,
+                         Context,
+                         Srb);
+
+        StorPortAcquireSpinLock ( Context, InterruptLock , NULL, &LockHandle);
+
+    }
+
+    StorPortReleaseSpinLock (Context, &LockHandle);
+
+    return;
+}
diff --git a/viostor/virtio_stor.h b/viostor/virtio_stor.h
index 2d98738..2533148 100644
--- a/viostor/virtio_stor.h
+++ b/viostor/virtio_stor.h
@@ -95,6 +95,8 @@ typedef struct _ADAPTER_EXTENSION {
     ULONG                 queue_depth;
     BOOLEAN               dump_mode;
     LIST_ENTRY            list_head;
+    LIST_ENTRY            complete_list;
+    STOR_DPC              completion_dpc;
 }ADAPTER_EXTENSION, *PADAPTER_EXTENSION;
 
 typedef struct _RHEL_SRB_EXTENSION {
--
To unsubscribe from this list: send the line "unsubscribe kvm-commits" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to