aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/common/block/cpu/Kconfig
blob: 995a95680c738248ac7f54720d01d25656b6c0ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
config SOC_INTEL_COMMON_BLOCK_CPU
	bool
	default n
	help
	  This option selects Intel Common CPU Model support code
	  which provides various CPU related APIs which are common
	  between all Intel Processor families. Common CPU code is supported
	  for SOCs starting from SKL,KBL,APL, and future.

config SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
	bool
	default n
	help
	  This option selects Intel Common CPU MP Init code. In
	  this common MP Init mechanism, the MP Init is occurring before
	  calling FSP Silicon Init. Hence, MP Init will be pulled to
	  BS_DEV_INIT_CHIPS Entry. And on Exit of BS_DEV_INIT, it is
	  ensured that all MTRRs are re-programmed based on the DRAM
	  resource settings.

config SOC_INTEL_COMMON_BLOCK_CAR
	bool
	default n
	help
	  This option allows you to select how cache-as-ram (CAR) is set up.

config INTEL_CAR_NEM
	bool
	default n
	help
	  Traditionally, CAR is set up by using Non-Evict mode. This method
	  does not allow CAR and cache to co-exist, because cache fills are
	  blocked in NEM.

config INTEL_CAR_CQOS
	bool
	default n
	help
	  Cache Quality of Service allows more fine-grained control of cache
	  usage. As result, it is possible to set up a portion of L2 cache for
	  CAR and use the remainder for actual caching.

config INTEL_CAR_NEM_ENHANCED
	bool
	default n
	help
	  A current limitation of NEM (Non-Evict mode) is that code and data sizes
	  are derived from the requirement to not write out any modified cache line.
	  With NEM, if there is no physical memory behind the cached area,
	  the modified data will be lost and NEM results will be inconsistent.
	  ENHANCED NEM guarantees that modified data is always
	  kept in cache while clean data is replaced.

config USE_CAR_NEM_ENHANCED_V1
	bool
	select INTEL_CAR_NEM_ENHANCED
	help
	  This config supports INTEL_CAR_NEM_ENHANCED mode on
	  SKL, KBL, CNL, WHL, CML and ICL and JSL platforms.

config USE_CAR_NEM_ENHANCED_V2
	bool
	select INTEL_CAR_NEM_ENHANCED
	select COS_MAPPED_TO_MSB
	help
	  This config supports INTEL_CAR_NEM_ENHANCED mode on
	  TGL  platform.

config COS_MAPPED_TO_MSB
	bool
	depends on INTEL_CAR_NEM_ENHANCED
	help
	  On TGL and JSL platform the class of service configuration
	  is mapped to MSB of MSR IA32_PQR_ASSOC.

config USE_INTEL_FSP_MP_INIT
	bool "Perform MP Initialization by FSP"
	default n
	depends on !USE_INTEL_FSP_TO_CALL_COREBOOT_PUBLISH_MP_PPI
	help
	  This option allows FSP to perform multiprocessor initialization.

config USE_INTEL_FSP_TO_CALL_COREBOOT_PUBLISH_MP_PPI
	bool "Perform MP Initialization by FSP using coreboot MP PPI service"
	depends on FSP_USES_MP_SERVICES_PPI
	default y if FSP_PEIM_TO_PEIM_INTERFACE
	default n
	help
	  This option allows FSP to make use of MP services PPI published by
	  coreboot to perform multiprocessor initialization.

config INTEL_TME
	bool "Total Memory Encryption (TME)/Multi-key TME (MKTME)"
	default n
	help
	 Enable Total Memory Encryption (TME)/Multi-key TME (MKTME). The spec is
	 available at "https://software.intel.com/sites/default/files/managed/a5
	 /16/Multi-Key-Total-Memory-Encryption-Spec.pdf". If CPU supports TME,
	 it would get enabled. If CPU supports MKTME, this same config option
	 enables MKTME.