|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |