[libvirt] [PATCH 4/6 V4] inject-nmi: Implementing the remote protocol

Lai Jiangshan laijs at cn.fujitsu.com
Tue May 10 08:26:04 UTC 2011


---
 daemon/remote_generator.pl   |    2 +-
 src/remote/remote_driver.c   |    2 +-
 src/remote/remote_protocol.x |    8 +++++++-
 src/remote_protocol-structs  |    4 ++++
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/daemon/remote_generator.pl b/daemon/remote_generator.pl
index 062ccc1..74fa769 100755
--- a/daemon/remote_generator.pl
+++ b/daemon/remote_generator.pl
@@ -35,7 +35,7 @@ sub name_to_ProcName {
     @elems = map { $_ =~ s/Nwfilter/NWFilter/; $_ =~ s/Xml/XML/;
                    $_ =~ s/Uri/URI/; $_ =~ s/Uuid/UUID/; $_ =~ s/Id/ID/;
                    $_ =~ s/Mac/MAC/; $_ =~ s/Cpu/CPU/; $_ =~ s/Os/OS/;
-                   $_ } @elems;
+                   $_ =~ s/Nmi/NMI/; $_ } @elems;
     join "", @elems
 }
 
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index c6beb3d..0a1afde 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -6493,7 +6493,7 @@ static virDriver remote_driver = {
     remoteDomainSnapshotDelete, /* domainSnapshotDelete */
     remoteQemuDomainMonitorCommand, /* qemuDomainMonitorCommand */
     remoteDomainOpenConsole, /* domainOpenConsole */
-    NULL, /* domainInjectNMI */
+    remoteDomainInjectNMI, /* domainInjectNMI */
 };
 
 static virNetworkDriver network_driver = {
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index c706c36..cdb8369 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -817,6 +817,11 @@ struct remote_domain_undefine_args {
     remote_nonnull_domain dom;
 };
 
+struct remote_domain_inject_nmi_args {
+    remote_nonnull_domain dom;
+    unsigned int flags;
+};
+
 struct remote_domain_set_vcpus_args {
     remote_nonnull_domain dom;
     int nvcpus;
@@ -2176,7 +2181,8 @@ enum remote_procedure {
     REMOTE_PROC_DOMAIN_GET_BLKIO_PARAMETERS = 206,
     REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_SPEED = 207,
     REMOTE_PROC_STORAGE_VOL_UPLOAD = 208,
-    REMOTE_PROC_STORAGE_VOL_DOWNLOAD = 209
+    REMOTE_PROC_STORAGE_VOL_DOWNLOAD = 209,
+    REMOTE_PROC_DOMAIN_INJECT_NMI = 210
 
     /*
      * Notice how the entries are grouped in sets of 10 ?
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index f904c4d..8a5ade0 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -1435,3 +1435,7 @@ struct remote_message_header {
         u_int                      serial;
         remote_message_status      status;
 };
+struct remote_domain_inject_nmi_args {
+        remote_nonnull_domain      dom;
+        unsigned int               flags;
+};
-- 
1.7.4.4




More information about the libvir-list mailing list