x86: major refactoring

Refactored code by introducing a two-module solution.

There is one general module in which vendor specific modules can hook into.
However, that is exclusive, there is only one vendor specific module
allowed at a time. A CPU vendor check makes sure only the correct
module for the underlying system gets called.

Functinally in terms of patch loading itself there are no changes. This
refactoring provides a basis for future implementations of other vendors'
patch loaders.

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>
This commit is contained in:
Peter Oruba
2008-07-28 18:44:21 +02:00
committed by Ingo Molnar
parent 26bf7a48c3
commit 8d86f390d9
5 changed files with 112 additions and 50 deletions

View File

@ -1,3 +1,6 @@
extern int microcode_init(void *opaque, struct module *module);
extern void microcode_exit(void);
struct microcode_ops {
long (*get_next_ucode)(void **mc, long offset);
long (*microcode_get_next_ucode)(void **mc, long offset);