aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-14 21:53:11 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-14 21:53:11 -0500
commita052f4473603765eb6b4c19754689977601dc1d1 (patch)
treeae611127b9ed75c99f2654ec50c46f2313dfb728 /arch/x86/kernel
parent6f37ac793d6ba7b35d338f791974166f67fdd9ba (diff)
parentdaa93fab824f2b8c35bd11670c7fab2f32b2de5f (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/x86
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/x86: x86: enable "make ARCH=x86" x86: do not use $(ARCH) when not needed kconfig: use $K64BIT to set 64BIT with all*config targets kconfig: add helper to set config symbol from environment variable kconfig: factor out code in confdata.c x86: move the rest of the menu's to Kconfig x86: move all simple arch settings to Kconfig x86: copy x86_64 specific Kconfig symbols to Kconfig.i386 x86: add X86_64 dependency to x86_64 specific symbols in Kconfig.x86_64 x86: add X86_32 dependency to i386 specific symbols in Kconfig.i386 x86: arch/x86/Kconfig.cpu unification x86: start unification of arch/x86/Kconfig.* x86: unification of cfufreq/Kconfig
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/Makefile_323
-rw-r--r--arch/x86/kernel/Makefile_642
-rw-r--r--arch/x86/kernel/cpu/cpufreq/Kconfig (renamed from arch/x86/kernel/cpu/cpufreq/Kconfig_32)69
-rw-r--r--arch/x86/kernel/cpu/cpufreq/Kconfig_64108
4 files changed, 51 insertions, 131 deletions
diff --git a/arch/x86/kernel/Makefile_32 b/arch/x86/kernel/Makefile_32
index b9d679820306..a7bc93c27662 100644
--- a/arch/x86/kernel/Makefile_32
+++ b/arch/x86/kernel/Makefile_32
@@ -3,6 +3,7 @@
3# 3#
4 4
5extra-y := head_32.o init_task.o vmlinux.lds 5extra-y := head_32.o init_task.o vmlinux.lds
6CPPFLAGS_vmlinux.lds += -Ui386
6 7
7obj-y := process_32.o signal_32.o entry_32.o traps_32.o irq_32.o \ 8obj-y := process_32.o signal_32.o entry_32.o traps_32.o irq_32.o \
8 ptrace_32.o time_32.o ioport_32.o ldt_32.o setup_32.o i8259_32.o sys_i386_32.o \ 9 ptrace_32.o time_32.o ioport_32.o ldt_32.o setup_32.o i8259_32.o sys_i386_32.o \
@@ -60,7 +61,7 @@ quiet_cmd_syscall = SYSCALL $@
60 cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \ 61 cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \
61 -Wl,-T,$(filter-out FORCE,$^) -o $@ 62 -Wl,-T,$(filter-out FORCE,$^) -o $@
62 63
63export CPPFLAGS_vsyscall_32.lds += -P -C -U$(ARCH) 64export CPPFLAGS_vsyscall_32.lds += -P -C -Ui386
64 65
65vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \ 66vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
66 $(call ld-option, -Wl$(comma)--hash-style=sysv) 67 $(call ld-option, -Wl$(comma)--hash-style=sysv)
diff --git a/arch/x86/kernel/Makefile_64 b/arch/x86/kernel/Makefile_64
index 24671c3838b3..5a88890d8ee9 100644
--- a/arch/x86/kernel/Makefile_64
+++ b/arch/x86/kernel/Makefile_64
@@ -3,7 +3,9 @@
3# 3#
4 4
5extra-y := head_64.o head64.o init_task.o vmlinux.lds 5extra-y := head_64.o head64.o init_task.o vmlinux.lds
6CPPFLAGS_vmlinux.lds += -Ux86_64
6EXTRA_AFLAGS := -traditional 7EXTRA_AFLAGS := -traditional
8
7obj-y := process_64.o signal_64.o entry_64.o traps_64.o irq_64.o \ 9obj-y := process_64.o signal_64.o entry_64.o traps_64.o irq_64.o \
8 ptrace_64.o time_64.o ioport_64.o ldt_64.o setup_64.o i8259_64.o sys_x86_64.o \ 10 ptrace_64.o time_64.o ioport_64.o ldt_64.o setup_64.o i8259_64.o sys_x86_64.o \
9 x8664_ksyms_64.o i387_64.o syscall_64.o vsyscall_64.o \ 11 x8664_ksyms_64.o i387_64.o syscall_64.o vsyscall_64.o \
diff --git a/arch/x86/kernel/cpu/cpufreq/Kconfig_32 b/arch/x86/kernel/cpu/cpufreq/Kconfig
index d8c6f132dc7a..151eda0a23fc 100644
--- a/arch/x86/kernel/cpu/cpufreq/Kconfig_32
+++ b/arch/x86/kernel/cpu/cpufreq/Kconfig
@@ -19,6 +19,9 @@ config X86_ACPI_CPUFREQ
19 Processor Performance States. 19 Processor Performance States.
20 This driver also supports Intel Enhanced Speedstep. 20 This driver also supports Intel Enhanced Speedstep.
21 21
22 To compile this driver as a module, choose M here: the
23 module will be called acpi-cpufreq.
24
22 For details, take a look at <file:Documentation/cpu-freq/>. 25 For details, take a look at <file:Documentation/cpu-freq/>.
23 26
24 If in doubt, say N. 27 If in doubt, say N.
@@ -26,7 +29,7 @@ config X86_ACPI_CPUFREQ
26config ELAN_CPUFREQ 29config ELAN_CPUFREQ
27 tristate "AMD Elan SC400 and SC410" 30 tristate "AMD Elan SC400 and SC410"
28 select CPU_FREQ_TABLE 31 select CPU_FREQ_TABLE
29 depends on X86_ELAN 32 depends on X86_32 && X86_ELAN
30 ---help--- 33 ---help---
31 This adds the CPUFreq driver for AMD Elan SC400 and SC410 34 This adds the CPUFreq driver for AMD Elan SC400 and SC410
32 processors. 35 processors.
@@ -42,7 +45,7 @@ config ELAN_CPUFREQ
42config SC520_CPUFREQ 45config SC520_CPUFREQ
43 tristate "AMD Elan SC520" 46 tristate "AMD Elan SC520"
44 select CPU_FREQ_TABLE 47 select CPU_FREQ_TABLE
45 depends on X86_ELAN 48 depends on X86_32 && X86_ELAN
46 ---help--- 49 ---help---
47 This adds the CPUFreq driver for AMD Elan SC520 processor. 50 This adds the CPUFreq driver for AMD Elan SC520 processor.
48 51
@@ -54,6 +57,7 @@ config SC520_CPUFREQ
54config X86_POWERNOW_K6 57config X86_POWERNOW_K6
55 tristate "AMD Mobile K6-2/K6-3 PowerNow!" 58 tristate "AMD Mobile K6-2/K6-3 PowerNow!"
56 select CPU_FREQ_TABLE 59 select CPU_FREQ_TABLE
60 depends on X86_32
57 help 61 help
58 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile 62 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
59 AMD K6-3+ processors. 63 AMD K6-3+ processors.
@@ -65,6 +69,7 @@ config X86_POWERNOW_K6
65config X86_POWERNOW_K7 69config X86_POWERNOW_K7
66 tristate "AMD Mobile Athlon/Duron PowerNow!" 70 tristate "AMD Mobile Athlon/Duron PowerNow!"
67 select CPU_FREQ_TABLE 71 select CPU_FREQ_TABLE
72 depends on X86_32
68 help 73 help
69 This adds the CPUFreq driver for mobile AMD K7 mobile processors. 74 This adds the CPUFreq driver for mobile AMD K7 mobile processors.
70 75
@@ -76,23 +81,27 @@ config X86_POWERNOW_K7_ACPI
76 bool 81 bool
77 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR 82 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
78 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m) 83 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
84 depends on X86_32
79 default y 85 default y
80 86
81config X86_POWERNOW_K8 87config X86_POWERNOW_K8
82 tristate "AMD Opteron/Athlon64 PowerNow!" 88 tristate "AMD Opteron/Athlon64 PowerNow!"
83 select CPU_FREQ_TABLE 89 select CPU_FREQ_TABLE
84 depends on EXPERIMENTAL
85 help 90 help
86 This adds the CPUFreq driver for mobile AMD Opteron/Athlon64 processors. 91 This adds the CPUFreq driver for mobile AMD Opteron/Athlon64 processors.
87 92
93 To compile this driver as a module, choose M here: the
94 module will be called powernow-k8.
95
88 For details, take a look at <file:Documentation/cpu-freq/>. 96 For details, take a look at <file:Documentation/cpu-freq/>.
89 97
90 If in doubt, say N. 98 If in doubt, say N.
91 99
92config X86_POWERNOW_K8_ACPI 100config X86_POWERNOW_K8_ACPI
93 bool "ACPI Support" 101 bool
94 select ACPI_PROCESSOR 102 prompt "ACPI Support" if X86_32
95 depends on ACPI && X86_POWERNOW_K8 103 depends on ACPI && X86_POWERNOW_K8 && ACPI_PROCESSOR
104 depends on !(X86_POWERNOW_K8 = y && ACPI_PROCESSOR = m)
96 default y 105 default y
97 help 106 help
98 This provides access to the K8s Processor Performance States via ACPI. 107 This provides access to the K8s Processor Performance States via ACPI.
@@ -104,7 +113,7 @@ config X86_POWERNOW_K8_ACPI
104 113
105config X86_GX_SUSPMOD 114config X86_GX_SUSPMOD
106 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation" 115 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
107 depends on PCI 116 depends on X86_32 && PCI
108 help 117 help
109 This add the CPUFreq driver for NatSemi Geode processors which 118 This add the CPUFreq driver for NatSemi Geode processors which
110 support suspend modulation. 119 support suspend modulation.
@@ -114,15 +123,20 @@ config X86_GX_SUSPMOD
114 If in doubt, say N. 123 If in doubt, say N.
115 124
116config X86_SPEEDSTEP_CENTRINO 125config X86_SPEEDSTEP_CENTRINO
117 tristate "Intel Enhanced SpeedStep" 126 tristate "Intel Enhanced SpeedStep (deprecated)"
118 select CPU_FREQ_TABLE 127 select CPU_FREQ_TABLE
119 select X86_SPEEDSTEP_CENTRINO_TABLE 128 select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
129 depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
120 help 130 help
131 This is deprecated and this functionality is now merged into
132 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
133 speedstep_centrino.
121 This adds the CPUFreq driver for Enhanced SpeedStep enabled 134 This adds the CPUFreq driver for Enhanced SpeedStep enabled
122 mobile CPUs. This means Intel Pentium M (Centrino) CPUs. However, 135 mobile CPUs. This means Intel Pentium M (Centrino) CPUs
123 you also need to say Y to "Use ACPI tables to decode..." below 136 or 64bit enabled Intel Xeons.
124 [which might imply enabling ACPI] if you want to use this driver 137
125 on non-Banias CPUs. 138 To compile this driver as a module, choose M here: the
139 module will be called speedstep-centrino.
126 140
127 For details, take a look at <file:Documentation/cpu-freq/>. 141 For details, take a look at <file:Documentation/cpu-freq/>.
128 142
@@ -130,7 +144,7 @@ config X86_SPEEDSTEP_CENTRINO
130 144
131config X86_SPEEDSTEP_CENTRINO_TABLE 145config X86_SPEEDSTEP_CENTRINO_TABLE
132 bool "Built-in tables for Banias CPUs" 146 bool "Built-in tables for Banias CPUs"
133 depends on X86_SPEEDSTEP_CENTRINO 147 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
134 default y 148 default y
135 help 149 help
136 Use built-in tables for Banias CPUs if ACPI encoding 150 Use built-in tables for Banias CPUs if ACPI encoding
@@ -141,6 +155,7 @@ config X86_SPEEDSTEP_CENTRINO_TABLE
141config X86_SPEEDSTEP_ICH 155config X86_SPEEDSTEP_ICH
142 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)" 156 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
143 select CPU_FREQ_TABLE 157 select CPU_FREQ_TABLE
158 depends on X86_32
144 help 159 help
145 This adds the CPUFreq driver for certain mobile Intel Pentium III 160 This adds the CPUFreq driver for certain mobile Intel Pentium III
146 (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all 161 (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
@@ -154,7 +169,7 @@ config X86_SPEEDSTEP_ICH
154config X86_SPEEDSTEP_SMI 169config X86_SPEEDSTEP_SMI
155 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)" 170 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
156 select CPU_FREQ_TABLE 171 select CPU_FREQ_TABLE
157 depends on EXPERIMENTAL 172 depends on X86_32 && EXPERIMENTAL
158 help 173 help
159 This adds the CPUFreq driver for certain mobile Intel Pentium III 174 This adds the CPUFreq driver for certain mobile Intel Pentium III
160 (Coppermine), all mobile Intel Pentium III-M (Tualatin) 175 (Coppermine), all mobile Intel Pentium III-M (Tualatin)
@@ -169,15 +184,24 @@ config X86_P4_CLOCKMOD
169 select CPU_FREQ_TABLE 184 select CPU_FREQ_TABLE
170 help 185 help
171 This adds the CPUFreq driver for Intel Pentium 4 / XEON 186 This adds the CPUFreq driver for Intel Pentium 4 / XEON
172 processors. 187 processors. When enabled it will lower CPU temperature by skipping
188 clocks.
189
190 This driver should be only used in exceptional
191 circumstances when very low power is needed because it causes severe
192 slowdowns and noticeable latencies. Normally Speedstep should be used
193 instead.
194
195 To compile this driver as a module, choose M here: the
196 module will be called p4-clockmod.
173 197
174 For details, take a look at <file:Documentation/cpu-freq/>. 198 For details, take a look at <file:Documentation/cpu-freq/>.
175 199
176 If in doubt, say N. 200 Unless you are absolutely sure say N.
177 201
178config X86_CPUFREQ_NFORCE2 202config X86_CPUFREQ_NFORCE2
179 tristate "nVidia nForce2 FSB changing" 203 tristate "nVidia nForce2 FSB changing"
180 depends on EXPERIMENTAL 204 depends on X86_32 && EXPERIMENTAL
181 help 205 help
182 This adds the CPUFreq driver for FSB changing on nVidia nForce2 206 This adds the CPUFreq driver for FSB changing on nVidia nForce2
183 platforms. 207 platforms.
@@ -188,6 +212,7 @@ config X86_CPUFREQ_NFORCE2
188 212
189config X86_LONGRUN 213config X86_LONGRUN
190 tristate "Transmeta LongRun" 214 tristate "Transmeta LongRun"
215 depends on X86_32
191 help 216 help
192 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors 217 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
193 which support LongRun. 218 which support LongRun.
@@ -199,7 +224,7 @@ config X86_LONGRUN
199config X86_LONGHAUL 224config X86_LONGHAUL
200 tristate "VIA Cyrix III Longhaul" 225 tristate "VIA Cyrix III Longhaul"
201 select CPU_FREQ_TABLE 226 select CPU_FREQ_TABLE
202 depends on ACPI_PROCESSOR 227 depends on X86_32 && ACPI_PROCESSOR
203 help 228 help
204 This adds the CPUFreq driver for VIA Samuel/CyrixIII, 229 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
205 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T 230 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
@@ -212,7 +237,7 @@ config X86_LONGHAUL
212config X86_E_POWERSAVER 237config X86_E_POWERSAVER
213 tristate "VIA C7 Enhanced PowerSaver (EXPERIMENTAL)" 238 tristate "VIA C7 Enhanced PowerSaver (EXPERIMENTAL)"
214 select CPU_FREQ_TABLE 239 select CPU_FREQ_TABLE
215 depends on EXPERIMENTAL 240 depends on X86_32 && EXPERIMENTAL
216 help 241 help
217 This adds the CPUFreq driver for VIA C7 processors. 242 This adds the CPUFreq driver for VIA C7 processors.
218 243
@@ -233,11 +258,11 @@ config X86_ACPI_CPUFREQ_PROC_INTF
233 258
234config X86_SPEEDSTEP_LIB 259config X86_SPEEDSTEP_LIB
235 tristate 260 tristate
236 default X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD 261 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
237 262
238config X86_SPEEDSTEP_RELAXED_CAP_CHECK 263config X86_SPEEDSTEP_RELAXED_CAP_CHECK
239 bool "Relaxed speedstep capability checks" 264 bool "Relaxed speedstep capability checks"
240 depends on (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH) 265 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
241 help 266 help
242 Don't perform all checks for a speedstep capable system which would 267 Don't perform all checks for a speedstep capable system which would
243 normally be done. Some ancient or strange systems, though speedstep 268 normally be done. Some ancient or strange systems, though speedstep
diff --git a/arch/x86/kernel/cpu/cpufreq/Kconfig_64 b/arch/x86/kernel/cpu/cpufreq/Kconfig_64
deleted file mode 100644
index 9c9699fdcf52..000000000000
--- a/arch/x86/kernel/cpu/cpufreq/Kconfig_64
+++ /dev/null
@@ -1,108 +0,0 @@
1#
2# CPU Frequency scaling
3#
4
5menu "CPU Frequency scaling"
6
7source "drivers/cpufreq/Kconfig"
8
9if CPU_FREQ
10
11comment "CPUFreq processor drivers"
12
13config X86_POWERNOW_K8
14 tristate "AMD Opteron/Athlon64 PowerNow!"
15 select CPU_FREQ_TABLE
16 help
17 This adds the CPUFreq driver for mobile AMD Opteron/Athlon64 processors.
18
19 To compile this driver as a module, choose M here: the
20 module will be called powernow-k8.
21
22 For details, take a look at <file:Documentation/cpu-freq/>.
23
24 If in doubt, say N.
25
26config X86_POWERNOW_K8_ACPI
27 bool
28 depends on X86_POWERNOW_K8 && ACPI_PROCESSOR
29 depends on !(X86_POWERNOW_K8 = y && ACPI_PROCESSOR = m)
30 default y
31
32config X86_SPEEDSTEP_CENTRINO
33 tristate "Intel Enhanced SpeedStep (deprecated)"
34 select CPU_FREQ_TABLE
35 depends on ACPI_PROCESSOR
36 help
37 This is deprecated and this functionality is now merged into
38 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
39 speedstep_centrino.
40 This adds the CPUFreq driver for Enhanced SpeedStep enabled
41 mobile CPUs. This means Intel Pentium M (Centrino) CPUs
42 or 64bit enabled Intel Xeons.
43
44 To compile this driver as a module, choose M here: the
45 module will be called speedstep-centrino.
46
47 For details, take a look at <file:Documentation/cpu-freq/>.
48
49 If in doubt, say N.
50
51config X86_ACPI_CPUFREQ
52 tristate "ACPI Processor P-States driver"
53 select CPU_FREQ_TABLE
54 depends on ACPI_PROCESSOR
55 help
56 This driver adds a CPUFreq driver which utilizes the ACPI
57 Processor Performance States.
58 This driver also supports Intel Enhanced Speedstep.
59
60 To compile this driver as a module, choose M here: the
61 module will be called acpi-cpufreq.
62
63 For details, take a look at <file:Documentation/cpu-freq/>.
64
65 If in doubt, say N.
66
67comment "shared options"
68
69config X86_ACPI_CPUFREQ_PROC_INTF
70 bool "/proc/acpi/processor/../performance interface (deprecated)"
71 depends on PROC_FS
72 depends on X86_ACPI_CPUFREQ || X86_POWERNOW_K8_ACPI
73 help
74 This enables the deprecated /proc/acpi/processor/../performance
75 interface. While it is helpful for debugging, the generic,
76 cross-architecture cpufreq interfaces should be used.
77
78 If in doubt, say N.
79
80config X86_P4_CLOCKMOD
81 tristate "Intel Pentium 4 clock modulation"
82 depends on EMBEDDED
83 select CPU_FREQ_TABLE
84 help
85 This adds the clock modulation driver for Intel Pentium 4 / XEON
86 processors. When enabled it will lower CPU temperature by skipping
87 clocks.
88
89 This driver should be only used in exceptional
90 circumstances when very low power is needed because it causes severe
91 slowdowns and noticeable latencies. Normally Speedstep should be used
92 instead.
93
94 To compile this driver as a module, choose M here: the
95 module will be called p4-clockmod.
96
97 For details, take a look at <file:Documentation/cpu-freq/>.
98
99 Unless you are absolutely sure say N.
100
101
102config X86_SPEEDSTEP_LIB
103 tristate
104 default X86_P4_CLOCKMOD
105
106endif
107
108endmenu