home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / x86 / include / asm / microcode.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.0 KB  |  48 lines

  1. #ifndef _ASM_X86_MICROCODE_H
  2. #define _ASM_X86_MICROCODE_H
  3.  
  4. struct cpu_signature {
  5.     unsigned int sig;
  6.     unsigned int pf;
  7.     unsigned int rev;
  8. };
  9.  
  10. struct device;
  11.  
  12. struct microcode_ops {
  13.     int  (*request_microcode_user) (int cpu, const void __user *buf, size_t size);
  14.     int  (*request_microcode_fw) (int cpu, struct device *device);
  15.  
  16.     void (*apply_microcode) (int cpu);
  17.  
  18.     int  (*collect_cpu_info) (int cpu, struct cpu_signature *csig);
  19.     void (*microcode_fini_cpu) (int cpu);
  20. };
  21.  
  22. struct ucode_cpu_info {
  23.     struct cpu_signature cpu_sig;
  24.     int valid;
  25.     void *mc;
  26. };
  27. extern struct ucode_cpu_info ucode_cpu_info[];
  28.  
  29. #ifdef CONFIG_MICROCODE_INTEL
  30. extern struct microcode_ops * __init init_intel_microcode(void);
  31. #else
  32. static inline struct microcode_ops * __init init_intel_microcode(void)
  33. {
  34.     return NULL;
  35. }
  36. #endif /* CONFIG_MICROCODE_INTEL */
  37.  
  38. #ifdef CONFIG_MICROCODE_AMD
  39. extern struct microcode_ops * __init init_amd_microcode(void);
  40. #else
  41. static inline struct microcode_ops * __init init_amd_microcode(void)
  42. {
  43.     return NULL;
  44. }
  45. #endif
  46.  
  47. #endif /* _ASM_X86_MICROCODE_H */
  48.