blob: 7aba5c465832ea674a7d055d1984bff643c9ff72 [file] [log] [blame]
Stefan Reinauer9d5e36e2015-04-27 13:40:16 -07001config PARALLEL_MP
Kyösti Mälkki41a2c732021-05-29 21:23:18 +03002 def_bool y
3 depends on !LEGACY_SMP_INIT
4 depends on SMP
Stefan Reinauer9d5e36e2015-04-27 13:40:16 -07005 help
6 This option uses common MP infrastructure for bringing up APs
7 in parallel. It additionally provides a more flexible mechanism
8 for sequencing the steps of bringing up the APs.
9
Aaron Durbinb21e3622016-12-07 00:32:19 -060010config PARALLEL_MP_AP_WORK
11 def_bool n
12 depends on PARALLEL_MP
13 help
14 Allow APs to do other work after initialization instead of going
15 to sleep.
Stefan Reinauer9d5e36e2015-04-27 13:40:16 -070016
Kyösti Mälkki41a2c732021-05-29 21:23:18 +030017config LEGACY_SMP_INIT
18 bool
19
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
Arthur Heymans47be2d92019-10-12 17:32:09 +020063config SETUP_XIP_CACHE
64 bool
Arthur Heymans47be2d92019-10-12 17:32:09 +020065 depends on !NO_XIP_EARLY_STAGES
66 help
67 Select this option to set up an MTRR to cache XIP stages loaded
68 from the bootblock. This is useful on platforms lacking a
69 non-eviction mode and therefore need to be careful to avoid
70 eviction.
71
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +000072config CPU_ADDR_BITS
73 int
74 default 36
75
76config LOGICAL_CPUS
77 bool
78 default y
79
Kyösti Mälkki4d372c72019-07-08 13:48:57 +030080config HAVE_SMI_HANDLER
81 bool
82 default n
83 depends on (SMM_ASEG || SMM_TSEG)
84
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +030085config NO_SMM
Kyösti Mälkki4d372c72019-07-08 13:48:57 +030086 bool
87 default n
88
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +030089config SMM_ASEG
Duncan Laurie8bb77232012-01-09 22:11:25 -080090 bool
91 default n
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +030092 depends on !NO_SMM
93
94config SMM_TSEG
95 bool
96 default y
97 depends on !(NO_SMM || SMM_ASEG)
98
99if SMM_TSEG
Aaron Durbin50a34642013-01-03 17:38:47 -0600100
101config SMM_MODULE_HEAP_SIZE
102 hex
103 default 0x4000
Aaron Durbin50a34642013-01-03 17:38:47 -0600104 help
105 This option determines the size of the heap within the SMM handler
106 modules.
Aaron Durbin57686f82013-03-20 15:50:59 -0500107
Raul E Rangeld3b83932018-06-12 10:43:09 -0600108config SMM_MODULE_STACK_SIZE
109 hex
110 default 0x400
Raul E Rangeld3b83932018-06-12 10:43:09 -0600111 help
112 This option determines the size of the stack within the SMM handler
113 modules.
114
Marshall Dawson46fc68472018-10-25 13:01:55 -0600115config SMM_STUB_STACK_SIZE
116 hex
117 default 0x400
Marshall Dawson46fc68472018-10-25 13:01:55 -0600118 help
119 This option determines the size of the stack within the SMM handler
120 modules.
121
Kyösti Mälkki8abf66e2019-07-08 09:56:00 +0300122endif
123
Patrick Georgice2564a2015-09-05 20:21:24 +0200124config SMM_LAPIC_REMAP_MITIGATION
125 bool
126 default y if NORTHBRIDGE_INTEL_I945
127 default y if NORTHBRIDGE_INTEL_GM45
Angel Pons95de2312020-02-17 13:08:53 +0100128 default y if NORTHBRIDGE_INTEL_IRONLAKE
Patrick Georgice2564a2015-09-05 20:21:24 +0200129 default n
130
Damien Zammit149c4c52015-11-28 21:27:05 +1100131config SERIALIZED_SMM_INITIALIZATION
132 bool
133 default n
134 help
135 On some CPUs, there is a race condition in SMM.
136 This can occur when both hyperthreads change SMM state
137 variables in parallel without coordination.
138 Setting this option serializes the SMM initialization
139 to avoid an ugly hang in the boot process at the cost
140 of a slightly longer boot time.
141
Aaron Durbin57686f82013-03-20 15:50:59 -0500142config X86_AMD_FIXED_MTRRS
143 bool
144 default n
145 help
146 This option informs the MTRR code to use the RdMem and WrMem fields
147 in the fixed MTRR MSRs.
Aaron Durbine0785c02013-10-21 12:15:29 -0500148
Marshall Dawson98f43a12019-08-05 16:18:56 -0600149config X86_AMD_INIT_SIPI
150 bool
151 default n
152 help
153 This option limits the number of SIPI signals sent during during the
154 common AP setup. Intel documentation specifies an INIT SIPI SIPI
155 sequence, however this doesn't work on some AMD platforms.
156
Lee Leahyae738ac2016-07-24 08:03:37 -0700157config SOC_SETS_MSRS
158 bool
159 default n
160 help
161 The SoC requires different access methods for reading and writing
162 the MSRs. Use SoC specific routines to handle the MSR access.
Tim Wawrzynczak6fcc46d2021-04-19 13:47:36 -0600163
164config RESERVE_MTRRS_FOR_OS
165 bool
166 default n
167 help
168 This option allows a platform to reserve 2 MTRRs for the OS usage.
169 The Intel SDM documents that the the first 6 MTRRs are intended for
170 the system BIOS and the last 2 are to be reserved for OS usage.
171 However, modern OSes use PAT to control cacheability instead of
172 using MTRRs.