xend/libxl support sending sysrq key to guest kernel but not support
sending any key sequence as virDomainSendKey is expected to do. To
add equivalant sysrq functionality in libvirt for xen/libxl, add a new
virDomainSendSysrq API and add related codes to virsh, remote driver,
xen/libxl driver.
Changes to V3:
* fix some memory leak
Not change:
virDomainSendSysrq parameter still keeps "char key" rather than "enum
key", main reason to keep it because: sysrq key is different to different
kinds of guests, xen hypervisor doesn't know the correct enum <-> letter
mapping towards different guests, it just sends the key blindly to guests.
See:
http://www.redhat.com/archives/libvir-list/2015-January/msg00132.html
V3 is here:
http://www.redhat.com/archives/libvir-list/2014-December/msg00882.html
Chunyan Liu (5):
Add public API virDomainSendSysrq
implement remote protocol for domainSendSysrq
virsh: add 'sysrq' command
libxl: implement .domainSendSysrq method
xen: add .domainSendSysrq method
include/libvirt/libvirt-domain.h | 3 +++
src/driver-hypervisor.h | 4 +++
src/libvirt-domain.c | 39 +++++++++++++++++++++++++++
src/libvirt_public.syms | 5 ++++
src/libxl/libxl_driver.c | 25 ++++++++++++++++++
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 14 +++++++++-
src/remote_protocol-structs | 6 +++++
src/rpc/gendispatch.pl | 12 +++++++++
src/xen/xen_driver.c | 21 +++++++++++++++
src/xen/xend_internal.c | 30 +++++++++++++++++++++
src/xen/xend_internal.h | 1 +
tools/virsh-domain.c | 57 ++++++++++++++++++++++++++++++++++++++++
13 files changed, 217 insertions(+), 1 deletion(-)
--
1.8.4.5