1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef _ASM_X86_MICROCODE_H
- #define _ASM_X86_MICROCODE_H
- struct cpu_signature {
- unsigned int sig;
- unsigned int pf;
- unsigned int rev;
- };
- struct device;
- struct microcode_ops {
- int (*request_microcode_user) (int cpu, const void __user *buf, size_t size);
- int (*request_microcode_fw) (int cpu, struct device *device);
- void (*apply_microcode) (int cpu);
- int (*collect_cpu_info) (int cpu, struct cpu_signature *csig);
- void (*microcode_fini_cpu) (int cpu);
- };
- struct ucode_cpu_info {
- struct cpu_signature cpu_sig;
- int valid;
- void *mc;
- };
- extern struct ucode_cpu_info ucode_cpu_info[];
- #ifdef CONFIG_MICROCODE_INTEL
- extern struct microcode_ops * __init init_intel_microcode(void);
- #else
- static inline struct microcode_ops * __init init_intel_microcode(void)
- {
- return NULL;
- }
- #endif /* CONFIG_MICROCODE_INTEL */
- #ifdef CONFIG_MICROCODE_AMD
- extern struct microcode_ops * __init init_amd_microcode(void);
- #else
- static inline struct microcode_ops * __init init_amd_microcode(void)
- {
- return NULL;
- }
- #endif
- #endif /* _ASM_X86_MICROCODE_H */
|