aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/microcode.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-09-16 13:09:04 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-09-16 13:09:04 +0100
commit5f9a78e33714459cc6162d7e37489a75d816abe0 (patch)
treee357031aadf8bc7d5ebaba783d33c3561fde972d /xen/include/asm-x86/microcode.h
parent59bbc091e9ba50ed480b03c6341dbd915e051db0 (diff)
downloadxen-5f9a78e33714459cc6162d7e37489a75d816abe0.tar.gz
xen-5f9a78e33714459cc6162d7e37489a75d816abe0.tar.bz2
xen-5f9a78e33714459cc6162d7e37489a75d816abe0.zip
x86, microcode: More code cleanups.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/asm-x86/microcode.h')
-rw-r--r--xen/include/asm-x86/microcode.h110
1 files changed, 53 insertions, 57 deletions
diff --git a/xen/include/asm-x86/microcode.h b/xen/include/asm-x86/microcode.h
index 79d8ba9b74..1ead2a7c37 100644
--- a/xen/include/asm-x86/microcode.h
+++ b/xen/include/asm-x86/microcode.h
@@ -4,91 +4,87 @@
struct cpu_signature;
struct microcode_ops {
- long (*microcode_get_next_ucode)(void **mc, long offset);
- int (*get_matching_microcode)(void *mc, int cpu);
- int (*microcode_sanity_check)(void *mc);
- int (*cpu_request_microcode)(int cpu, const void *buf, size_t size);
- int (*collect_cpu_info)(int cpu_num, struct cpu_signature *csig);
- int (*apply_microcode)(int cpu);
- void (*microcode_fini_cpu)(int cpu);
- void (*clear_patch)(void *data);
+ int (*get_matching_microcode)(void *mc, int cpu);
+ int (*cpu_request_microcode)(int cpu, const void *buf, size_t size);
+ int (*collect_cpu_info)(int cpu_num, struct cpu_signature *csig);
+ int (*apply_microcode)(int cpu);
};
struct microcode_header_intel {
- unsigned int hdrver;
- unsigned int rev;
- unsigned int date;
- unsigned int sig;
- unsigned int cksum;
- unsigned int ldrver;
- unsigned int pf;
- unsigned int datasize;
- unsigned int totalsize;
- unsigned int reserved[3];
+ unsigned int hdrver;
+ unsigned int rev;
+ unsigned int date;
+ unsigned int sig;
+ unsigned int cksum;
+ unsigned int ldrver;
+ unsigned int pf;
+ unsigned int datasize;
+ unsigned int totalsize;
+ unsigned int reserved[3];
};
struct microcode_intel {
- struct microcode_header_intel hdr;
- unsigned int bits[0];
+ struct microcode_header_intel hdr;
+ unsigned int bits[0];
};
/* microcode format is extended from prescott processors */
struct extended_signature {
- unsigned int sig;
- unsigned int pf;
- unsigned int cksum;
+ unsigned int sig;
+ unsigned int pf;
+ unsigned int cksum;
};
struct extended_sigtable {
- unsigned int count;
- unsigned int cksum;
- unsigned int reserved[3];
- struct extended_signature sigs[0];
+ unsigned int count;
+ unsigned int cksum;
+ unsigned int reserved[3];
+ struct extended_signature sigs[0];
};
struct equiv_cpu_entry {
- unsigned int installed_cpu;
- unsigned int fixed_errata_mask;
- unsigned int fixed_errata_compare;
- unsigned int equiv_cpu;
+ unsigned int installed_cpu;
+ unsigned int fixed_errata_mask;
+ unsigned int fixed_errata_compare;
+ unsigned int equiv_cpu;
};
struct microcode_header_amd {
- unsigned int data_code;
- unsigned int patch_id;
- unsigned char mc_patch_data_id[2];
- unsigned char mc_patch_data_len;
- unsigned char init_flag;
- unsigned int mc_patch_data_checksum;
- unsigned int nb_dev_id;
- unsigned int sb_dev_id;
- unsigned char processor_rev_id[2];
- unsigned char nb_rev_id;
- unsigned char sb_rev_id;
- unsigned char bios_api_rev;
- unsigned char reserved1[3];
- unsigned int match_reg[8];
+ unsigned int data_code;
+ unsigned int patch_id;
+ unsigned char mc_patch_data_id[2];
+ unsigned char mc_patch_data_len;
+ unsigned char init_flag;
+ unsigned int mc_patch_data_checksum;
+ unsigned int nb_dev_id;
+ unsigned int sb_dev_id;
+ unsigned char processor_rev_id[2];
+ unsigned char nb_rev_id;
+ unsigned char sb_rev_id;
+ unsigned char bios_api_rev;
+ unsigned char reserved1[3];
+ unsigned int match_reg[8];
};
struct microcode_amd {
- struct microcode_header_amd hdr;
- unsigned int mpb[0];
+ struct microcode_header_amd hdr;
+ unsigned int mpb[0];
};
struct cpu_signature {
- unsigned int sig;
- unsigned int pf;
- unsigned int rev;
+ unsigned int sig;
+ unsigned int pf;
+ unsigned int rev;
};
struct ucode_cpu_info {
- struct cpu_signature cpu_sig;
- int valid;
- union {
- struct microcode_intel *mc_intel;
- struct microcode_amd *mc_amd;
- void *valid_mc;
- } mc;
+ struct cpu_signature cpu_sig;
+ int valid;
+ union {
+ struct microcode_intel *mc_intel;
+ struct microcode_amd *mc_amd;
+ void *valid_mc;
+ } mc;
};
extern struct ucode_cpu_info ucode_cpu_info[];