[libvirt] [PATCH 2/6 V3] inject-nmi: Defining the internal API

Lai Jiangshan laijs at cn.fujitsu.com
Thu Apr 21 06:42:55 UTC 2011



Signed-off-by: Lai Jiangshan <laijs at cn.fujitsu.com>
---
 src/driver.h               |    4 ++++
 src/esx/esx_driver.c       |    1 +
 src/libxl/libxl_driver.c   |    1 +
 src/lxc/lxc_driver.c       |    1 +
 src/openvz/openvz_driver.c |    1 +
 src/phyp/phyp_driver.c     |    3 ++-
 src/qemu/qemu_driver.c     |    1 +
 src/remote/remote_driver.c |    1 +
 src/test/test_driver.c     |    1 +
 src/uml/uml_driver.c       |    1 +
 src/vbox/vbox_tmpl.c       |    1 +
 src/vmware/vmware_driver.c |    1 +
 src/xen/xen_driver.c       |    1 +
 src/xen/xen_driver.h       |    1 +
 src/xen/xen_hypervisor.c   |    1 +
 src/xen/xen_inotify.c      |    1 +
 src/xen/xend_internal.c    |    1 +
 src/xen/xm_internal.c      |    1 +
 src/xen/xs_internal.c      |    1 +
 src/xenapi/xenapi_driver.c |    1 +
 20 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/src/driver.h b/src/driver.h
index a8b79e6..94cc37d 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -515,6 +515,9 @@ typedef int
                                virStreamPtr st,
                                unsigned int flags);
 
+typedef int
+    (*virDrvDomainInjectNMI)(virDomainPtr dom, unsigned int flags);
+
 
 /**
  * _virDriver:
@@ -639,6 +642,7 @@ struct _virDriver {
     virDrvDomainSnapshotDelete domainSnapshotDelete;
     virDrvQemuDomainMonitorCommand qemuDomainMonitorCommand;
     virDrvDomainOpenConsole domainOpenConsole;
+    virDrvDomainInjectNMI domainInjectNMI;
 };
 
 typedef int
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index 50c631b..5b9edea 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -4672,6 +4672,7 @@ static virDriver esxDriver = {
     esxDomainSnapshotDelete,         /* domainSnapshotDelete */
     NULL,                            /* qemuDomainMonitorCommand */
     NULL,                            /* domainOpenConsole */
+    NULL,                            /* domainInjectNMI */
 };
 
 
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 247d78e..bc6d0d9 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -2748,6 +2748,7 @@ static virDriver libxlDriver = {
     NULL,                       /* domainSnapshotDelete */
     NULL,                       /* qemuDomainMonitorCommand */
     NULL,                       /* domainOpenConsole */
+    NULL,                       /* domainInjectNMI */
 };
 
 static virStateDriver libxlStateDriver = {
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index e905302..fbbe803 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -2906,6 +2906,7 @@ static virDriver lxcDriver = {
     NULL, /* domainSnapshotDelete */
     NULL, /* qemuDomainMonitorCommand */
     lxcDomainOpenConsole, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 static virStateDriver lxcStateDriver = {
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 4af28e9..96f82bb 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -1667,6 +1667,7 @@ static virDriver openvzDriver = {
     NULL, /* domainSnapshotDelete */
     NULL, /* qemuDomainMonitorCommand */
     NULL, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 int openvzRegister(void) {
diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c
index bb0e0ac..33848ff 100644
--- a/src/phyp/phyp_driver.c
+++ b/src/phyp/phyp_driver.c
@@ -3794,7 +3794,8 @@ static virDriver phypDriver = {
     NULL,                       /* domainRevertToSnapshot */
     NULL,                       /* domainSnapshotDelete */
     NULL,                       /* qemuMonitorCommand */
-    NULL, /* domainOpenConsole */
+    NULL,                       /* domainOpenConsole */
+    NULL,                       /* domainInjectNMI */
 };
 
 static virStorageDriver phypStorageDriver = {
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index f6e503a..ac1adbb 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7031,6 +7031,7 @@ static virDriver qemuDriver = {
     qemuDomainSnapshotDelete, /* domainSnapshotDelete */
     qemuDomainMonitorCommand, /* qemuDomainMonitorCommand */
     qemuDomainOpenConsole, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index e30780c..4655338 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -11298,6 +11298,7 @@ static virDriver remote_driver = {
     remoteDomainSnapshotDelete, /* domainSnapshotDelete */
     remoteQemuDomainMonitorCommand, /* qemuDomainMonitorCommand */
     remoteDomainOpenConsole, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 static virNetworkDriver network_driver = {
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 0978214..f3df6a5 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -5447,6 +5447,7 @@ static virDriver testDriver = {
     NULL, /* domainSnapshotDelete */
     NULL, /* qemuDomainMonitorCommand */
     NULL, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 static virNetworkDriver testNetworkDriver = {
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
index 33849a0..73a5415 100644
--- a/src/uml/uml_driver.c
+++ b/src/uml/uml_driver.c
@@ -2253,6 +2253,7 @@ static virDriver umlDriver = {
     NULL, /* domainSnapshotDelete */
     NULL, /* qemuDomainMonitorCommand */
     umlDomainOpenConsole, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 static int
diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index 8241d34..6d3f533 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -8652,6 +8652,7 @@ virDriver NAME(Driver) = {
     vboxDomainSnapshotDelete, /* domainSnapshotDelete */
     NULL, /* qemuDomainMonitorCommand */
     NULL, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 virNetworkDriver NAME(NetworkDriver) = {
diff --git a/src/vmware/vmware_driver.c b/src/vmware/vmware_driver.c
index bbfb1a4..0bf3bb5 100644
--- a/src/vmware/vmware_driver.c
+++ b/src/vmware/vmware_driver.c
@@ -1007,6 +1007,7 @@ static virDriver vmwareDriver = {
     NULL,                       /* domainSnapshotDelete */
     NULL,                       /* qemuDomainMonitorCommand */
     NULL,                       /* domainOpenConsole */
+    NULL,                       /* domainInjectNMI */
 };
 
 int
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 2a07b7b..4b29c01 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -2141,6 +2141,7 @@ static virDriver xenUnifiedDriver = {
     NULL, /* domainSnapshotDelete */
     NULL, /* qemuDomainMonitorCommand */
     xenUnifiedDomainOpenConsole, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 /**
diff --git a/src/xen/xen_driver.h b/src/xen/xen_driver.h
index 58b8561..7cc363c 100644
--- a/src/xen/xen_driver.h
+++ b/src/xen/xen_driver.h
@@ -108,6 +108,7 @@ struct xenUnifiedDriver {
         virDrvDomainGetSchedulerType	domainGetSchedulerType;
         virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
         virDrvDomainSetSchedulerParameters domainSetSchedulerParameters;
+        virDrvDomainInjectNMI              domainInjectNMI;
 };
 
 typedef struct xenXMConfCache *xenXMConfCachePtr;
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
index 9a5b41d..959e949 100644
--- a/src/xen/xen_hypervisor.c
+++ b/src/xen/xen_hypervisor.c
@@ -839,6 +839,7 @@ struct xenUnifiedDriver xenHypervisorDriver = {
     xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
     xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
     xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
+    NULL, /* domainInjectNMI */
 };
 
 #define virXenError(code, ...)                                             \
diff --git a/src/xen/xen_inotify.c b/src/xen/xen_inotify.c
index d809c45..a586438 100644
--- a/src/xen/xen_inotify.c
+++ b/src/xen/xen_inotify.c
@@ -87,6 +87,7 @@ struct xenUnifiedDriver xenInotifyDriver = {
     NULL, /* domainGetSchedulerType */
     NULL, /* domainGetSchedulerParameters */
     NULL, /* domainSetSchedulerParameters */
+    NULL, /* domainInjectNMI */
 };
 
 static int
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index b608a43..0b4432f 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -3879,6 +3879,7 @@ struct xenUnifiedDriver xenDaemonDriver = {
     xenDaemonGetSchedulerType,   /* domainGetSchedulerType */
     xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
     xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
+    NULL,                            /* domainInjectNMI */
 };
 
 
diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c
index db47a02..9ae7d61 100644
--- a/src/xen/xm_internal.c
+++ b/src/xen/xm_internal.c
@@ -118,6 +118,7 @@ struct xenUnifiedDriver xenXMDriver = {
     NULL, /* domainGetSchedulerType */
     NULL, /* domainGetSchedulerParameters */
     NULL, /* domainSetSchedulerParameters */
+    NULL, /* domainInjectNMI */
 };
 
 #define xenXMError(code, ...)                                              \
diff --git a/src/xen/xs_internal.c b/src/xen/xs_internal.c
index c318f6c..858a321 100644
--- a/src/xen/xs_internal.c
+++ b/src/xen/xs_internal.c
@@ -80,6 +80,7 @@ struct xenUnifiedDriver xenStoreDriver = {
     NULL, /* domainGetSchedulerType */
     NULL, /* domainGetSchedulerParameters */
     NULL, /* domainSetSchedulerParameters */
+    NULL, /* domainInjectNMI */
 };
 
 #define virXenStoreError(code, ...)                                  \
diff --git a/src/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c
index 3fbdcc6..030510c 100644
--- a/src/xenapi/xenapi_driver.c
+++ b/src/xenapi/xenapi_driver.c
@@ -1889,6 +1889,7 @@ static virDriver xenapiDriver = {
     NULL, /* domainSnapshotDelete */
     NULL, /* qemuDomainMonitorCommand */
     NULL, /* domainOpenConsole */
+    NULL, /* domainInjectNMI */
 };
 
 /**
-- 
1.7.4




More information about the libvir-list mailing list