summaryrefslogtreecommitdiff
path: root/src/soc/intel/apollolake/include/soc/cpu.h
blob: 38b830a16f71da08007fdcfc05681788e49fad3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* SPDX-License-Identifier: GPL-2.0-or-later */

#ifndef _SOC_APOLLOLAKE_CPU_H_
#define _SOC_APOLLOLAKE_CPU_H_

#include <cpu/x86/msr.h>
#include <intelblocks/msr.h>

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_ */