1 #include <console/console.h>
2 #include <device/device.h>
3 #include <device/pci.h>
6 #include <cpu/x86/mtrr.h>
7 #include <cpu/x86/msr.h>
8 #include <cpu/x86/lapic.h>
9 #include <cpu/intel/microcode.h>
10 #include <cpu/x86/cache.h>
13 static uint32_t microcode_updates[] = {
14 #include "microcode-678-2f0708.h"
15 #include "microcode-965-m01f0a13.h"
16 #include "microcode-983-m02f0a15.h"
17 #include "microcode-964-m01f0712.h"
18 #include "microcode-966-m04f0a14.h"
20 /* Dummy terminator */
27 static void model_f0x_init(device_t dev)
29 /* Turn on caching if we haven't already */
34 /* Update the microcode */
35 intel_update_microcode(microcode_updates);
37 /* Enable the local cpu apics */
41 static struct device_operations cpu_dev_ops = {
42 .init = model_f0x_init,
45 static struct cpu_device_id cpu_table[] = {
46 { X86_VENDOR_INTEL, 0x0f07 },
47 { X86_VENDOR_INTEL, 0x0f0A },
51 static const struct cpu_driver driver __cpu_driver = {
53 .id_table = cpu_table,