diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/apollolake/car.c | 8 | ||||
-rw-r--r-- | src/soc/intel/apollolake/include/soc/cpu.h | 10 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/soc/intel/apollolake/car.c b/src/soc/intel/apollolake/car.c index f46e0f89ec..920580d0a1 100644 --- a/src/soc/intel/apollolake/car.c +++ b/src/soc/intel/apollolake/car.c @@ -20,19 +20,13 @@ #include <cpu/x86/msr.h> #include <intelblocks/msr.h> #include <program_loading.h> +#include <soc/cpu.h> /* * This file supports the necessary hoops one needs to jump through since * early FSP component and early stages are running from cache-as-ram. */ -static void flush_l1d_to_l2(void) -{ - msr_t msr = rdmsr(MSR_POWER_MISC); - msr.lo |= FLUSH_DL1_L2; - wrmsr(MSR_POWER_MISC, msr); -} - static inline int is_car_addr(uintptr_t addr) { return ((addr >= CONFIG_DCACHE_RAM_BASE) && diff --git a/src/soc/intel/apollolake/include/soc/cpu.h b/src/soc/intel/apollolake/include/soc/cpu.h index ed4a7de477..4a1a7a438c 100644 --- a/src/soc/intel/apollolake/include/soc/cpu.h +++ b/src/soc/intel/apollolake/include/soc/cpu.h @@ -18,6 +18,9 @@ #ifndef _SOC_APOLLOLAKE_CPU_H_ #define _SOC_APOLLOLAKE_CPU_H_ +#include <cpu/x86/msr.h> +#include <intelblocks/msr.h> + /* Common Timer Copy (CTC) frequency - 19.2MHz. */ #define CTC_FREQ 19200000 @@ -25,4 +28,11 @@ struct device; void apollolake_init_cpus(struct device *dev); void mainboard_devtree_update(struct device *dev); +/* Flush L1D to L2 */ +static inline void flush_l1d_to_l2(void) +{ + msr_t msr = rdmsr(MSR_POWER_MISC); + msr.lo |= FLUSH_DL1_L2; + wrmsr(MSR_POWER_MISC, msr); +} #endif /* _SOC_APOLLOLAKE_CPU_H_ */ |