blob: caee5dbd107768091cefa356b43c1af69da86142 [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
Aaron Durbin8e73b5d2013-05-01 15:27:09 -050037config TSC_CONSTANT_RATE
38 def_bool n
39 depends on UDELAY_TSC
40 help
41 This option asserts that the TSC ticks at a known constant rate.
42 Therefore, no TSC calibration is required.
43
Aaron Durbine8501642013-04-29 22:22:55 -050044config TSC_MONOTONIC_TIMER
45 def_bool n
46 depends on UDELAY_TSC
Aaron Durbine8501642013-04-29 22:22:55 -050047 help
48 Expose monotonic time using the TSC.
49
Stefan Reinauer0db68202012-08-07 14:44:51 -070050config TSC_SYNC_LFENCE
51 bool
52 default n
53 help
54 The CPU driver should select this if the CPU needs
55 to execute an lfence instruction in order to synchronize
56 rdtsc. This is true for all modern AMD CPUs.
57
58config TSC_SYNC_MFENCE
59 bool
60 default n
61 help
62 The CPU driver should select this if the CPU needs
63 to execute an mfence instruction in order to synchronize
64 rdtsc. This is true for all modern Intel CPUs.
65
Aaron Durbinef105292016-05-05 10:34:22 -050066config NO_FIXED_XIP_ROM_SIZE
67 bool
68 default n
69 help
70 The XIP_ROM_SIZE Kconfig variable is used globally on x86
71 with the assumption that all chipsets utilize this value.
72 For the chipsets which do not use the variable it can lead
73 to unnecessary alignment constraints in cbfs for romstage.
74 Therefore, allow those chipsets a path to not be burdened.
75
Uwe Hermannf9d4c2b2009-08-25 12:19:28 +000076config XIP_ROM_SIZE
Patrick Georgi0588d192009-08-12 15:00:51 +000077 hex
Aaron Durbinef105292016-05-05 10:34:22 -050078 depends on !NO_FIXED_XIP_ROM_SIZE
Patrick Georgif1ce6f22010-04-12 09:50:53 +000079 default 0x10000
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +000080
81config CPU_ADDR_BITS
82 int
83 default 36
84
85config LOGICAL_CPUS
86 bool
87 default y
88
Kyösti Mälkki4d372c72019-07-08 13:48:57 +030089config HAVE_SMI_HANDLER
90 bool
91 default n
92 depends on (SMM_ASEG || SMM_TSEG)
93
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +030094config NO_SMM
Kyösti Mälkki4d372c72019-07-08 13:48:57 +030095 bool
96 default n
97
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +030098config SMM_ASEG
Duncan Laurie8bb77232012-01-09 22:11:25 -080099 bool
100 default n
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +0300101 depends on !NO_SMM
102
103config SMM_TSEG
104 bool
105 default y
106 depends on !(NO_SMM || SMM_ASEG)
107
108if SMM_TSEG
Aaron Durbin50a34642013-01-03 17:38:47 -0600109
110config SMM_MODULE_HEAP_SIZE
111 hex
112 default 0x4000
Aaron Durbin50a34642013-01-03 17:38:47 -0600113 help
114 This option determines the size of the heap within the SMM handler
115 modules.
Aaron Durbin57686f82013-03-20 15:50:59 -0500116
Raul E Rangeld3b83932018-06-12 10:43:09 -0600117config SMM_MODULE_STACK_SIZE
118 hex
119 default 0x400
Raul E Rangeld3b83932018-06-12 10:43:09 -0600120 help
121 This option determines the size of the stack within the SMM handler
122 modules.
123
Marshall Dawson46fc68472018-10-25 13:01:55 -0600124config SMM_STUB_STACK_SIZE
125 hex
126 default 0x400
Marshall Dawson46fc68472018-10-25 13:01:55 -0600127 help
128 This option determines the size of the stack within the SMM handler
129 modules.
130
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +0300131endif
132
Patrick Georgice2564a2015-09-05 20:21:24 +0200133config SMM_LAPIC_REMAP_MITIGATION
134 bool
135 default y if NORTHBRIDGE_INTEL_I945
136 default y if NORTHBRIDGE_INTEL_GM45
137 default y if NORTHBRIDGE_INTEL_NEHALEM
138 default n
139
Damien Zammit149c4c52015-11-28 21:27:05 +1100140config SERIALIZED_SMM_INITIALIZATION
141 bool
142 default n
143 help
144 On some CPUs, there is a race condition in SMM.
145 This can occur when both hyperthreads change SMM state
146 variables in parallel without coordination.
147 Setting this option serializes the SMM initialization
148 to avoid an ugly hang in the boot process at the cost
149 of a slightly longer boot time.
150
Aaron Durbin57686f82013-03-20 15:50:59 -0500151config X86_AMD_FIXED_MTRRS
152 bool
153 default n
154 help
155 This option informs the MTRR code to use the RdMem and WrMem fields
156 in the fixed MTRR MSRs.
Aaron Durbine0785c02013-10-21 12:15:29 -0500157
Aaron Durbinc34713d2014-02-25 20:36:56 -0600158config MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING
159 def_bool n
160 help
161 On certain platforms a boot speed gain can be realized if mirroring
162 the payload data stored in non-volatile storage. On x86 systems the
163 payload would typically live in a memory-mapped SPI part. Copying
Daniele Forsi53847a22014-07-22 18:00:56 +0200164 the SPI contents to RAM before performing the load can speed up
Aaron Durbinc34713d2014-02-25 20:36:56 -0600165 the boot process.
David Hendricksbe6f8cb2014-03-21 17:09:29 -0700166
Lee Leahyae738ac2016-07-24 08:03:37 -0700167config SOC_SETS_MSRS
168 bool
169 default n
170 help
171 The SoC requires different access methods for reading and writing
172 the MSRs. Use SoC specific routines to handle the MSR access.