blob: 4260278e02f52e86695ba5bf539902724b2cd052 [file] [log] [blame]
Stefan Reinauer9d5e36e2015-04-27 13:40:16 -07001# TODO These two options look too similar
Kyösti Mälkki5c3f3842014-05-08 15:27:15 +03002config PARALLEL_CPU_INIT
Sven Schnellea2701c62012-07-29 17:42:52 +02003 bool
Kyösti Mälkki5c3f3842014-05-08 15:27:15 +03004 default n
Sven Schnellea2701c62012-07-29 17:42:52 +02005
Stefan Reinauer9d5e36e2015-04-27 13:40:16 -07006config PARALLEL_MP
7 def_bool n
8 help
9 This option uses common MP infrastructure for bringing up APs
10 in parallel. It additionally provides a more flexible mechanism
11 for sequencing the steps of bringing up the APs.
12
Aaron Durbinb21e3622016-12-07 00:32:19 -060013config PARALLEL_MP_AP_WORK
14 def_bool n
15 depends on PARALLEL_MP
16 help
17 Allow APs to do other work after initialization instead of going
18 to sleep.
Stefan Reinauer9d5e36e2015-04-27 13:40:16 -070019
Patrick Georgi0e9a9252009-10-06 20:48:07 +000020config UDELAY_LAPIC
21 bool
22 default n
23
Aaron Durbinfd8291c2013-04-29 17:18:49 -050024config LAPIC_MONOTONIC_TIMER
25 def_bool n
26 depends on UDELAY_LAPIC
Aaron Durbinfd8291c2013-04-29 17:18:49 -050027 help
Elyes HAOUASd6e96862016-08-21 10:12:15 +020028 Expose monotonic time using the local APIC.
Aaron Durbinfd8291c2013-04-29 17:18:49 -050029
Patrick Georgie135ac52012-11-20 11:53:47 +010030config UDELAY_LAPIC_FIXED_FSB
31 int
32
Ronald G. Minnich669c4a92009-08-29 03:00:51 +000033config UDELAY_TSC
34 bool
35 default n
36
Kyösti Mälkki0d6ddf82019-10-31 14:52:20 +020037config UNKNOWN_TSC_RATE
38 bool
39 default y if LAPIC_MONOTONIC_TIMER
Aaron Durbin8e73b5d2013-05-01 15:27:09 -050040
Aaron Durbine8501642013-04-29 22:22:55 -050041config TSC_MONOTONIC_TIMER
42 def_bool n
43 depends on UDELAY_TSC
Aaron Durbine8501642013-04-29 22:22:55 -050044 help
45 Expose monotonic time using the TSC.
46
Stefan Reinauer0db68202012-08-07 14:44:51 -070047config TSC_SYNC_LFENCE
48 bool
49 default n
50 help
51 The CPU driver should select this if the CPU needs
52 to execute an lfence instruction in order to synchronize
53 rdtsc. This is true for all modern AMD CPUs.
54
55config TSC_SYNC_MFENCE
56 bool
57 default n
58 help
59 The CPU driver should select this if the CPU needs
60 to execute an mfence instruction in order to synchronize
61 rdtsc. This is true for all modern Intel CPUs.
62
Aaron Durbinef105292016-05-05 10:34:22 -050063config NO_FIXED_XIP_ROM_SIZE
64 bool
65 default n
66 help
67 The XIP_ROM_SIZE Kconfig variable is used globally on x86
68 with the assumption that all chipsets utilize this value.
69 For the chipsets which do not use the variable it can lead
70 to unnecessary alignment constraints in cbfs for romstage.
71 Therefore, allow those chipsets a path to not be burdened.
72
Uwe Hermannf9d4c2b2009-08-25 12:19:28 +000073config XIP_ROM_SIZE
Patrick Georgi0588d192009-08-12 15:00:51 +000074 hex
Aaron Durbinef105292016-05-05 10:34:22 -050075 depends on !NO_FIXED_XIP_ROM_SIZE
Patrick Georgif1ce6f22010-04-12 09:50:53 +000076 default 0x10000
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +000077
Arthur Heymans47be2d92019-10-12 17:32:09 +020078config SETUP_XIP_CACHE
79 bool
Arthur Heymans47be2d92019-10-12 17:32:09 +020080 depends on !NO_XIP_EARLY_STAGES
81 help
82 Select this option to set up an MTRR to cache XIP stages loaded
83 from the bootblock. This is useful on platforms lacking a
84 non-eviction mode and therefore need to be careful to avoid
85 eviction.
86
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +000087config CPU_ADDR_BITS
88 int
89 default 36
90
91config LOGICAL_CPUS
92 bool
93 default y
94
Kyösti Mälkki4d372c72019-07-08 13:48:57 +030095config HAVE_SMI_HANDLER
96 bool
97 default n
98 depends on (SMM_ASEG || SMM_TSEG)
99
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +0300100config NO_SMM
Kyösti Mälkki4d372c72019-07-08 13:48:57 +0300101 bool
102 default n
103
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +0300104config SMM_ASEG
Duncan Laurie8bb77232012-01-09 22:11:25 -0800105 bool
106 default n
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +0300107 depends on !NO_SMM
108
109config SMM_TSEG
110 bool
111 default y
112 depends on !(NO_SMM || SMM_ASEG)
113
114if SMM_TSEG
Aaron Durbin50a34642013-01-03 17:38:47 -0600115
116config SMM_MODULE_HEAP_SIZE
117 hex
118 default 0x4000
Aaron Durbin50a34642013-01-03 17:38:47 -0600119 help
120 This option determines the size of the heap within the SMM handler
121 modules.
Aaron Durbin57686f82013-03-20 15:50:59 -0500122
Raul E Rangeld3b83932018-06-12 10:43:09 -0600123config SMM_MODULE_STACK_SIZE
124 hex
125 default 0x400
Raul E Rangeld3b83932018-06-12 10:43:09 -0600126 help
127 This option determines the size of the stack within the SMM handler
128 modules.
129
Marshall Dawson46fc68472018-10-25 13:01:55 -0600130config SMM_STUB_STACK_SIZE
131 hex
132 default 0x400
Marshall Dawson46fc68472018-10-25 13:01:55 -0600133 help
134 This option determines the size of the stack within the SMM handler
135 modules.
136
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +0300137endif
138
Patrick Georgice2564a2015-09-05 20:21:24 +0200139config SMM_LAPIC_REMAP_MITIGATION
140 bool
141 default y if NORTHBRIDGE_INTEL_I945
142 default y if NORTHBRIDGE_INTEL_GM45
Angel Pons95de2312020-02-17 13:08:53 +0100143 default y if NORTHBRIDGE_INTEL_IRONLAKE
Patrick Georgice2564a2015-09-05 20:21:24 +0200144 default n
145
Damien Zammit149c4c52015-11-28 21:27:05 +1100146config SERIALIZED_SMM_INITIALIZATION
147 bool
148 default n
149 help
150 On some CPUs, there is a race condition in SMM.
151 This can occur when both hyperthreads change SMM state
152 variables in parallel without coordination.
153 Setting this option serializes the SMM initialization
154 to avoid an ugly hang in the boot process at the cost
155 of a slightly longer boot time.
156
Aaron Durbin57686f82013-03-20 15:50:59 -0500157config X86_AMD_FIXED_MTRRS
158 bool
159 default n
160 help
161 This option informs the MTRR code to use the RdMem and WrMem fields
162 in the fixed MTRR MSRs.
Aaron Durbine0785c02013-10-21 12:15:29 -0500163
Marshall Dawson98f43a12019-08-05 16:18:56 -0600164config X86_AMD_INIT_SIPI
165 bool
166 default n
167 help
168 This option limits the number of SIPI signals sent during during the
169 common AP setup. Intel documentation specifies an INIT SIPI SIPI
170 sequence, however this doesn't work on some AMD platforms.
171
Lee Leahyae738ac2016-07-24 08:03:37 -0700172config SOC_SETS_MSRS
173 bool
174 default n
175 help
176 The SoC requires different access methods for reading and writing
177 the MSRs. Use SoC specific routines to handle the MSR access.