lkml.org 
[lkml]   [2012]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 3/4] ksysfs: export VMCSINFO via sysfs
    This patch creates sysfs file to export where VMCSINFO is allocated,
    as below:
    $ cat /sys/kernel/vmcsinfo
    1cb88a0 2000
    number on the left-hand side is the physical address of VMCSINFO,
    while the one on the right-hand side is the max size of VMCSINFO.

    Signed-off-by: zhangyanfei <zhangyanfei@cn.fujitsu.com>
    ---
    kernel/ksysfs.c | 19 +++++++++++++++++++
    1 files changed, 19 insertions(+), 0 deletions(-)

    diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
    index 4e316e1..becbb68 100644
    --- a/kernel/ksysfs.c
    +++ b/kernel/ksysfs.c
    @@ -18,6 +18,8 @@
    #include <linux/stat.h>
    #include <linux/sched.h>
    #include <linux/capability.h>
    +#include <asm/vmcsinfo.h>
    +#include <asm/virtext.h>

    #define KERNEL_ATTR_RO(_name) \
    static struct kobj_attribute _name##_attr = __ATTR_RO(_name)
    @@ -133,6 +135,20 @@ KERNEL_ATTR_RO(vmcoreinfo);

    #endif /* CONFIG_KEXEC */

    +#ifdef CONFIG_X86
    +static ssize_t vmcsinfo_show(struct kobject *kobj,
    + struct kobj_attribute *attr, char *buf)
    +{
    + if (cpu_has_vmx())
    + return sprintf(buf, "%lx %x\n",
    + paddr_vmcsinfo_note(),
    + (unsigned int)vmcsinfo_max_size);
    + return 0;
    +}
    +KERNEL_ATTR_RO(vmcsinfo);
    +
    +#endif /* CONFIG_X86 */
    +
    /* whether file capabilities are enabled */
    static ssize_t fscaps_show(struct kobject *kobj,
    struct kobj_attribute *attr, char *buf)
    @@ -182,6 +198,9 @@ static struct attribute * kernel_attrs[] = {
    &kexec_crash_size_attr.attr,
    &vmcoreinfo_attr.attr,
    #endif
    +#ifdef CONFIG_X86
    + &vmcsinfo_attr.attr,
    +#endif
    NULL
    };

    --
    1.7.1

    \
     
     \ /
      Last update: 2012-04-11 04:01    [W:2.374 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site