diff options
author | Peter Oruba <peter.oruba@amd.com> | 2008-07-28 12:44:20 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-28 13:57:57 -0400 |
commit | 26bf7a48c33906cc3415a4492aa9ead7a75f1353 (patch) | |
tree | 5e66a9e37bb9870489c80b12c6ee8ea54eb173d4 | |
parent | 9835fd4ad9ee5fc6b909df72aa3e3dba04415f4b (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.h | 13 |
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 @@ | |||
1 | struct 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 | |||
1 | struct microcode_header_intel { | 14 | struct microcode_header_intel { |
2 | unsigned int hdrver; | 15 | unsigned int hdrver; |
3 | unsigned int rev; | 16 | unsigned int rev; |