summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/common/block/cpu/mp_init.c13
-rw-r--r--src/soc/intel/common/block/include/intelblocks/mp_init.h8
2 files changed, 20 insertions, 1 deletions
diff --git a/src/soc/intel/common/block/cpu/mp_init.c b/src/soc/intel/common/block/cpu/mp_init.c
index fd8b5db89e..5bbbb2c01e 100644
--- a/src/soc/intel/common/block/cpu/mp_init.c
+++ b/src/soc/intel/common/block/cpu/mp_init.c
@@ -93,6 +93,17 @@ int get_cpu_count(void)
}
/*
+ * Function to get the microcode patch pointer. Use this function to avoid
+ * reading the microcode patch from the boot media. init_cpus() would
+ * initialize microcode_patch global variable to point to microcode patch
+ * in boot media and this function can be used to access the pointer.
+ */
+const void *intel_mp_current_microcode(void)
+{
+ return microcode_patch;
+}
+
+/*
* MP Init callback function(get_microcode_info) to find the Microcode at
* Pre MP Init phase. This function is common among all SOCs and thus its in
* Common CPU block.
@@ -102,7 +113,7 @@ int get_cpu_count(void)
*/
void get_microcode_info(const void **microcode, int *parallel)
{
- *microcode =microcode_patch;
+ *microcode = intel_mp_current_microcode();
*parallel = 1;
}
diff --git a/src/soc/intel/common/block/include/intelblocks/mp_init.h b/src/soc/intel/common/block/include/intelblocks/mp_init.h
index 1e5531cfd5..d123207c58 100644
--- a/src/soc/intel/common/block/include/intelblocks/mp_init.h
+++ b/src/soc/intel/common/block/include/intelblocks/mp_init.h
@@ -43,6 +43,14 @@
int get_cpu_count(void);
/*
+ * Function to get the microcode patch pointer. Use this function to avoid
+ * reading the microcode patch from the boot media. init_cpus() would
+ * initialize microcode_patch global variable to point to microcode patch
+ * in boot media and this function can be used to access the pointer.
+ */
+const void *intel_mp_current_microcode(void);
+
+/*
* MP Init callback function(get_microcode_info) to find the Microcode at
* Pre MP Init phase. This function is common among all SOCs and thus its in
* Common CPU block.