[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [GPLPV] exclude xenscsi from installer, since it is not compiled



> > I'm using latest GPLPV on 2012R2 which is the same kernel as 8.1, so the
> > drivers themselves should be okay. Was the error you got a crash, or an
> > error message during install?
> 
> The error resulted in a crash of the installer. Trying to reinstall the 
> package
> crashed the entire DomU (due to xenpci.sys unload), however the remaining
> drivers (including xenvbd) could be installed through device manager without
> problems.
> 
> On a side note, I have used some time to move the relevant drivers (pci, net,
> usb, vbd_storport) and all programs to VS2013. I have succeeded in compiling
> in win7 mode and they install correctly on my windows 8.1 domU. Compiling
> for win8 and win8.1 result in an error for the storport build, with the
> following error:
> 
> xenvbd.c(198): error C2039: 'Reserved' : is not a member of
> '_PORT_CONFIGURATION_INFORMATION'
> 
> This is due to an if statement in storport.h, removing 'Reserved' for newer
> versions of windows. However I do not know how to fix this.
> I you are interested in my project files for VS2013, I would be willing to 
> clean
> them up and integrate them in your directory structure.
> 

The header defines it as:

#if (NTDDI_VERSION >= NTDDI_WIN8)
  PVOID                                  MiniportDumpData;
#else 
  PVOID                                  Reserved;
#endif

So I guess gplpv needs to incorporate that. Untested patch follows this email. 
I've previously read through the virtual storport changes and there are a heap 
of them, so there may be other issues to resolve too.

Unfortunately the latest DDK drops support for XP (I think), and doesn't add 
any new features that I could really use at this time, so I haven't bothered 
with it so far.

James

diff -r 85b99b9795a6 xenvbd_storport/xenvbd.c
--- a/xenvbd_storport/xenvbd.c  Sat Jan 04 18:17:51 2014 +1100
+++ b/xenvbd_storport/xenvbd.c  Sun Jan 05 10:48:43 2014 +1100
@@ -185,6 +185,12 @@
 XenVbd_HwStorFindAdapter(PVOID DeviceExtension, PVOID HwContext, PVOID 
BusInformation, PCHAR ArgumentString, PPORT_CONF
IGURATION_INFORMATION ConfigInfo, PBOOLEAN Again)
 {
   PXENVBD_DEVICE_DATA xvdd = (PXENVBD_DEVICE_DATA)DeviceExtension;
+#if (NTDDI_VERSION >= NTDDI_WIN8)
+  PVOID dump_data = ConfigInfo->MiniportDumpData;
+#else
+  PVOID dump_data = ConfigInfo->Reserved;
+#endif
+

   UNREFERENCED_PARAMETER(HwContext);
   UNREFERENCED_PARAMETER(BusInformation);
@@ -195,14 +201,14 @@
   FUNCTION_MSG("xvdd = %p\n", xvdd);
   FUNCTION_MSG("ArgumentString = %s\n", ArgumentString);

-  memcpy(xvdd, ConfigInfo->Reserved, FIELD_OFFSET(XENVBD_DEVICE_DATA, 
aligned_buffer_data));
+  memcpy(xvdd, dump_data, FIELD_OFFSET(XENVBD_DEVICE_DATA, 
aligned_buffer_data));
   if (xvdd->device_state != DEVICE_STATE_ACTIVE) {
     return SP_RETURN_ERROR;
   }
   /* restore hypercall_stubs into dump_xenpci */
   XnSetHypercallStubs(xvdd->hypercall_stubs);
   /* make sure original xvdd is set to DISCONNECTED or resume will not work */
-  ((PXENVBD_DEVICE_DATA)ConfigInfo->Reserved)->device_state = 
DEVICE_STATE_DISCONNECTED;
+  ((PXENVBD_DEVICE_DATA)dump_data)->device_state = DEVICE_STATE_DISCONNECTED;
   InitializeListHead(&xvdd->srb_list);
   xvdd->aligned_buffer_in_use = FALSE;
   /* align the buffer to PAGE_SIZE */



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.