#include <linux/init.h>#include <linux/slab.h>#include <linux/sched.h>#include <linux/module.h>#include <linux/vmalloc.h>#include <linux/miscdevice.h>#include <linux/smp.h>#include <asm/msr.h>#include <asm/uaccess.h>#include <asm/processor.h>Include dependency graph for microcode.c:

Go to the source code of this file.
Defines | |
| #define | MICROCODE_VERSION "1.08" |
Functions | |
| MODULE_DESCRIPTION ("Intel CPU (IA-32) microcode update driver") | |
| MODULE_AUTHOR ("Tigran Aivazian <tigran@veritas.com>") | |
| static int | microcode_open (struct inode *, struct file *) |
| static ssize_t | microcode_read (struct file *, char *, size_t, loff_t *) |
| static ssize_t | microcode_write (struct file *, const char *, size_t, loff_t *) |
| static int | microcode_ioctl (struct inode *, struct file *, unsigned int, unsigned long) |
| static int | do_microcode_update (void) |
| static void | do_update_one (void *) |
| int __init | microcode_init (void) |
Variables | |
| EXPORT_NO_SYMBOLS | |
| static struct semaphore | microcode_sem = MUTEX |
| static struct microcode * | microcode |
| static unsigned int | microcode_num |
| static char * | mc_applied |
| static unsigned int | mc_fsize |
| static struct file_operations | microcode_fops |
| static struct miscdevice | microcode_dev |
| update_req | update_req [NR_CPUS] |
|
|
Definition at line 54 of file microcode.c. Referenced by microcode_init(). |
|
|
Definition at line 134 of file microcode.c. References do_update_one(), error, i, m, mc_applied, memcpy, NULL, panic(), smp_call_function, and smp_num_cpus. Referenced by microcode_write(). Here is the call graph for this function: ![]() |
|
|
Definition at line 155 of file microcode.c. References __asm__(), c, cpu_data, update_req::err, found, i, KERN_ERR, m, microcode_num, MSR_IA32_PLATFORM_ID, MSR_IA32_UCODE_REV, MSR_IA32_UCODE_WRITE, pf, printk, rdmsr, rev, update_req::slot, smp_processor_id, sum, val, wrmsr, cpuinfo_x86::x86, cpuinfo_x86::x86_capability, X86_FEATURE_30, cpuinfo_x86::x86_mask, cpuinfo_x86::x86_model, cpuinfo_x86::x86_vendor, and X86_VENDOR_INTEL. Referenced by do_microcode_update(). Here is the call graph for this function: ![]() |
|
|
Definition at line 92 of file microcode.c. References EINVAL, KERN_ERR, KERN_INFO, MICROCODE_MINOR, MICROCODE_VERSION, misc_register(), and printk. Referenced by do_basic_setup(). Here is the call graph for this function: ![]() |
|
||||||||||||||||||||
|
Definition at line 300 of file microcode.c. References bytes, down(), EINVAL, ENODATA, KERN_ERR, KERN_WARNING, kfree(), mc_applied, mc_fsize, memset, MICROCODE_IOCFREE, NULL, printk, smp_num_cpus, and up. Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 120 of file microcode.c. References CAP_SYS_RAWIO, capable, and EPERM. |
|
||||||||||||||||||||
|
Definition at line 236 of file microcode.c. References copy_to_user, down(), EFAULT, mc_applied, mc_fsize, out, and up. Here is the call graph for this function: ![]() |
|
||||||||||||||||||||
|
Definition at line 255 of file microcode.c. References copy_from_user, do_microcode_update(), down(), EFAULT, EINVAL, EIO, ENOMEM, KERN_ERR, kmalloc(), mc_applied, mc_fsize, memset, microcode_num, printk, ret, smp_num_cpus, up, vfree(), and vmalloc(). Here is the call graph for this function: ![]() |
|
|
|
|
|
|
|
|
Definition at line 58 of file microcode.c. |
|
|
Definition at line 76 of file microcode.c. Referenced by do_microcode_update(), microcode_ioctl(), microcode_read(), and microcode_write(). |
|
|
Definition at line 77 of file microcode.c. Referenced by microcode_ioctl(), microcode_read(), and microcode_write(). |
|
|
Definition at line 74 of file microcode.c. |
|
|
Initial value: {
minor: MICROCODE_MINOR,
name: "microcode",
fops: µcode_fops,
}
Definition at line 86 of file microcode.c. |
|
|
Initial value: {
read: microcode_read,
write: microcode_write,
ioctl: microcode_ioctl,
open: microcode_open,
}
Definition at line 79 of file microcode.c. |
|
|
Definition at line 75 of file microcode.c. Referenced by do_update_one(), and microcode_write(). |
|
|
Definition at line 67 of file microcode.c. |
|
|
|