diff options
Diffstat (limited to 'src/soc/intel/apollolake/include')
-rw-r--r-- | src/soc/intel/apollolake/include/soc/cpu.h | 10 |
1 files changed, 10 insertions, 0 deletions
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_ */ |