diff options
author | Pratik Prajapati <pratikkumar.v.prajapati@intel.com> | 2017-08-16 18:22:08 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2017-08-21 15:58:42 +0000 |
commit | f771de445d6538d049f36c8522b9f42e8dd9c858 (patch) | |
tree | 4b8dd2d367d269f6fcf6fc9e6d754b9b1faafe17 | |
parent | 6278867065e0849ba54ed7022fc9aab819daaaaf (diff) |
intel/common/cpu: Add function to get microcode patch pointer
Add mp_current_microcode() 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.
Change-Id: Ia71395f4e5b2b4fcd4e4660b66e8beb99eda65b8
Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati@intel.com>
Reviewed-on: https://review.coreboot.org/21061
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r-- | src/soc/intel/common/block/cpu/mp_init.c | 13 | ||||
-rw-r--r-- | src/soc/intel/common/block/include/intelblocks/mp_init.h | 8 |
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. |