Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

msr.c File Reference

#include <linux/module.h>
#include <linux/config.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/fcntl.h>
#include <linux/init.h>
#include <linux/poll.h>
#include <linux/smp.h>
#include <linux/major.h>
#include <asm/processor.h>
#include <asm/msr.h>
#include <asm/uaccess.h>
#include <asm/system.h>

Include dependency graph for msr.c:

Go to the source code of this file.

Functions

int wrmsr_eio (u32 reg, u32 eax, u32 edx)
int rdmsr_eio (u32 reg, u32 *eax, u32 *edx)
int do_wrmsr (int cpu, u32 reg, u32 eax, u32 edx)
int do_rdmsr (int cpu, u32 reg, u32 *eax, u32 *edx)
static loff_t msr_seek (struct file *file, loff_t offset, int orig)
static ssize_t msr_read (struct file *file, char *buf, size_t count, loff_t *ppos)
static ssize_t msr_write (struct file *file, const char *buf, size_t count, loff_t *ppos)
static int msr_open (struct inode *inode, struct file *file)
int __init msr_init (void)
static void msr_exit (void)
 module_init (msr_init)
 module_exit (msr_exit)
 MODULE_AUTHOR ("H. Peter Anvin <hpa@zytor.com>")
 MODULE_DESCRIPTION ("x86 generic MSR driver")

Variables

static struct file_operations msr_fops
 EXPORT_NO_SYMBOLS


Function Documentation

int do_rdmsr int  cpu,
u32  reg,
u32 eax,
u32 edx
[inline]
 

Definition at line 156 of file msr.c.

References rdmsr_eio().

Referenced by msr_read().

Here is the call graph for this function:

int do_wrmsr int  cpu,
u32  reg,
u32  eax,
u32  edx
[inline]
 

Definition at line 151 of file msr.c.

References wrmsr_eio().

Referenced by msr_write().

Here is the call graph for this function:

MODULE_AUTHOR "H. Peter Anvin <hpa@zytor.com>"   ) 
 

MODULE_DESCRIPTION "x86 generic MSR driver  ) 
 

module_exit msr_exit   ) 
 

module_init msr_init   ) 
 

static void msr_exit void   )  [static]
 

Definition at line 261 of file msr.c.

References MSR_MAJOR, and unregister_chrdev().

Here is the call graph for this function:

int __init msr_init void   ) 
 

Definition at line 250 of file msr.c.

References EBUSY, KERN_ERR, MSR_MAJOR, printk, and register_chrdev().

Here is the call graph for this function:

static int msr_open struct inode *  inode,
struct file file
[static]
 

Definition at line 227 of file msr.c.

References c, cpu_data, cpu_online_map, EIO, ENXIO, MINOR, cpuinfo_x86::x86_capability, and X86_FEATURE_MSR.

static ssize_t msr_read struct file file,
char *  buf,
size_t  count,
loff_t *  ppos
[static]
 

Definition at line 177 of file msr.c.

References copy_to_user, data, do_rdmsr(), EFAULT, EINVAL, MINOR, rv, tmp, and u32.

Here is the call graph for this function:

static loff_t msr_seek struct file file,
loff_t  offset,
int  orig
[static]
 

Definition at line 163 of file msr.c.

References EINVAL.

static ssize_t msr_write struct file file,
const char *  buf,
size_t  count,
loff_t *  ppos
[static]
 

Definition at line 202 of file msr.c.

References copy_from_user, data, do_wrmsr(), EFAULT, EINVAL, MINOR, rv, tmp, and u32.

Here is the call graph for this function:

int rdmsr_eio u32  reg,
u32 eax,
u32 edx
[inline]
 

Definition at line 67 of file msr.c.

References EIO.

Referenced by do_rdmsr().

int wrmsr_eio u32  reg,
u32  eax,
u32  edx
[inline]
 

Definition at line 46 of file msr.c.

References EIO.

Referenced by do_wrmsr().


Variable Documentation

EXPORT_NO_SYMBOLS
 

Definition at line 271 of file msr.c.

struct file_operations msr_fops [static]
 

Initial value:

Definition at line 243 of file msr.c.