blob: ef77c6f438bfebb0dba152d9d05abd7e3bacf8c2 [file] [log] [blame]
Peter Orubad4ee3662008-07-28 18:44:18 +02001struct microcode_header_intel {
Peter Oruba9a56a0f2008-07-28 18:44:13 +02002 unsigned int hdrver;
3 unsigned int rev;
4 unsigned int date;
5 unsigned int sig;
6 unsigned int cksum;
7 unsigned int ldrver;
8 unsigned int pf;
9 unsigned int datasize;
10 unsigned int totalsize;
11 unsigned int reserved[3];
12};
13
Peter Orubad4ee3662008-07-28 18:44:18 +020014struct microcode_intel {
15 struct microcode_header_intel hdr;
Peter Oruba9a56a0f2008-07-28 18:44:13 +020016 unsigned int bits[0];
17};
18
Peter Oruba9a56a0f2008-07-28 18:44:13 +020019/* microcode format is extended from prescott processors */
20struct extended_signature {
21 unsigned int sig;
22 unsigned int pf;
23 unsigned int cksum;
24};
25
26struct extended_sigtable {
27 unsigned int count;
28 unsigned int cksum;
29 unsigned int reserved[3];
30 struct extended_signature sigs[0];
31};
Peter Orubac3b71bc2008-07-28 18:44:15 +020032
33struct ucode_cpu_info {
34 int valid;
35 unsigned int sig;
36 unsigned int pf;
37 unsigned int rev;
Peter Orubad4ee3662008-07-28 18:44:18 +020038 union {
39 struct microcode_intel *mc_intel;
40 } mc;
Peter Orubac3b71bc2008-07-28 18:44:15 +020041};