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

[win-pv-devel] [PATCH 00/20] Use IOCTL interface instead of WMI in liteagent



The WMI handler in the liteagent does not recover from xeniface
disable/enable. The liteagent also contains a no-longer-necessary
overy complicated design, having evolved from a XenServer agent.

These patched add extra IOCTLs to XenIface, and replace the liteagent
with a simplified PnP aware service.

Owen Smith (20):
  Add SUSPEND interface IOCTLs
  Add SHAREDINFO interface IOCTL
  Add IRP_MJ_CLEANUP handler that calls XenIfaceCleanup
  Remove win32stubagent
  Add base do-nothing service
  Add DeviceList
  Track a single device in the service.
  Add XenIfaceItf
  Resolve lifecycle bugs
  Add ServiceInstall and additional events
  Add Setup/teardown of active device and logging to
    OnSuspend/OnShutdown
  Fix precompiled headers on checked builds
  Add SetXenTime functionality
  Protect active device with critical section
  Add OnShutdown handler to poweroff/halt/reboot/hibernate/s3 VM
  Only acknowledge the shutdown if type is known
  Add event log entries for suspend and error
  Add IOCTL_XENIFACE_LOG to dump a log message to Dom0
  Dynamically allocate the buffer for logging
  IoctlLog handler shouldnt be in with the store IOCTLs, and dont
    fail on /n/r in log messages

 include/xeniface_ioctls.h          |   55 ++
 src/liteagent/DeviceList.cpp       |  300 ++++++++
 src/liteagent/DeviceList.h         |   93 +++
 src/liteagent/LiteAgent.cpp        |  618 +++++++++++++++++
 src/liteagent/LiteAgent.h          |  100 +++
 src/liteagent/XenIfaceItf.cpp      |  155 +++++
 src/liteagent/XenIfaceItf.h        |   63 ++
 src/liteagent/liteagent.rc         |   60 ++
 src/liteagent/messages.mc          |   66 ++
 src/liteagent/xen.ico              |  Bin 0 -> 25214 bytes
 src/win32stubagent/WmiAccessor.cpp | 1331 ------------------------------------
 src/win32stubagent/WmiAccessor.h   |   88 ---
 src/win32stubagent/XSAccessor.cpp  |  230 -------
 src/win32stubagent/XSAccessor.h    |  126 ----
 src/win32stubagent/XService.cpp    | 1044 ----------------------------
 src/win32stubagent/XService.h      |   54 --
 src/win32stubagent/errors.cpp      |  102 ---
 src/win32stubagent/messages.mc     |   66 --
 src/win32stubagent/stdafx.cpp      |   39 --
 src/win32stubagent/stdafx.h        |   43 --
 src/win32stubagent/w32xagent.rc    |   60 --
 src/win32stubagent/xen.ico         |  Bin 25214 -> 0 bytes
 src/xeniface/fdo.c                 |   35 +
 src/xeniface/fdo.h                 |    3 +
 src/xeniface/ioctl_sharedinfo.c    |   70 ++
 src/xeniface/ioctl_suspend.c       |  223 ++++++
 src/xeniface/ioctls.c              |   91 ++-
 src/xeniface/ioctls.h              |   63 ++
 vs2012/liteagent/LiteAgent.vcxproj |   50 +-
 vs2012/xeniface/xeniface.vcxproj   |    2 +
 vs2013/liteagent/LiteAgent.vcxproj |   47 +-
 vs2013/xeniface/xeniface.vcxproj   |    2 +
 32 files changed, 2017 insertions(+), 3262 deletions(-)
 create mode 100644 src/liteagent/DeviceList.cpp
 create mode 100644 src/liteagent/DeviceList.h
 create mode 100644 src/liteagent/LiteAgent.cpp
 create mode 100644 src/liteagent/LiteAgent.h
 create mode 100644 src/liteagent/XenIfaceItf.cpp
 create mode 100644 src/liteagent/XenIfaceItf.h
 create mode 100644 src/liteagent/liteagent.rc
 create mode 100644 src/liteagent/messages.mc
 create mode 100644 src/liteagent/xen.ico
 delete mode 100644 src/win32stubagent/WmiAccessor.cpp
 delete mode 100644 src/win32stubagent/WmiAccessor.h
 delete mode 100644 src/win32stubagent/XSAccessor.cpp
 delete mode 100644 src/win32stubagent/XSAccessor.h
 delete mode 100644 src/win32stubagent/XService.cpp
 delete mode 100644 src/win32stubagent/XService.h
 delete mode 100644 src/win32stubagent/errors.cpp
 delete mode 100644 src/win32stubagent/messages.mc
 delete mode 100644 src/win32stubagent/stdafx.cpp
 delete mode 100644 src/win32stubagent/stdafx.h
 delete mode 100644 src/win32stubagent/w32xagent.rc
 delete mode 100644 src/win32stubagent/xen.ico
 create mode 100644 src/xeniface/ioctl_sharedinfo.c
 create mode 100644 src/xeniface/ioctl_suspend.c

-- 
1.9.4.msysgit.1


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel

 


Rackspace

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