aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/intel/model_65x
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/intel/model_65x')
-rw-r--r--src/cpu/intel/model_65x/Kconfig1
-rw-r--r--src/cpu/intel/model_65x/Makefile.inc1
-rw-r--r--src/cpu/intel/model_65x/microcode_blob.c25
-rw-r--r--src/cpu/intel/model_65x/model_65x_init.c29
4 files changed, 28 insertions, 28 deletions
diff --git a/src/cpu/intel/model_65x/Kconfig b/src/cpu/intel/model_65x/Kconfig
index 1ef48139f6..e8f0767ce4 100644
--- a/src/cpu/intel/model_65x/Kconfig
+++ b/src/cpu/intel/model_65x/Kconfig
@@ -1,3 +1,4 @@
config CPU_INTEL_MODEL_65X
bool
select SMP
+ select SUPPORT_CPU_UCODE_IN_CBFS
diff --git a/src/cpu/intel/model_65x/Makefile.inc b/src/cpu/intel/model_65x/Makefile.inc
index 50639e71b8..9298037877 100644
--- a/src/cpu/intel/model_65x/Makefile.inc
+++ b/src/cpu/intel/model_65x/Makefile.inc
@@ -20,3 +20,4 @@
ramstage-y += model_65x_init.c
+cpu_microcode-$(CONFIG_CPU_MICROCODE_CBFS_GENERATE) += microcode_blob.c
diff --git a/src/cpu/intel/model_65x/microcode_blob.c b/src/cpu/intel/model_65x/microcode_blob.c
new file mode 100644
index 0000000000..f14f317743
--- /dev/null
+++ b/src/cpu/intel/model_65x/microcode_blob.c
@@ -0,0 +1,25 @@
+unsigned microcode_updates_65x[] = {
+ #include "microcode-410-MU16522d.h"
+ #include "microcode-422-MU26530b.h"
+ #include "microcode-412-MU16530d.h"
+ #include "microcode-423-MU26522b.h"
+ #include "microcode-407-MU16522a.h"
+ #include "microcode-146-MU16502e.h"
+ #include "microcode-409-MU16522c.h"
+ #include "microcode-147-MU16502f.h"
+ #include "microcode-94-MU265019.h"
+ #include "microcode-430-MU165041.h"
+ #include "microcode-452-MU165310.h"
+ #include "microcode-434-MU165140.h"
+ #include "microcode-435-MU165141.h"
+ #include "microcode-433-MU165045.h"
+ #include "microcode-429-MU165040.h"
+ #include "microcode-436-MU165142.h"
+ #include "microcode-411-MU16530c.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_65x/model_65x_init.c b/src/cpu/intel/model_65x/model_65x_init.c
index 285bacd94b..69141221eb 100644
--- a/src/cpu/intel/model_65x/model_65x_init.c
+++ b/src/cpu/intel/model_65x/model_65x_init.c
@@ -29,37 +29,10 @@
#include <cpu/x86/cache.h>
#include <cpu/intel/l2_cache.h>
-static u32 microcode_updates[] = {
- #include "microcode-410-MU16522d.h"
- #include "microcode-422-MU26530b.h"
- #include "microcode-412-MU16530d.h"
- #include "microcode-423-MU26522b.h"
- #include "microcode-407-MU16522a.h"
- #include "microcode-146-MU16502e.h"
- #include "microcode-409-MU16522c.h"
- #include "microcode-147-MU16502f.h"
- #include "microcode-94-MU265019.h"
- #include "microcode-430-MU165041.h"
- #include "microcode-452-MU165310.h"
- #include "microcode-434-MU165140.h"
- #include "microcode-435-MU165141.h"
- #include "microcode-433-MU165045.h"
- #include "microcode-429-MU165040.h"
- #include "microcode-436-MU165142.h"
- #include "microcode-411-MU16530c.h"
-
- /* Dummy terminator */
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
-};
-
static void model_65x_init(device_t dev)
{
/* Update the microcode */
- intel_update_microcode(microcode_updates);
-
+ intel_update_microcode_from_cbfs();
/* Initialize L2 cache */
p6_configure_l2_cache();