This patch export offsets of fields via /sys/devices/cpu/vmcs/.
Individual offsets are contained in subfiles named by the filed's
encoding, e.g.: /sys/devices/cpu/vmcs/0800

Signed-off-by: zhangyanfei <[email protected]>
---
 drivers/base/core.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 346be8b..dd05ee7 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -26,6 +26,7 @@
 #include <linux/async.h>
 #include <linux/pm_runtime.h>
 #include <linux/netdevice.h>
+#include <asm/vmcsinfo.h>
 
 #include "base.h"
 #include "power/power.h"
@@ -1038,6 +1039,11 @@ int device_add(struct device *dev)
        error = dpm_sysfs_add(dev);
        if (error)
                goto DPMError;
+#if defined(CONFIG_KVM_INTEL) || defined(CONFIG_KVM_INTEL_MODULE)
+       error = vmcs_sysfs_add(dev);
+       if (error)
+               goto VMCSError;
+#endif
        device_pm_add(dev);
 
        /* Notify clients of device addition.  This call must come
@@ -1069,6 +1075,10 @@ int device_add(struct device *dev)
 done:
        put_device(dev);
        return error;
+#if defined(CONFIG_KVM_INTEL) || defined(CONFIG_KVM_INTEL_MODULE)
+ VMCSError:
+       dpm_sysfs_remove(dev);
+#endif
  DPMError:
        bus_remove_device(dev);
  BusError:
@@ -1171,6 +1181,9 @@ void device_del(struct device *dev)
                blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
                                             BUS_NOTIFY_DEL_DEVICE, dev);
        device_pm_remove(dev);
+#if defined(CONFIG_KVM_INTEL) || defined(CONFIG_KVM_INTEL_MODULE)
+       vmcs_sysfs_remove(dev);
+#endif
        dpm_sysfs_remove(dev);
        if (parent)
                klist_del(&dev->p->knode_parent);
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to