summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDmitry Adamushko2008-09-11 23:27:52 +0200
committerIngo Molnar2008-09-12 12:20:27 +0200
commita0a29b62a9cac6b7d83b7514679f2ed8d33d4372 (patch)
treee07ab66cbe3c90da70a7195104413cae00104de6 /include
parentx86, microcode_amd: fix shift warning (diff)
downloadkernel-qcow2-linux-a0a29b62a9cac6b7d83b7514679f2ed8d33d4372.tar.gz
kernel-qcow2-linux-a0a29b62a9cac6b7d83b7514679f2ed8d33d4372.tar.xz
kernel-qcow2-linux-a0a29b62a9cac6b7d83b7514679f2ed8d33d4372.zip
x86, microcode rework, v2
this is a rework of the microcode splitup in tip/x86/microcode (1) I think this new interface is cleaner (look at the changes in 'struct microcode_ops' in microcode.h); (2) it's -64 lines of code; Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/microcode.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/include/asm-x86/microcode.h b/include/asm-x86/microcode.h
index 7ceff48fa657..e2887facdb4a 100644
--- a/include/asm-x86/microcode.h
+++ b/include/asm-x86/microcode.h
@@ -5,17 +5,16 @@ extern int microcode_init(void *opaque, struct module *module);
extern void microcode_exit(void);
struct cpu_signature;
+struct device;
struct microcode_ops {
- long (*get_next_ucode)(void **mc, long offset);
- long (*microcode_get_next_ucode)(void **mc, long offset);
- int (*get_matching_microcode)(void *mc, int cpu);
- int (*microcode_sanity_check)(void *mc);
- int (*cpu_request_microcode)(int cpu);
- int (*collect_cpu_info)(int cpu_num, struct cpu_signature *csig);
- void (*apply_microcode)(int cpu);
- void (*microcode_fini_cpu)(int cpu);
- void (*clear_patch)(void *data);
+ int (*request_microcode_user) (int cpu, const void __user *buf, size_t size);
+ int (*request_microcode_fw) (int cpu, struct device *device);
+
+ void (*apply_microcode) (int cpu);
+
+ int (*collect_cpu_info) (int cpu, struct cpu_signature *csig);
+ void (*microcode_fini_cpu) (int cpu);
};
struct microcode_header_intel {