aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Oruba <peter.oruba@amd.com>2008-07-28 12:44:20 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-28 13:57:57 -0400
commit26bf7a48c33906cc3415a4492aa9ead7a75f1353 (patch)
tree5e66a9e37bb9870489c80b12c6ee8ea54eb173d4
parent9835fd4ad9ee5fc6b909df72aa3e3dba04415f4b (diff)
x86: first step of refactoring, introducing microcode_ops
Refactoring with the goal of having one general module and separate vendor specific modules that hook into the general one. Microcode_ops is a function pointer structure in which vendor specific modules will enter all functions that differ between vendors and that need to be accessed from the general module. Signed-off-by: Peter Oruba <peter.oruba@amd.com> Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--include/asm-x86/microcode.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asm-x86/microcode.h b/include/asm-x86/microcode.h
index 4e941721c0d1..9231c876e374 100644
--- a/include/asm-x86/microcode.h
+++ b/include/asm-x86/microcode.h
@@ -1,3 +1,16 @@
1struct microcode_ops {
2 long (*get_next_ucode)(void **mc, long offset);
3 long (*microcode_get_next_ucode)(void **mc, long offset);
4 int (*get_matching_microcode)(void *mc, int cpu);
5 int (*apply_microcode_check_cpu)(int cpu);
6 int (*microcode_sanity_check)(void *mc);
7 int (*cpu_request_microcode)(int cpu);
8 void (*collect_cpu_info)(int cpu_num);
9 void (*apply_microcode)(int cpu);
10 void (*microcode_fini_cpu)(int cpu);
11 void (*clear_patch)(void *data);
12};
13
1struct microcode_header_intel { 14struct microcode_header_intel {
2 unsigned int hdrver; 15 unsigned int hdrver;
3 unsigned int rev; 16 unsigned int rev;