From 3c717fd3c726731195fd664e57da0a2abc0a7f5e Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Fri, 25 Oct 2002 21:01:14 +0000 Subject: [PATCH] - Add i786 cpu fixup routines --- src/cpu/i786/Config | 3 + src/cpu/i786/i786_cpufixup.c | 63 ++++++ src/cpu/i786/i786_microcode.c | 64 ++++++ src/cpu/i786/i786_microcode_tables.c | 293 +++++++++++++++++++++++++++ 4 files changed, 423 insertions(+) create mode 100644 src/cpu/i786/i786_cpufixup.c create mode 100644 src/cpu/i786/i786_microcode.c create mode 100644 src/cpu/i786/i786_microcode_tables.c diff --git a/src/cpu/i786/Config b/src/cpu/i786/Config index 5cf7217a99..453bfa9206 100644 --- a/src/cpu/i786/Config +++ b/src/cpu/i786/Config @@ -1,3 +1,6 @@ option i786=1 object delay_i786.o +object i786_cpufixup.o +object i786_microcode.o +object i786_microcode_tables.o diff --git a/src/cpu/i786/i786_cpufixup.c b/src/cpu/i786/i786_cpufixup.c new file mode 100644 index 0000000000..2e7f448bf5 --- /dev/null +++ b/src/cpu/i786/i786_cpufixup.c @@ -0,0 +1,63 @@ +#include +#include +#include +#include +#include +#include + + +static int first_time = 0; + +static void set_thermal_monitoring(int thermal_monitoring) +{ + int tm_high,tm_low; + + rdmsr(MISC_ENABLE,tm_low,tm_high); + if(thermal_monitoring != THERMAL_MONITORING_OFF) { + tm_low |= THERMAL_MONITORING_SET; + printk_debug("Thermal Monitoring on\n"); + } + else { + tm_low &= ~THERMAL_MONITORING_SET; + printk_debug("Thermal Monitoring off\n"); + } + wrmsr(MISC_ENABLE,tm_low,tm_high); + return; +} + +static void set_level3_cache(int disabled) +{ + int tm_high,tm_low; + + rdmsr(MISC_ENABLE,tm_low,tm_high); + if(disabled) { + tm_low |= L3_CACHE_DISABLE; + printk_debug("L3 cache disabled\n"); + } + else { + tm_low &= ~L3_CACHE_DISABLE; + printk_debug("L3 cache enabled\n"); + } + wrmsr(MISC_ENABLE,tm_low,tm_high); + return; +} + + + +void i786_cpufixup(struct mem_range *mem) +{ + int thermal_monitoring; + + printk_debug("Updating microcode\n"); + display_cpuid_update_microcode(); + + thermal_monitoring=THERMAL_MONITORING_OFF; + if(get_option(&thermal_monitoring, "thermal_monitoring")){ + thermal_monitoring = THERMAL_MONITORING_OFF; + } + set_thermal_monitoring(thermal_monitoring); + + set_level3_cache(L3_CACHE_DISABLE); /*This disables L3 cache */ + + +} diff --git a/src/cpu/i786/i786_microcode.c b/src/cpu/i786/i786_microcode.c new file mode 100644 index 0000000000..cdfbd6abef --- /dev/null +++ b/src/cpu/i786/i786_microcode.c @@ -0,0 +1,64 @@ +/* microcode.c: Microcode update for i786 CPUS + * + */ + +#include +#include +#include +#include +#include +#include + +extern unsigned int microcode_updates []; +extern unsigned int microcode_updates_size; + +struct microcode { + unsigned int hdrver; + unsigned int rev; + unsigned int date; + unsigned int sig; + + unsigned int cksum; + unsigned int ldrver; + unsigned int pf; + + unsigned int reserved[5]; + unsigned int bits[500]; +}; + + +void display_cpuid_update_microcode(void) +{ + unsigned int eax, ebx, ecx, edx; + unsigned int pf, rev, sig, val[2]; + unsigned int x86_model, x86_family, i; + struct microcode *m; + + /* cpuid sets msr 0x8B iff a microcode update has been loaded. */ + wrmsr(0x8B, 0, 0); + cpuid(1, &eax, &ebx, &ecx, &edx); + rdmsr(0x8B, val[0], rev); + x86_model = (eax >>4) & 0x0f; + x86_family = (eax >>8) & 0x0f; + sig = eax; + + pf = 0; + if ((x86_model >= 5)||(x86_family>6)) { + rdmsr(0x17, val[0], val[1]); + pf = 1 << ((val[1] >> 18) & 7); + } + printk_info("microcode_info: sig = 0x%08x pf=0x%08x rev = 0x%08x\n", + sig, pf, rev); + + m = (void *)µcode_updates; + for(i = 0; i < microcode_updates_size/sizeof(struct microcode); i++) { + if ((m[i].sig == sig) && (m[i].pf == pf)) { + wrmsr(0x79, (unsigned int)&m[i].bits, 0); + __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx"); + rdmsr(0x8B, val[0], val[1]); + printk_info("microcode updated from revision %d to %d\n", + rev, val[1]); + } + } +} + diff --git a/src/cpu/i786/i786_microcode_tables.c b/src/cpu/i786/i786_microcode_tables.c new file mode 100644 index 0000000000..d2750214ba --- /dev/null +++ b/src/cpu/i786/i786_microcode_tables.c @@ -0,0 +1,293 @@ +/* i786_microcode_tables.c: Microcode update for i786 CPUS + * + */ + + +unsigned int microcode_updates [] = { + /* + Copyright Intel Corporation, 1995, 96, 97, 98, 99, 2000. + + These microcode updates are distributed for the sole purpose of + installation in the BIOS or Operating System of computer systems + which include an Intel P6 family microprocessor sold or distributed + to or by you. You are authorized to copy and install this material + on such systems. You are not authorized to use this material for + any other purpose. + */ + + /* Intel xeon sig f24 pf 2 from m02f2410.txt */ + 0x000000001, /* Header Version */ + 0x000000010, /* Patch ID */ + 0x007192002, /* DATE */ + 0x000000f24, /* CPUID */ + 0x0789bb8d7, /* Checksum */ + 0x000000001, /* Loader Version */ + 0x000000002, /* Platform ID */ + 0x000000000, /* reserved */ + 0x000000000, /* reserved */ + 0x000000000, /* reserved */ + 0x000000000, /* reserved */ + 0x000000000, /* reserved */ + 0x0ffffffe9, 0x05715f121, 0x0440ce2fa, 0x0d5d090eb, + 0x070b3e977, 0x092320e8c, 0x04f989906, 0x036907442, + 0x0cc4b12e2, 0x0b456a6ae, 0x00ad5bcf7, 0x0e9f0a425, + 0x070b932d2, 0x0e66202c9, 0x0350f8d4b, 0x0d560a828, + 0x0763e8420, 0x04595b38a, 0x0a66d6637, 0x0e2adc7be, + 0x0c5d9515e, 0x07d6d08cd, 0x0c930e826, 0x0528d413f, + 0x0ce5ac17a, 0x086b9646b, 0x0e7845b29, 0x00c56e922, + 0x0ad8a85f2, 0x08e9d478d, 0x0d6faa7f5, 0x0da7ac699, + 0x010859ceb, 0x00c7c1cd8, 0x0fd7bc59d, 0x0b847dddd, + 0x0e545057b, 0x05af340d6, 0x01e2f8c45, 0x026c9c8c6, + 0x08b6ea51c, 0x075280c65, 0x0eb953366, 0x06400e75d, + 0x0fe0be614, 0x04b47f2ca, 0x0ac119100, 0x02f973c6e, + 0x0e3600377, 0x0e234bd6c, 0x06010f6fb, 0x0497c113b, + 0x010824bec, 0x0e897a508, 0x00de50694, 0x08202b8a6, + 0x07d2c657d, 0x0a82cd03c, 0x060947d1b, 0x0de88dfb8, + 0x0be799b59, 0x0cfdfd29e, 0x03d9ac639, 0x0fb674628, + 0x041988eba, 0x0700ebe34, 0x0019565b3, 0x0d3be034d, + 0x04366d795, 0x087f1131c, 0x01f2d001d, 0x063db664a, + 0x09a846727, 0x00b4b7370, 0x044941cd5, 0x0f5974d99, + 0x0fcd2d1a4, 0x0f4a458ea, 0x04edc79ff, 0x02eb36b1d, + 0x02b1bf369, 0x0fbe64d3d, 0x0c15f0935, 0x0c6ba263b, + 0x064320f87, 0x0ab342765, 0x054316d17, 0x09ee930d7, + 0x024a1a577, 0x0340dad94, 0x03c48afa2, 0x090373ff8, + 0x097f5be99, 0x0ba7bca44, 0x0ca4dae6c, 0x06e46a894, + 0x060f0f843, 0x07cdc8649, 0x03314dbd3, 0x0948e0f5c, + 0x0e29fe95c, 0x0afe80cef, 0x0864ea1b7, 0x075578a0f, + 0x00a908830, 0x0d354ef34, 0x0e57a2d1f, 0x09568c18b, + 0x0da0d7051, 0x0c32910d9, 0x03592ce94, 0x0e5b78410, + 0x0a08bf5b4, 0x068862085, 0x0f0147e1e, 0x0e676dfdd, + 0x0083b0d3f, 0x0a8594085, 0x00427d952, 0x008433d45, + 0x064bc994d, 0x04aef1348, 0x056121cb5, 0x0dea1295b, + 0x082edfc21, 0x0dee5f488, 0x0d7aa494b, 0x01b1a908c, + 0x00aa4ec23, 0x0b00cb03d, 0x07935f381, 0x0d7d03c6d, + 0x0f1acd28d, 0x0c3552afc, 0x06019f316, 0x0a2e40e1d, + 0x02c0e8a2d, 0x07d5097ae, 0x0e4e79555, 0x0fb3b4469, + 0x0d03ad54a, 0x0c1f2dab9, 0x036d22f7d, 0x015720655, + 0x00eb840e2, 0x063fc319a, 0x0fc99b4fc, 0x096aba0a6, + 0x0c264ca2d, 0x0937b3bf1, 0x03f15de0f, 0x0389dc588, + 0x01f58b599, 0x094de6fa9, 0x09cfb142f, 0x0cba182e0, + 0x0adde1620, 0x0e12e4fbe, 0x07a0fa14f, 0x0f464c742, + 0x0d65b2240, 0x0537e32c2, 0x0fae621a1, 0x0c814bdfd, + 0x027cd2a15, 0x0ca48efbf, 0x0f2befd43, 0x0125f5190, + 0x04fd50b0f, 0x051fe985e, 0x03acab851, 0x0f3f43b0f, + 0x06752ff24, 0x0cb6e48c3, 0x00c7b4e8f, 0x04cde4d0d, + 0x063f612e2, 0x0ae429cb5, 0x048175667, 0x0ad4c222b, + 0x065cfbc13, 0x0dc5c7f7a, 0x01c4ca18c, 0x09dd9940f, + 0x05df52ad4, 0x026dc7a9d, 0x040c2ef10, 0x0eee8cccd, + 0x0733f9d40, 0x0b0b2d287, 0x02c63d214, 0x0280a8a8c, + 0x07d79140b, 0x02bbad4bc, 0x013d77277, 0x0b3b27d18, + 0x051c9fc03, 0x0cceb6183, 0x0b3d40b0a, 0x06db2dea2, + 0x0e20c32de, 0x09f1a1bef, 0x049904f2a, 0x0c785676a, + 0x05193462d, 0x0db728f55, 0x06e011412, 0x0a29fde6f, + 0x02db8336e, 0x030cd1f0b, 0x0facf0b4e, 0x0f7594816, + 0x0ae3aaa8f, 0x0bd281afd, 0x03bee7d6a, 0x00f4aa235, + 0x00239def7, 0x00a27a699, 0x0f4593d2a, 0x0ccba9e40, + 0x044139d91, 0x0c92b308d, 0x033a788e1, 0x065cdf1cb, + 0x03193eac8, 0x0f4d29608, 0x048df9a08, 0x084f4666b, + 0x032dd3402, 0x08577079a, 0x07d86e147, 0x0a3ebdcf8, + 0x01671b672, 0x0617cf22c, 0x0cabc0826, 0x0d97544af, + 0x0de1246a0, 0x0a0f7a0e2, 0x0ba17cc9a, 0x0225d62c9, + 0x034777700, 0x07d2b36f8, 0x0144da38f, 0x0cab82ce4, + 0x00ec7f553, 0x0b9500f28, 0x0601b48d4, 0x06c23042d, + 0x096d63b58, 0x0e0465458, 0x04210e46c, 0x0fa8a12c5, + 0x0260b6716, 0x09eaacd55, 0x01ae1fb31, 0x0d8b61299, + 0x03608653c, 0x07af8888b, 0x064962804, 0x0e88d60cc, + 0x083784b2a, 0x0df50de8d, 0x072d79fec, 0x04cf109f8, + 0x0d19f7b44, 0x0323ce9f5, 0x0bc30d1f0, 0x0fdf68aa7, + 0x0105c51c7, 0x0c82d9c10, 0x070caaa5d, 0x04f9e40b5, + 0x00df8d32c, 0x0e8ac017d, 0x0c0ce9e3a, 0x0e3e614fa, + 0x03d09d4ac, 0x0d728b0de, 0x0bfbb6ac2, 0x098944bc0, + 0x09966a062, 0x07825e582, 0x0a48ae982, 0x0c63e9f3f, + 0x01e964e46, 0x08fa03130, 0x065bab214, 0x059ed2c27, + 0x0e171d297, 0x06bbcf48f, 0x0ec6d44a8, 0x0ef452345, + 0x03beeeccf, 0x0e6b61e6c, 0x039ff1edd, 0x031ab1a3c, + 0x03c4823bd, 0x0f046d111, 0x0dc77d7ab, 0x089e45e10, + 0x0acb472d8, 0x0bf7f62f2, 0x0e0f89ec4, 0x0b8722c2c, + 0x05277f745, 0x0090cc66f, 0x0c7615dbb, 0x0f019f628, + 0x06d9d1d6f, 0x0a3a11844, 0x06f4ed58c, 0x070ea5292, + 0x0b629584b, 0x081914eb0, 0x0619d1ef6, 0x08124cf57, + 0x0ea8fc589, 0x02cb0f8aa, 0x07be467a0, 0x0b61a2958, + 0x0d5586daa, 0x0abe9f60d, 0x0693ebd44, 0x02129bc82, + 0x04dc303e6, 0x079b717ef, 0x0ce04087f, 0x0f2bedb88, + 0x053c57df0, 0x0c62d43cb, 0x0a2721d91, 0x04d1315ad, + 0x06e398fb8, 0x09cd1c3c6, 0x04e887872, 0x08f3caf22, + 0x0a514e19a, 0x0ddd376ad, 0x09cf2fe8c, 0x0adde0e06, + 0x049fd5014, 0x00eac54c5, 0x054dbe117, 0x0cc227f52, + 0x0f1764002, 0x0f6bedffd, 0x06da0a736, 0x010cbac3b, + 0x0cf5ad71f, 0x03e647786, 0x09b675662, 0x0bfc85a6e, + 0x08c125ae4, 0x08ad8df36, 0x0f1f6eef0, 0x06e8e868c, + 0x09657d971, 0x0cd72893d, 0x0940b4748, 0x0d7020293, + 0x04e0a55b1, 0x0c65a6b72, 0x06231f2c5, 0x0f7fac755, + 0x02d36efd8, 0x019cf2803, 0x02066d5f8, 0x0914eda50, + 0x06121bdbd, 0x09bbd2fb6, 0x097b7a60e, 0x01241a2cc, + 0x09aaa0715, 0x06a44b718, 0x05ebb4d17, 0x0f1dc871f, + 0x04986b486, 0x0892bf0dc, 0x0e6b6062a, 0x0228745a9, + 0x05035cfe0, 0x0d4fa406b, 0x033a99806, 0x080a510f2, + 0x053310cbe, 0x0d4fb73af, 0x0200e09ce, 0x0c7b5f89a, + 0x06c5c857a, 0x0f736be54, 0x0d642ff8f, 0x0ec3f5f37, + 0x0748990cf, 0x0e5057b8a, 0x0911e4cd8, 0x00e8af6f3, + 0x0bec81837, 0x01d06db6d, 0x073c9dd43, 0x0a2405d52, + 0x01ee426b1, 0x013e87a88, 0x045e00e1a, 0x08e2a1ba3, + 0x0efeee771, 0x07db9f1ba, 0x0333b019c, 0x0e00c9308, + 0x00622f689, 0x081bba9be, 0x0fd316ec0, 0x0da2def1f, + 0x06a4945ea, 0x0f6359ec5, 0x0630bfba5, 0x0adff9610, + 0x0dd7c3d15, 0x03e728968, 0x0d74b8b49, 0x06dc94b9a, + 0x0b20f2765, 0x08041988e, 0x0272b5abc, 0x0f15cfd0d, + 0x00d729960, 0x01a2fae9a, 0x0cf3296e9, 0x03a290b05, + 0x0c3a504a6, 0x04aa31032, 0x0aadd73fd, 0x0a6790636, + 0x0f319a07f, 0x095d2d576, 0x06a61931a, 0x0ed892f8d, + 0x04ba30258, 0x0e5919b8a, 0x084f10bc5, 0x074cc3282, + 0x087890780, 0x068732cb2, 0x0f78ad447, 0x0e69573dc, + 0x0728beb36, 0x051c802a4, 0x0758de776, 0x05c6df037, + 0x06a06fb25, 0x0c4c4cf40, 0x045e58b0a, 0x0922d0480, + 0x07b51d9bb, 0x07d139ed7, 0x0f1216146, 0x0314b1efe, + 0x0084d7b08, 0x0844af3b6, 0x009e49a61, 0x0434a53b3, + 0x0b89bc367, 0x0ba0a92af, 0x0e56fe08d, 0x0310df486, + 0x04a9a69c4, 0x013a49875, 0x0bcecb5eb, 0x090098676, + 0x063a186b1, 0x07895a3a8, 0x0e2e74740, 0x0206610f0, + 0x01af249de, 0x0c86caf13, 0x0a0a09f28, 0x0daaefe51, + 0x06b74fab4, 0x0799a8893, 0x071dcc3db, 0x08e91b678, + 0x04fd05c58, 0x0d39f1956, 0x041d21e8f, 0x09214fe12, + 0x0d26d7c81, 0x0d1b4991c, 0x009917277, 0x0de60e0b1, + 0x0d535ce21, 0x09090fe6b, 0x0d2236db5, 0x0784808bd, + 0x013e6fbcb, 0x0ecb1bb25, 0x02c066d8c, 0x0dbd93a4a, + 0x09be0ff4b, 0x050460f00, 0x0e27da386, 0x0424b85d6, + +#if 0 + /* Intel xeon sig f24 pf 2 from m02f240c.txt */ + 0x000000001, 0x00000000c, 0x001142002, 0x000000f24, + 0x0d48cfbd0, 0x000000001, 0x000000002, 0x000000000, + 0x000000000, 0x000000000, 0x000000000, 0x000000000, + 0x03ba3b620, 0x0a519864c, 0x085c32bba, 0x0c9ec64b3, + 0x0d2094e66, 0x04c416dbe, 0x09479d025, 0x0968bf493, + 0x0852d79fb, 0x0c383bc7d, 0x031d3a540, 0x0615ad4f1, + 0x098eadde3, 0x0636d89b7, 0x08fd23fa0, 0x0f6f29448, + 0x012e2067d, 0x0b65167c4, 0x002f1098a, 0x04266c5fd, + 0x0427763bf, 0x00c9d0586, 0x004e5bec5, 0x0bd27c2cc, + 0x00cf1919b, 0x0422eac13, 0x09eb3ae5c, 0x030f6abd7, + 0x0060abd7c, 0x07d065d38, 0x0c9108ca6, 0x06b37a600, + 0x0f1258b0c, 0x010333644, 0x01b77caaf, 0x0531be24b, + 0x0c2ba71f6, 0x0db31e667, 0x0dd76719b, 0x024577144, + 0x034392aef, 0x0985f1d1f, 0x021b6cbd3, 0x0d1e7a88c, + 0x0829637e3, 0x077ebf885, 0x03c29cc9e, 0x0a64948b9, + 0x0fb55accc, 0x022a3817c, 0x00578e5e3, 0x0547dcbdf, + 0x07878bd77, 0x029e6f976, 0x028a0bbaf, 0x03d9fb722, + 0x0ca77143a, 0x09732a628, 0x096f9486f, 0x0385df464, + 0x094b006ff, 0x01b6eb6be, 0x03284051e, 0x0a090ca48, + 0x018e13300, 0x0838d6abf, 0x0d00b1865, 0x02ae449eb, + 0x0c809933a, 0x0b22cc2d6, 0x046ccfbb8, 0x085434f65, + 0x031105355, 0x0ab7c7374, 0x0419cdd53, 0x0b6e61d58, + 0x0f835040f, 0x02a10cbd6, 0x019971290, 0x09ef5b449, + 0x02a441065, 0x0943b9047, 0x08ad7874f, 0x01abf8ccd, + 0x0e21618f0, 0x0513712b4, 0x070162174, 0x09a9a51ac, + 0x022911a0c, 0x0a6e1b55c, 0x0a01bce90, 0x06eb6faa2, + 0x04c4a6a0d, 0x0e448846a, 0x0b017de2e, 0x0a42989e8, + 0x05ff21982, 0x0cebeec6d, 0x0fc8f6931, 0x0d7ba2360, + 0x0a13e37bb, 0x022a65ae4, 0x0f971a74f, 0x0e931550c, + 0x08229be21, 0x0c5d27957, 0x0796d9e0e, 0x037f97051, + 0x0889054d3, 0x05754f3e0, 0x0e54f1a10, 0x0e1169f58, + 0x05011e9b7, 0x0a21c74c7, 0x032a32783, 0x048bcec12, + 0x0893b6985, 0x0c4f556b6, 0x00b62ea56, 0x08bbdd3db, + 0x0b4fd7a19, 0x0d5a08db0, 0x06c0ac643, 0x0c62214d5, + 0x07c99abdb, 0x037dee80b, 0x0ce94186f, 0x0e3a8d0d0, + 0x0e8524995, 0x0f739b0e5, 0x07154adfa, 0x010ba00f3, + 0x0c730abc7, 0x016f8dab9, 0x0a908fef2, 0x0f84bc8fc, + 0x0ab952b25, 0x0e2f0eefa, 0x044ee25bc, 0x002a1a5d7, + 0x076b5d347, 0x0d4a6fc40, 0x087536b96, 0x0dad24f46, + 0x06052946e, 0x0dc58d7d8, 0x0a31d05c7, 0x0d5bb5605, + 0x0154312e4, 0x013cfb551, 0x0182f0f9f, 0x0d4662c48, + 0x0426de1de, 0x0d469e166, 0x05a07b89f, 0x037c4ef39, + 0x0ce84e135, 0x034c3f97f, 0x08cc22231, 0x0c8871e1b, + 0x0fd8f1410, 0x0dcc6616a, 0x04e0a14a6, 0x002154782, + 0x0620e1f5b, 0x0fe052d90, 0x0df429597, 0x0c04b1d16, + 0x0c26b5e5b, 0x0ad591811, 0x0a31ec26c, 0x0dfc42103, + 0x076a292f7, 0x072e0c290, 0x03741c569, 0x08b05777a, + 0x041331c49, 0x0fee2681e, 0x028ba204a, 0x0438968ba, + 0x0b54cfcfa, 0x0aa2baf81, 0x0d072651f, 0x0c9dff255, + 0x0a2e98718, 0x0501f4a62, 0x087666bd2, 0x09efbed2c, + 0x009829c14, 0x0d3b6d6d3, 0x0d968940b, 0x059db5c6d, + 0x063fbb096, 0x02fdba403, 0x06287601e, 0x0f8b7ba16, + 0x02cfbca86, 0x0c1a1648f, 0x01d77d1c6, 0x02f715f25, + 0x08aaca8f7, 0x0d352e3f2, 0x0f3a2b7aa, 0x0fab7e156, + 0x0cfbb8af7, 0x08bfb3424, 0x06b38dc66, 0x0c126a16c, + 0x07d5cce59, 0x04aec8bd6, 0x085971f8f, 0x0a79d231c, + 0x0a1faec0a, 0x0d6ce7959, 0x0d7a11ab9, 0x0761f13a3, + 0x01f692648, 0x00d046303, 0x07b86f4a5, 0x0deb111d4, + 0x083a5d908, 0x0eeedc4a3, 0x07d6a21db, 0x006ffb09e, + 0x0bcb08d01, 0x0f82562a2, 0x05dca37d8, 0x0dbe680c7, + 0x046b31156, 0x095ce7a24, 0x09c6406b1, 0x0e373b67a, + 0x05e5b3453, 0x06f010760, 0x07bc22e39, 0x08dfaace2, + 0x0e31d9f1e, 0x0d46fa3c7, 0x058cbbc33, 0x062fb533d, + 0x03bf8ad90, 0x001ab11ef, 0x067ec04bc, 0x0e6562e61, + 0x05df47ca8, 0x0eadeffa3, 0x00c94fab0, 0x0006b1470, + 0x026cf1b67, 0x0c1b3fc32, 0x0e3a9d53b, 0x0f7005fa3, + 0x099a625a9, 0x0d2683bfb, 0x093a0c66d, 0x0dbb99e7e, + 0x0a3df51c9, 0x0316727ff, 0x02a76ca17, 0x0c28a9862, + 0x0378825e9, 0x0e0797252, 0x0dc570291, 0x01906a916, + 0x0ba787885, 0x05d2a8263, 0x0e903ccdc, 0x0d85978ed, + 0x07f04833f, 0x0b98345be, 0x0afb1c7d3, 0x0784e5c04, + 0x039562c62, 0x0e3b98228, 0x089450baf, 0x082c9aa2a, + 0x01b5a28b6, 0x0d73355a1, 0x0f3ca1545, 0x0e7515de4, + 0x04f939870, 0x029412bac, 0x058f26ec9, 0x0f786c3af, + 0x04854fd56, 0x0e35d2910, 0x04705844c, 0x0018b4b92, + 0x058a0d721, 0x0761aa525, 0x0c7a8c9d5, 0x0d9d5ad05, + 0x0d09041e6, 0x09301fba7, 0x02807a710, 0x0519df013, + 0x01b93a8ba, 0x0e5598007, 0x02b85036d, 0x086043e27, + 0x07218c235, 0x0b5429b9e, 0x0147e7976, 0x0ed1c6ca7, + 0x035f619e8, 0x04869c1ee, 0x0ac9b83c0, 0x08b50fc49, + 0x070861339, 0x0d4f9baa1, 0x0ebf46af6, 0x070b5608a, + 0x0e2e91105, 0x010a2d12b, 0x02db2660e, 0x0f3f3685a, + 0x04b10988e, 0x0f9a0612a, 0x0d5531411, 0x03cb745bb, + 0x067d95743, 0x0d010061f, 0x0db3bf570, 0x0d48393ae, + 0x0300c5207, 0x0137359f0, 0x0dfa7b826, 0x0ff928c4f, + 0x08927f243, 0x0c7178d11, 0x07ca260f9, 0x01cf20f8b, + 0x00ee3fd74, 0x0cf5ac351, 0x0ff789d3c, 0x0e218e559, + 0x065f18964, 0x0c884e8e9, 0x01d602b89, 0x0c2f9a10d, + 0x0cf8ba902, 0x029b70348, 0x0754597a1, 0x0c49cdaba, + 0x03e11251e, 0x0ce5c24ba, 0x0c3eef460, 0x02459519b, + 0x0fc1a694b, 0x057e3c908, 0x08a219715, 0x0edda2787, + 0x0edf6dad8, 0x0babdb1e5, 0x0e84e7cb0, 0x07253eb99, + 0x04d65377f, 0x0d5d6aa0b, 0x04912f7ff, 0x099ff20a3, + 0x0b4c51260, 0x0e0682a6b, 0x06cea4448, 0x0d55d208b, + 0x016a07a38, 0x02067fd19, 0x04f9df2b3, 0x0dbc3dc0d, + 0x0c33b41bb, 0x0eec6f1c9, 0x0ed23a71b, 0x01cd86c54, + 0x0fc3826bd, 0x02b5d8619, 0x030fd94e9, 0x0c11a9dae, + 0x059298326, 0x0cc2fdb67, 0x07ad6f079, 0x036b0adfc, + 0x05a537f01, 0x0cbfb6a98, 0x0c55bd823, 0x0e5264bbb, + 0x03428766b, 0x09bcdbfb1, 0x0637cec9d, 0x0f67d80d0, + 0x0f0f6c228, 0x072c1fc13, 0x050314720, 0x014b205ae, + 0x03f640b13, 0x07f50bd6b, 0x054d58d80, 0x00565c47c, + 0x057f022bc, 0x067b3103e, 0x0a65a8440, 0x0fa93d7a4, + 0x0e8b42e02, 0x071ec20ba, 0x02ae1f62c, 0x03a946aa5, + 0x07271f934, 0x0af817e08, 0x0906e70c4, 0x04f252e64, + 0x0d5681a26, 0x0e1c30623, 0x09ad4bc55, 0x04f2e352e, + 0x0673eecbc, 0x033337dc2, 0x01e35da09, 0x000988a19, + 0x0b4e5ce4f, 0x0c6e0c340, 0x0c10f045d, 0x04191e0a0, + 0x0b5601253, 0x0d2551fdb, 0x050ac2076, 0x081452d88, + 0x07d551253, 0x04cdca2d8, 0x0b7020c83, 0x02db06e23, + 0x02123c5a6, 0x08b8e62ed, 0x0746d58bb, 0x09c89f662, + 0x00ffb3e12, 0x00d0879e8, 0x0d1c4b2af, 0x0748844b3, + 0x05eb3082f, 0x09f0dc508, 0x07400a8a3, 0x0322ad095, + 0x017c11f97, 0x08e2aa038, 0x02d0e57df, 0x0de1c0855, + 0x012ef7f76, 0x0140f6740, 0x0b0f7ed8c, 0x0502fdb0c, + 0x0e157364e, 0x0c7da4010, 0x0545b881a, 0x05842b53c, + 0x01ccf02a0, 0x070e17ce7, 0x001676bf1, 0x00aa92ad3, + 0x0c19d7711, 0x07c7eb9da, 0x0898f7fd5, 0x0735d129c, + 0x0be3fbd5d, 0x0c125ad59, 0x036110c1f, 0x02e878928, + 0x0e7c55e7a, 0x04ec17b9e, 0x0430389e3, 0x05bfdfe9b, + 0x0df113009, 0x0269dd868, 0x0eca2fb67, 0x06e029e38, + 0x0f8db6a41, 0x04ba79233, 0x0971476b9, 0x0c2802f06, + 0x0e95b9692, 0x071799e72, 0x04e203a26, 0x01ae50d11, + 0x0fbb33198, 0x0ed851b77, 0x0aa9b914e, 0x0e1a9a851, + 0x0a57c12a7, 0x0285cd80e, 0x08790eed8, 0x01ada78c4, + 0x0d2842f04, 0x0d1c6b6f4, 0x05aeb3ad9, 0x0483a0d1b, + 0x09cc18069, 0x03e4e4bc4, 0x0f28852a6, 0x0f818163d, + 0x0decfe14e, 0x05649bde9, 0x0949ea0d6, 0x063717b3f, +#endif +}; + + +unsigned int microcode_updates_size = sizeof(microcode_updates); + +