aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/intel/model_68x
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/intel/model_68x')
-rw-r--r--src/cpu/intel/model_68x/Kconfig1
-rw-r--r--src/cpu/intel/model_68x/Makefile.inc1
-rw-r--r--src/cpu/intel/model_68x/microcode_blob.c25
-rw-r--r--src/cpu/intel/model_68x/model_68x_init.c28
4 files changed, 28 insertions, 27 deletions
diff --git a/src/cpu/intel/model_68x/Kconfig b/src/cpu/intel/model_68x/Kconfig
index f7f05f6e73..9d9983ed0c 100644
--- a/src/cpu/intel/model_68x/Kconfig
+++ b/src/cpu/intel/model_68x/Kconfig
@@ -21,3 +21,4 @@
config CPU_INTEL_MODEL_68X
bool
select SMP
+ select SUPPORT_CPU_UCODE_IN_CBFS
diff --git a/src/cpu/intel/model_68x/Makefile.inc b/src/cpu/intel/model_68x/Makefile.inc
index 40bdd43aad..addee29bee 100644
--- a/src/cpu/intel/model_68x/Makefile.inc
+++ b/src/cpu/intel/model_68x/Makefile.inc
@@ -21,3 +21,4 @@
ramstage-y += model_68x_init.c
subdirs-y += ../../x86/name
+cpu_microcode-$(CONFIG_CPU_MICROCODE_CBFS_GENERATE) += microcode_blob.c
diff --git a/src/cpu/intel/model_68x/microcode_blob.c b/src/cpu/intel/model_68x/microcode_blob.c
new file mode 100644
index 0000000000..78e2e03f44
--- /dev/null
+++ b/src/cpu/intel/model_68x/microcode_blob.c
@@ -0,0 +1,25 @@
+unsigned microcode_updates_68x[] = {
+ #include "microcode-534-MU16810d.h"
+ #include "microcode-535-MU16810e.h"
+ #include "microcode-536-MU16810f.h"
+ #include "microcode-537-MU268110.h"
+ #include "microcode-538-MU168111.h"
+ #include "microcode-550-MU168307.h"
+ #include "microcode-551-MU168308.h"
+ #include "microcode-727-MU168313.h"
+ #include "microcode-728-MU168314.h"
+ #include "microcode-729-MU268310.h"
+ #include "microcode-611-MU168607.h"
+ #include "microcode-612-MU168608.h"
+ #include "microcode-615-MU16860a.h"
+ #include "microcode-617-MU16860c.h"
+ #include "microcode-618-MU268602.h"
+ #include "microcode-662-MU168a01.h"
+ #include "microcode-691-MU168a04.h"
+ #include "microcode-692-MU168a05.h"
+ /* Dummy terminator */
+ 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0,
+};
diff --git a/src/cpu/intel/model_68x/model_68x_init.c b/src/cpu/intel/model_68x/model_68x_init.c
index c4bd7acfe2..4bb9b5634c 100644
--- a/src/cpu/intel/model_68x/model_68x_init.c
+++ b/src/cpu/intel/model_68x/model_68x_init.c
@@ -32,32 +32,6 @@
#include <cpu/x86/cache.h>
#include <cpu/x86/name.h>
-static const uint32_t microcode_updates[] = {
- #include "microcode-534-MU16810d.h"
- #include "microcode-535-MU16810e.h"
- #include "microcode-536-MU16810f.h"
- #include "microcode-537-MU268110.h"
- #include "microcode-538-MU168111.h"
- #include "microcode-550-MU168307.h"
- #include "microcode-551-MU168308.h"
- #include "microcode-727-MU168313.h"
- #include "microcode-728-MU168314.h"
- #include "microcode-729-MU268310.h"
- #include "microcode-611-MU168607.h"
- #include "microcode-612-MU168608.h"
- #include "microcode-615-MU16860a.h"
- #include "microcode-617-MU16860c.h"
- #include "microcode-618-MU268602.h"
- #include "microcode-662-MU168a01.h"
- #include "microcode-691-MU168a04.h"
- #include "microcode-692-MU168a05.h"
- /* Dummy terminator */
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
-};
-
static void model_68x_init(device_t cpu)
{
char processor_name[49];
@@ -66,7 +40,7 @@ static void model_68x_init(device_t cpu)
x86_enable_cache();
/* Update the microcode */
- intel_update_microcode(microcode_updates);
+ intel_update_microcode_from_cbfs();
/* Print processor name */
fill_processor_name(processor_name);