From: Peter Oruba Date: Mon, 28 Jul 2008 16:44:20 +0000 (+0200) Subject: x86: first step of refactoring, introducing microcode_ops X-Git-Tag: firefly_0821_release~17807^2^4~25 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=26bf7a48c33906cc3415a4492aa9ead7a75f1353;p=firefly-linux-kernel-4.4.55.git 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 Cc: Tigran Aivazian Signed-off-by: Ingo Molnar --- 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 @@ +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 (*apply_microcode_check_cpu)(int cpu); + int (*microcode_sanity_check)(void *mc); + int (*cpu_request_microcode)(int cpu); + void (*collect_cpu_info)(int cpu_num); + void (*apply_microcode)(int cpu); + void (*microcode_fini_cpu)(int cpu); + void (*clear_patch)(void *data); +}; + struct microcode_header_intel { unsigned int hdrver; unsigned int rev;