Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26bf7a48 authored by Peter Oruba's avatar Peter Oruba Committed by Ingo Molnar
Browse files

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: default avatarPeter Oruba <peter.oruba@amd.com>
Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 9835fd4a
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
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;