aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/Kconfig.debug8
-rw-r--r--arch/x86/Kconfig.x86_6411
-rw-r--r--arch/x86/configs/x86_64_defconfig2
-rw-r--r--arch/x86/kernel/Makefile_642
-rw-r--r--arch/x86/kernel/aperture_64.c15
-rw-r--r--arch/x86/kernel/cpu/proc.c10
-rw-r--r--arch/x86/kernel/early-quirks.c10
-rw-r--r--arch/x86/kernel/pci-calgary_64.c2
-rw-r--r--arch/x86/kernel/pci-dma_64.c10
-rw-r--r--arch/x86/kernel/pci-gart_64.c20
-rw-r--r--arch/x86/kernel/pci-nommu_64.c2
-rw-r--r--arch/x86/kernel/pci-swiotlb_64.c2
-rw-r--r--arch/x86/kernel/reboot_64.c2
-rw-r--r--arch/x86/kernel/setup_32.c3
-rw-r--r--arch/x86/kernel/setup_64.c10
-rw-r--r--arch/x86/mm/discontig_32.c4
-rw-r--r--arch/x86/mm/init_64.c6
17 files changed, 51 insertions, 68 deletions
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 970b2defe7df..761ca7b5f120 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -6,9 +6,8 @@ config TRACE_IRQFLAGS_SUPPORT
6source "lib/Kconfig.debug" 6source "lib/Kconfig.debug"
7 7
8config EARLY_PRINTK 8config EARLY_PRINTK
9 bool "Early printk" if EMBEDDED && DEBUG_KERNEL 9 bool "Early printk" if EMBEDDED && DEBUG_KERNEL && X86_32
10 default y 10 default y
11 depends on X86_32
12 help 11 help
13 Write kernel log output directly into the VGA buffer or to a serial 12 Write kernel log output directly into the VGA buffer or to a serial
14 port. 13 port.
@@ -91,7 +90,7 @@ config DOUBLEFAULT
91 90
92config IOMMU_DEBUG 91config IOMMU_DEBUG
93 bool "Enable IOMMU debugging" 92 bool "Enable IOMMU debugging"
94 depends on IOMMU && DEBUG_KERNEL 93 depends on GART_IOMMU && DEBUG_KERNEL
95 depends on X86_64 94 depends on X86_64
96 help 95 help
97 Force the IOMMU to on even when you have less than 4GB of 96 Force the IOMMU to on even when you have less than 4GB of
@@ -113,7 +112,4 @@ config IOMMU_LEAK
113 Add a simple leak tracer to the IOMMU code. This is useful when you 112 Add a simple leak tracer to the IOMMU code. This is useful when you
114 are debugging a buggy device driver that leaks IOMMU mappings. 113 are debugging a buggy device driver that leaks IOMMU mappings.
115 114
116#config X86_REMOTE_DEBUG
117# bool "kgdb debugging stub"
118
119endmenu 115endmenu
diff --git a/arch/x86/Kconfig.x86_64 b/arch/x86/Kconfig.x86_64
index e2542e5b536c..cc468ea61240 100644
--- a/arch/x86/Kconfig.x86_64
+++ b/arch/x86/Kconfig.x86_64
@@ -97,10 +97,6 @@ config X86_CMPXCHG
97 bool 97 bool
98 default y 98 default y
99 99
100config EARLY_PRINTK
101 bool
102 default y
103
104config GENERIC_ISA_DMA 100config GENERIC_ISA_DMA
105 bool 101 bool
106 default y 102 default y
@@ -479,8 +475,8 @@ config HPET_EMULATE_RTC
479 475
480# Mark as embedded because too many people got it wrong. 476# Mark as embedded because too many people got it wrong.
481# The code disables itself when not needed. 477# The code disables itself when not needed.
482config IOMMU 478config GART_IOMMU
483 bool "IOMMU support" if EMBEDDED 479 bool "GART IOMMU support" if EMBEDDED
484 default y 480 default y
485 select SWIOTLB 481 select SWIOTLB
486 select AGP 482 select AGP
@@ -687,7 +683,7 @@ source kernel/Kconfig.hz
687 683
688config K8_NB 684config K8_NB
689 def_bool y 685 def_bool y
690 depends on AGP_AMD64 || IOMMU || (PCI && NUMA) 686 depends on AGP_AMD64 || GART_IOMMU || (PCI && NUMA)
691 687
692endmenu 688endmenu
693 689
@@ -753,7 +749,6 @@ config PCI_DOMAINS
753config DMAR 749config DMAR
754 bool "Support for DMA Remapping Devices (EXPERIMENTAL)" 750 bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
755 depends on PCI_MSI && ACPI && EXPERIMENTAL 751 depends on PCI_MSI && ACPI && EXPERIMENTAL
756 default y
757 help 752 help
758 DMA remapping (DMAR) devices support enables independent address 753 DMA remapping (DMAR) devices support enables independent address
759 translations for Direct Memory Access (DMA) from devices. 754 translations for Direct Memory Access (DMA) from devices.
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
index b091c5e35558..38a83f9c966f 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -170,7 +170,7 @@ CONFIG_HOTPLUG_CPU=y
170CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 170CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
171CONFIG_HPET_TIMER=y 171CONFIG_HPET_TIMER=y
172CONFIG_HPET_EMULATE_RTC=y 172CONFIG_HPET_EMULATE_RTC=y
173CONFIG_IOMMU=y 173CONFIG_GART_IOMMU=y
174# CONFIG_CALGARY_IOMMU is not set 174# CONFIG_CALGARY_IOMMU is not set
175CONFIG_SWIOTLB=y 175CONFIG_SWIOTLB=y
176CONFIG_X86_MCE=y 176CONFIG_X86_MCE=y
diff --git a/arch/x86/kernel/Makefile_64 b/arch/x86/kernel/Makefile_64
index 466337ae9a1e..24671c3838b3 100644
--- a/arch/x86/kernel/Makefile_64
+++ b/arch/x86/kernel/Makefile_64
@@ -25,7 +25,7 @@ obj-$(CONFIG_CRASH_DUMP) += crash_dump_64.o
25obj-$(CONFIG_PM) += suspend_64.o 25obj-$(CONFIG_PM) += suspend_64.o
26obj-$(CONFIG_HIBERNATION) += suspend_asm_64.o 26obj-$(CONFIG_HIBERNATION) += suspend_asm_64.o
27obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 27obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
28obj-$(CONFIG_IOMMU) += pci-gart_64.o aperture_64.o 28obj-$(CONFIG_GART_IOMMU) += pci-gart_64.o aperture_64.o
29obj-$(CONFIG_CALGARY_IOMMU) += pci-calgary_64.o tce_64.o 29obj-$(CONFIG_CALGARY_IOMMU) += pci-calgary_64.o tce_64.o
30obj-$(CONFIG_SWIOTLB) += pci-swiotlb_64.o 30obj-$(CONFIG_SWIOTLB) += pci-swiotlb_64.o
31obj-$(CONFIG_KPROBES) += kprobes_64.o 31obj-$(CONFIG_KPROBES) += kprobes_64.o
diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
index 8f681cae7bf7..5b6992799c9d 100644
--- a/arch/x86/kernel/aperture_64.c
+++ b/arch/x86/kernel/aperture_64.c
@@ -20,14 +20,14 @@
20#include <linux/ioport.h> 20#include <linux/ioport.h>
21#include <asm/e820.h> 21#include <asm/e820.h>
22#include <asm/io.h> 22#include <asm/io.h>
23#include <asm/iommu.h> 23#include <asm/gart.h>
24#include <asm/pci-direct.h> 24#include <asm/pci-direct.h>
25#include <asm/dma.h> 25#include <asm/dma.h>
26#include <asm/k8.h> 26#include <asm/k8.h>
27 27
28int iommu_aperture; 28int gart_iommu_aperture;
29int iommu_aperture_disabled __initdata = 0; 29int gart_iommu_aperture_disabled __initdata = 0;
30int iommu_aperture_allowed __initdata = 0; 30int gart_iommu_aperture_allowed __initdata = 0;
31 31
32int fallback_aper_order __initdata = 1; /* 64MB */ 32int fallback_aper_order __initdata = 1; /* 64MB */
33int fallback_aper_force __initdata = 0; 33int fallback_aper_force __initdata = 0;
@@ -204,14 +204,15 @@ static __u32 __init search_agp_bridge(u32 *order, int *valid_agp)
204 return 0; 204 return 0;
205} 205}
206 206
207void __init iommu_hole_init(void) 207void __init gart_iommu_hole_init(void)
208{ 208{
209 int fix, num; 209 int fix, num;
210 u32 aper_size, aper_alloc = 0, aper_order = 0, last_aper_order = 0; 210 u32 aper_size, aper_alloc = 0, aper_order = 0, last_aper_order = 0;
211 u64 aper_base, last_aper_base = 0; 211 u64 aper_base, last_aper_base = 0;
212 int valid_agp = 0; 212 int valid_agp = 0;
213 213
214 if (iommu_aperture_disabled || !fix_aperture || !early_pci_allowed()) 214 if (gart_iommu_aperture_disabled || !fix_aperture ||
215 !early_pci_allowed())
215 return; 216 return;
216 217
217 printk(KERN_INFO "Checking aperture...\n"); 218 printk(KERN_INFO "Checking aperture...\n");
@@ -222,7 +223,7 @@ void __init iommu_hole_init(void)
222 continue; 223 continue;
223 224
224 iommu_detected = 1; 225 iommu_detected = 1;
225 iommu_aperture = 1; 226 gart_iommu_aperture = 1;
226 227
227 aper_order = (read_pci_config(0, num, 3, 0x90) >> 1) & 7; 228 aper_order = (read_pci_config(0, num, 3, 0x90) >> 1) & 7;
228 aper_size = (32 * 1024 * 1024) << aper_order; 229 aper_size = (32 * 1024 * 1024) << aper_order;
diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c
index 2d42b414b777..066f8c6af4df 100644
--- a/arch/x86/kernel/cpu/proc.c
+++ b/arch/x86/kernel/cpu/proc.c
@@ -49,7 +49,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
49 /* Intel-defined (#2) */ 49 /* Intel-defined (#2) */
50 "pni", NULL, NULL, "monitor", "ds_cpl", "vmx", "smx", "est", 50 "pni", NULL, NULL, "monitor", "ds_cpl", "vmx", "smx", "est",
51 "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL, 51 "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL,
52 NULL, NULL, "dca", NULL, NULL, NULL, NULL, "popcnt", 52 NULL, NULL, "dca", "sse4_1", "sse4_2", NULL, NULL, "popcnt",
53 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 53 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
54 54
55 /* VIA/Cyrix/Centaur-defined */ 55 /* VIA/Cyrix/Centaur-defined */
@@ -59,10 +59,10 @@ static int show_cpuinfo(struct seq_file *m, void *v)
59 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 59 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
60 60
61 /* AMD-defined (#2) */ 61 /* AMD-defined (#2) */
62 "lahf_lm", "cmp_legacy", "svm", "extapic", "cr8_legacy", 62 "lahf_lm", "cmp_legacy", "svm", "extapic",
63 "altmovcr8", "abm", "sse4a", 63 "cr8_legacy", "abm", "sse4a", "misalignsse",
64 "misalignsse", "3dnowprefetch", 64 "3dnowprefetch", "osvw", "ibs", "sse5",
65 "osvw", "ibs", NULL, NULL, NULL, NULL, 65 "skinit", "wdt", NULL, NULL,
66 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 66 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
67 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 67 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
68 68
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index 639e6320518e..88bb83ec895f 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -17,19 +17,19 @@
17#include <asm/io_apic.h> 17#include <asm/io_apic.h>
18#include <asm/apic.h> 18#include <asm/apic.h>
19 19
20#ifdef CONFIG_IOMMU 20#ifdef CONFIG_GART_IOMMU
21#include <asm/iommu.h> 21#include <asm/gart.h>
22#endif 22#endif
23 23
24static void __init via_bugs(void) 24static void __init via_bugs(void)
25{ 25{
26#ifdef CONFIG_IOMMU 26#ifdef CONFIG_GART_IOMMU
27 if ((end_pfn > MAX_DMA32_PFN || force_iommu) && 27 if ((end_pfn > MAX_DMA32_PFN || force_iommu) &&
28 !iommu_aperture_allowed) { 28 !gart_iommu_aperture_allowed) {
29 printk(KERN_INFO 29 printk(KERN_INFO
30 "Looks like a VIA chipset. Disabling IOMMU." 30 "Looks like a VIA chipset. Disabling IOMMU."
31 " Override with iommu=allowed\n"); 31 " Override with iommu=allowed\n");
32 iommu_aperture_disabled = 1; 32 gart_iommu_aperture_disabled = 1;
33 } 33 }
34#endif 34#endif
35} 35}
diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c
index 1a20fe31338b..6bf1f716909d 100644
--- a/arch/x86/kernel/pci-calgary_64.c
+++ b/arch/x86/kernel/pci-calgary_64.c
@@ -36,7 +36,7 @@
36#include <linux/pci.h> 36#include <linux/pci.h>
37#include <linux/delay.h> 37#include <linux/delay.h>
38#include <linux/scatterlist.h> 38#include <linux/scatterlist.h>
39#include <asm/iommu.h> 39#include <asm/gart.h>
40#include <asm/calgary.h> 40#include <asm/calgary.h>
41#include <asm/tce.h> 41#include <asm/tce.h>
42#include <asm/pci-direct.h> 42#include <asm/pci-direct.h>
diff --git a/arch/x86/kernel/pci-dma_64.c b/arch/x86/kernel/pci-dma_64.c
index 393e2725a6e3..aa805b11b24f 100644
--- a/arch/x86/kernel/pci-dma_64.c
+++ b/arch/x86/kernel/pci-dma_64.c
@@ -9,7 +9,7 @@
9#include <linux/module.h> 9#include <linux/module.h>
10#include <linux/dmar.h> 10#include <linux/dmar.h>
11#include <asm/io.h> 11#include <asm/io.h>
12#include <asm/iommu.h> 12#include <asm/gart.h>
13#include <asm/calgary.h> 13#include <asm/calgary.h>
14 14
15int iommu_merge __read_mostly = 1; 15int iommu_merge __read_mostly = 1;
@@ -275,7 +275,7 @@ __init int iommu_setup(char *p)
275 swiotlb = 1; 275 swiotlb = 1;
276#endif 276#endif
277 277
278#ifdef CONFIG_IOMMU 278#ifdef CONFIG_GART_IOMMU
279 gart_parse_options(p); 279 gart_parse_options(p);
280#endif 280#endif
281 281
@@ -298,8 +298,8 @@ void __init pci_iommu_alloc(void)
298 * The order of these functions is important for 298 * The order of these functions is important for
299 * fall-back/fail-over reasons 299 * fall-back/fail-over reasons
300 */ 300 */
301#ifdef CONFIG_IOMMU 301#ifdef CONFIG_GART_IOMMU
302 iommu_hole_init(); 302 gart_iommu_hole_init();
303#endif 303#endif
304 304
305#ifdef CONFIG_CALGARY_IOMMU 305#ifdef CONFIG_CALGARY_IOMMU
@@ -321,7 +321,7 @@ static int __init pci_iommu_init(void)
321 321
322 intel_iommu_init(); 322 intel_iommu_init();
323 323
324#ifdef CONFIG_IOMMU 324#ifdef CONFIG_GART_IOMMU
325 gart_iommu_init(); 325 gart_iommu_init();
326#endif 326#endif
327 327
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
index ae7e0161ce46..06bcba536045 100644
--- a/arch/x86/kernel/pci-gart_64.c
+++ b/arch/x86/kernel/pci-gart_64.c
@@ -30,17 +30,17 @@
30#include <asm/mtrr.h> 30#include <asm/mtrr.h>
31#include <asm/pgtable.h> 31#include <asm/pgtable.h>
32#include <asm/proto.h> 32#include <asm/proto.h>
33#include <asm/iommu.h> 33#include <asm/gart.h>
34#include <asm/cacheflush.h> 34#include <asm/cacheflush.h>
35#include <asm/swiotlb.h> 35#include <asm/swiotlb.h>
36#include <asm/dma.h> 36#include <asm/dma.h>
37#include <asm/k8.h> 37#include <asm/k8.h>
38 38
39unsigned long iommu_bus_base; /* GART remapping area (physical) */ 39static unsigned long iommu_bus_base; /* GART remapping area (physical) */
40static unsigned long iommu_size; /* size of remapping area bytes */ 40static unsigned long iommu_size; /* size of remapping area bytes */
41static unsigned long iommu_pages; /* .. and in pages */ 41static unsigned long iommu_pages; /* .. and in pages */
42 42
43u32 *iommu_gatt_base; /* Remapping table */ 43static u32 *iommu_gatt_base; /* Remapping table */
44 44
45/* If this is disabled the IOMMU will use an optimized flushing strategy 45/* If this is disabled the IOMMU will use an optimized flushing strategy
46 of only flushing when an mapping is reused. With it true the GART is flushed 46 of only flushing when an mapping is reused. With it true the GART is flushed
@@ -135,8 +135,8 @@ static void flush_gart(void)
135/* Debugging aid for drivers that don't free their IOMMU tables */ 135/* Debugging aid for drivers that don't free their IOMMU tables */
136static void **iommu_leak_tab; 136static void **iommu_leak_tab;
137static int leak_trace; 137static int leak_trace;
138int iommu_leak_pages = 20; 138static int iommu_leak_pages = 20;
139void dump_leak(void) 139static void dump_leak(void)
140{ 140{
141 int i; 141 int i;
142 static int dump; 142 static int dump;
@@ -435,7 +435,7 @@ static int gart_map_sg(struct device *dev, struct scatterlist *sg, int nents,
435 435
436error: 436error:
437 flush_gart(); 437 flush_gart();
438 gart_unmap_sg(dev, sg, nents, dir); 438 gart_unmap_sg(dev, sg, out, dir);
439 /* When it was forced or merged try again in a dumb way */ 439 /* When it was forced or merged try again in a dumb way */
440 if (force_iommu || iommu_merge) { 440 if (force_iommu || iommu_merge) {
441 out = dma_map_sg_nonforce(dev, sg, nents, dir); 441 out = dma_map_sg_nonforce(dev, sg, nents, dir);
@@ -627,12 +627,12 @@ void __init gart_iommu_init(void)
627 return; 627 return;
628 628
629 /* Did we detect a different HW IOMMU? */ 629 /* Did we detect a different HW IOMMU? */
630 if (iommu_detected && !iommu_aperture) 630 if (iommu_detected && !gart_iommu_aperture)
631 return; 631 return;
632 632
633 if (no_iommu || 633 if (no_iommu ||
634 (!force_iommu && end_pfn <= MAX_DMA32_PFN) || 634 (!force_iommu && end_pfn <= MAX_DMA32_PFN) ||
635 !iommu_aperture || 635 !gart_iommu_aperture ||
636 (no_agp && init_k8_gatt(&info) < 0)) { 636 (no_agp && init_k8_gatt(&info) < 0)) {
637 if (end_pfn > MAX_DMA32_PFN) { 637 if (end_pfn > MAX_DMA32_PFN) {
638 printk(KERN_ERR "WARNING more than 4GB of memory " 638 printk(KERN_ERR "WARNING more than 4GB of memory "
@@ -733,9 +733,9 @@ void __init gart_parse_options(char *p)
733 fix_aperture = 0; 733 fix_aperture = 0;
734 /* duplicated from pci-dma.c */ 734 /* duplicated from pci-dma.c */
735 if (!strncmp(p,"force",5)) 735 if (!strncmp(p,"force",5))
736 iommu_aperture_allowed = 1; 736 gart_iommu_aperture_allowed = 1;
737 if (!strncmp(p,"allowed",7)) 737 if (!strncmp(p,"allowed",7))
738 iommu_aperture_allowed = 1; 738 gart_iommu_aperture_allowed = 1;
739 if (!strncmp(p, "memaper", 7)) { 739 if (!strncmp(p, "memaper", 7)) {
740 fallback_aper_force = 1; 740 fallback_aper_force = 1;
741 p += 7; 741 p += 7;
diff --git a/arch/x86/kernel/pci-nommu_64.c b/arch/x86/kernel/pci-nommu_64.c
index faf70bdca335..ab08e1832228 100644
--- a/arch/x86/kernel/pci-nommu_64.c
+++ b/arch/x86/kernel/pci-nommu_64.c
@@ -7,7 +7,7 @@
7#include <linux/dma-mapping.h> 7#include <linux/dma-mapping.h>
8#include <linux/scatterlist.h> 8#include <linux/scatterlist.h>
9 9
10#include <asm/iommu.h> 10#include <asm/gart.h>
11#include <asm/processor.h> 11#include <asm/processor.h>
12#include <asm/dma.h> 12#include <asm/dma.h>
13 13
diff --git a/arch/x86/kernel/pci-swiotlb_64.c b/arch/x86/kernel/pci-swiotlb_64.c
index b2f405ea7c85..102866d729a5 100644
--- a/arch/x86/kernel/pci-swiotlb_64.c
+++ b/arch/x86/kernel/pci-swiotlb_64.c
@@ -5,7 +5,7 @@
5#include <linux/module.h> 5#include <linux/module.h>
6#include <linux/dma-mapping.h> 6#include <linux/dma-mapping.h>
7 7
8#include <asm/iommu.h> 8#include <asm/gart.h>
9#include <asm/swiotlb.h> 9#include <asm/swiotlb.h>
10#include <asm/dma.h> 10#include <asm/dma.h>
11 11
diff --git a/arch/x86/kernel/reboot_64.c b/arch/x86/kernel/reboot_64.c
index 776eb06b6512..71b13c5f5817 100644
--- a/arch/x86/kernel/reboot_64.c
+++ b/arch/x86/kernel/reboot_64.c
@@ -17,7 +17,7 @@
17#include <asm/pgtable.h> 17#include <asm/pgtable.h>
18#include <asm/tlbflush.h> 18#include <asm/tlbflush.h>
19#include <asm/apic.h> 19#include <asm/apic.h>
20#include <asm/iommu.h> 20#include <asm/gart.h>
21 21
22/* 22/*
23 * Power off function, if any 23 * Power off function, if any
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
index cc0e91447b76..e1e18c34c821 100644
--- a/arch/x86/kernel/setup_32.c
+++ b/arch/x86/kernel/setup_32.c
@@ -86,9 +86,6 @@ unsigned long mmu_cr4_features;
86 86
87/* for MCA, but anyone else can use it if they want */ 87/* for MCA, but anyone else can use it if they want */
88unsigned int machine_id; 88unsigned int machine_id;
89#ifdef CONFIG_MCA
90EXPORT_SYMBOL(machine_id);
91#endif
92unsigned int machine_submodel_id; 89unsigned int machine_submodel_id;
93unsigned int BIOS_revision; 90unsigned int BIOS_revision;
94unsigned int mca_pentium_flag; 91unsigned int mca_pentium_flag;
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c
index e7a9e36bd52d..238633d3d09a 100644
--- a/arch/x86/kernel/setup_64.c
+++ b/arch/x86/kernel/setup_64.c
@@ -1040,7 +1040,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
1040 /* Intel-defined (#2) */ 1040 /* Intel-defined (#2) */
1041 "pni", NULL, NULL, "monitor", "ds_cpl", "vmx", "smx", "est", 1041 "pni", NULL, NULL, "monitor", "ds_cpl", "vmx", "smx", "est",
1042 "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL, 1042 "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL,
1043 NULL, NULL, "dca", NULL, NULL, NULL, NULL, "popcnt", 1043 NULL, NULL, "dca", "sse4_1", "sse4_2", NULL, NULL, "popcnt",
1044 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1044 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1045 1045
1046 /* VIA/Cyrix/Centaur-defined */ 1046 /* VIA/Cyrix/Centaur-defined */
@@ -1050,10 +1050,10 @@ static int show_cpuinfo(struct seq_file *m, void *v)
1050 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1050 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1051 1051
1052 /* AMD-defined (#2) */ 1052 /* AMD-defined (#2) */
1053 "lahf_lm", "cmp_legacy", "svm", "extapic", "cr8_legacy", 1053 "lahf_lm", "cmp_legacy", "svm", "extapic",
1054 "altmovcr8", "abm", "sse4a", 1054 "cr8_legacy", "abm", "sse4a", "misalignsse",
1055 "misalignsse", "3dnowprefetch", 1055 "3dnowprefetch", "osvw", "ibs", "sse5",
1056 "osvw", "ibs", NULL, NULL, NULL, NULL, 1056 "skinit", "wdt", NULL, NULL,
1057 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1057 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1058 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1058 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
1059 1059
diff --git a/arch/x86/mm/discontig_32.c b/arch/x86/mm/discontig_32.c
index fe608a45ffb6..13a474d3c6e9 100644
--- a/arch/x86/mm/discontig_32.c
+++ b/arch/x86/mm/discontig_32.c
@@ -40,7 +40,7 @@
40 40
41struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; 41struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
42EXPORT_SYMBOL(node_data); 42EXPORT_SYMBOL(node_data);
43bootmem_data_t node0_bdata; 43static bootmem_data_t node0_bdata;
44 44
45/* 45/*
46 * numa interface - we expect the numa architecture specific code to have 46 * numa interface - we expect the numa architecture specific code to have
@@ -404,7 +404,7 @@ void __init set_highmem_pages_init(int bad_ppro)
404} 404}
405 405
406#ifdef CONFIG_MEMORY_HOTPLUG 406#ifdef CONFIG_MEMORY_HOTPLUG
407int paddr_to_nid(u64 addr) 407static int paddr_to_nid(u64 addr)
408{ 408{
409 int nid; 409 int nid;
410 unsigned long pfn = PFN_DOWN(addr); 410 unsigned long pfn = PFN_DOWN(addr);
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 1e3862e41065..a7308b2cd058 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -728,12 +728,6 @@ int in_gate_area_no_task(unsigned long addr)
728 return (addr >= VSYSCALL_START) && (addr < VSYSCALL_END); 728 return (addr >= VSYSCALL_START) && (addr < VSYSCALL_END);
729} 729}
730 730
731void * __init alloc_bootmem_high_node(pg_data_t *pgdat, unsigned long size)
732{
733 return __alloc_bootmem_core(pgdat->bdata, size,
734 SMP_CACHE_BYTES, (4UL*1024*1024*1024), 0);
735}
736
737const char *arch_vma_name(struct vm_area_struct *vma) 731const char *arch_vma_name(struct vm_area_struct *vma)
738{ 732{
739 if (vma->vm_mm && vma->vm_start == (long)vma->vm_mm->context.vdso) 733 if (vma->vm_mm && vma->vm_start == (long)vma->vm_mm->context.vdso)