aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2005-06-23 03:08:33 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-23 12:45:11 -0400
commit129f69465b411592247c408f93d7106939223be1 (patch)
treef585dff5c44ffdd0ee4ce05dec56dbc8477eb909 /arch/i386/kernel
parenta9ed8817966dd723754a990f1003264a21b5747e (diff)
[PATCH] Remove i386_ksyms.c, almost.
* EXPORT_SYMBOL's moved to other files * #include <linux/config.h>, <linux/module.h> where needed * #include's in i386_ksyms.c cleaned up * After copy-paste, redundant due to Makefiles rules preprocessor directives removed: #ifdef CONFIG_FOO EXPORT_SYMBOL(foo); #endif obj-$(CONFIG_FOO) += foo.o * Tiny reformat to fit in 80 columns Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel')
-rw-r--r--arch/i386/kernel/i386_ksyms.c160
-rw-r--r--arch/i386/kernel/i387.c3
-rw-r--r--arch/i386/kernel/io_apic.c3
-rw-r--r--arch/i386/kernel/pci-dma.c3
-rw-r--r--arch/i386/kernel/process.c7
-rw-r--r--arch/i386/kernel/reboot.c5
-rw-r--r--arch/i386/kernel/setup.c20
-rw-r--r--arch/i386/kernel/smp.c3
-rw-r--r--arch/i386/kernel/smpboot.c12
-rw-r--r--arch/i386/kernel/time.c4
-rw-r--r--arch/i386/kernel/traps.c3
11 files changed, 64 insertions, 159 deletions
diff --git a/arch/i386/kernel/i386_ksyms.c b/arch/i386/kernel/i386_ksyms.c
index 903190a4b3ff..180f070d03cb 100644
--- a/arch/i386/kernel/i386_ksyms.c
+++ b/arch/i386/kernel/i386_ksyms.c
@@ -1,97 +1,17 @@
1#include <linux/config.h> 1#include <linux/config.h>
2#include <linux/module.h> 2#include <linux/module.h>
3#include <linux/smp.h>
4#include <linux/user.h>
5#include <linux/elfcore.h>
6#include <linux/mca.h>
7#include <linux/sched.h>
8#include <linux/in6.h>
9#include <linux/interrupt.h>
10#include <linux/smp_lock.h>
11#include <linux/pm.h>
12#include <linux/pci.h>
13#include <linux/apm_bios.h>
14#include <linux/kernel.h>
15#include <linux/string.h>
16#include <linux/tty.h>
17#include <linux/highmem.h>
18#include <linux/time.h>
19
20#include <asm/semaphore.h>
21#include <asm/processor.h>
22#include <asm/i387.h>
23#include <asm/uaccess.h>
24#include <asm/checksum.h> 3#include <asm/checksum.h>
25#include <asm/io.h>
26#include <asm/delay.h>
27#include <asm/irq.h>
28#include <asm/mmx.h>
29#include <asm/desc.h> 4#include <asm/desc.h>
30#include <asm/pgtable.h>
31#include <asm/tlbflush.h>
32#include <asm/nmi.h>
33#include <asm/ist.h>
34#include <asm/kdebug.h>
35
36extern void dump_thread(struct pt_regs *, struct user *);
37extern spinlock_t rtc_lock;
38 5
39/* This is definitely a GPL-only symbol */ 6/* This is definitely a GPL-only symbol */
40EXPORT_SYMBOL_GPL(cpu_gdt_table); 7EXPORT_SYMBOL_GPL(cpu_gdt_table);
41 8
42#if defined(CONFIG_APM_MODULE)
43extern void machine_real_restart(unsigned char *, int);
44EXPORT_SYMBOL(machine_real_restart);
45extern void default_idle(void);
46EXPORT_SYMBOL(default_idle);
47#endif
48
49#ifdef CONFIG_SMP
50extern void FASTCALL( __write_lock_failed(rwlock_t *rw));
51extern void FASTCALL( __read_lock_failed(rwlock_t *rw));
52#endif
53
54#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE)
55extern struct drive_info_struct drive_info;
56EXPORT_SYMBOL(drive_info);
57#endif
58
59extern unsigned long cpu_khz;
60extern unsigned long get_cmos_time(void);
61
62/* platform dependent support */
63EXPORT_SYMBOL(boot_cpu_data);
64#ifdef CONFIG_DISCONTIGMEM
65EXPORT_SYMBOL(node_data);
66EXPORT_SYMBOL(physnode_map);
67#endif
68#ifdef CONFIG_X86_NUMAQ
69EXPORT_SYMBOL(xquad_portio);
70#endif
71EXPORT_SYMBOL(dump_thread);
72EXPORT_SYMBOL(dump_fpu);
73EXPORT_SYMBOL_GPL(kernel_fpu_begin);
74EXPORT_SYMBOL(__ioremap);
75EXPORT_SYMBOL(ioremap_nocache);
76EXPORT_SYMBOL(iounmap);
77EXPORT_SYMBOL(kernel_thread);
78EXPORT_SYMBOL(pm_idle);
79EXPORT_SYMBOL(pm_power_off);
80EXPORT_SYMBOL(get_cmos_time);
81EXPORT_SYMBOL(cpu_khz);
82EXPORT_SYMBOL(apm_info);
83
84EXPORT_SYMBOL(__down_failed); 9EXPORT_SYMBOL(__down_failed);
85EXPORT_SYMBOL(__down_failed_interruptible); 10EXPORT_SYMBOL(__down_failed_interruptible);
86EXPORT_SYMBOL(__down_failed_trylock); 11EXPORT_SYMBOL(__down_failed_trylock);
87EXPORT_SYMBOL(__up_wakeup); 12EXPORT_SYMBOL(__up_wakeup);
88/* Networking helper routines. */ 13/* Networking helper routines. */
89EXPORT_SYMBOL(csum_partial_copy_generic); 14EXPORT_SYMBOL(csum_partial_copy_generic);
90/* Delay loops */
91EXPORT_SYMBOL(__ndelay);
92EXPORT_SYMBOL(__udelay);
93EXPORT_SYMBOL(__delay);
94EXPORT_SYMBOL(__const_udelay);
95 15
96EXPORT_SYMBOL(__get_user_1); 16EXPORT_SYMBOL(__get_user_1);
97EXPORT_SYMBOL(__get_user_2); 17EXPORT_SYMBOL(__get_user_2);
@@ -105,87 +25,11 @@ EXPORT_SYMBOL(__put_user_8);
105EXPORT_SYMBOL(strpbrk); 25EXPORT_SYMBOL(strpbrk);
106EXPORT_SYMBOL(strstr); 26EXPORT_SYMBOL(strstr);
107 27
108EXPORT_SYMBOL(strncpy_from_user);
109EXPORT_SYMBOL(__strncpy_from_user);
110EXPORT_SYMBOL(clear_user);
111EXPORT_SYMBOL(__clear_user);
112EXPORT_SYMBOL(__copy_from_user_ll);
113EXPORT_SYMBOL(__copy_to_user_ll);
114EXPORT_SYMBOL(strnlen_user);
115
116EXPORT_SYMBOL(dma_alloc_coherent);
117EXPORT_SYMBOL(dma_free_coherent);
118
119#ifdef CONFIG_PCI
120EXPORT_SYMBOL(pci_mem_start);
121#endif
122
123#ifdef CONFIG_PCI_BIOS
124EXPORT_SYMBOL(pcibios_set_irq_routing);
125EXPORT_SYMBOL(pcibios_get_irq_routing_table);
126#endif
127
128#ifdef CONFIG_X86_USE_3DNOW
129EXPORT_SYMBOL(_mmx_memcpy);
130EXPORT_SYMBOL(mmx_clear_page);
131EXPORT_SYMBOL(mmx_copy_page);
132#endif
133
134#ifdef CONFIG_X86_HT
135EXPORT_SYMBOL(smp_num_siblings);
136EXPORT_SYMBOL(cpu_sibling_map);
137#endif
138
139#ifdef CONFIG_SMP 28#ifdef CONFIG_SMP
140EXPORT_SYMBOL(cpu_data); 29extern void FASTCALL( __write_lock_failed(rwlock_t *rw));
141EXPORT_SYMBOL(cpu_online_map); 30extern void FASTCALL( __read_lock_failed(rwlock_t *rw));
142EXPORT_SYMBOL(cpu_callout_map);
143EXPORT_SYMBOL(__write_lock_failed); 31EXPORT_SYMBOL(__write_lock_failed);
144EXPORT_SYMBOL(__read_lock_failed); 32EXPORT_SYMBOL(__read_lock_failed);
145
146/* Global SMP stuff */
147EXPORT_SYMBOL(smp_call_function);
148
149/* TLB flushing */
150EXPORT_SYMBOL(flush_tlb_page);
151#endif
152
153#ifdef CONFIG_X86_IO_APIC
154EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
155#endif
156
157#ifdef CONFIG_MCA
158EXPORT_SYMBOL(machine_id);
159#endif
160
161#ifdef CONFIG_VT
162EXPORT_SYMBOL(screen_info);
163#endif
164
165EXPORT_SYMBOL(get_wchan);
166
167EXPORT_SYMBOL(rtc_lock);
168
169EXPORT_SYMBOL_GPL(set_nmi_callback);
170EXPORT_SYMBOL_GPL(unset_nmi_callback);
171
172EXPORT_SYMBOL(register_die_notifier);
173#ifdef CONFIG_HAVE_DEC_LOCK
174EXPORT_SYMBOL(_atomic_dec_and_lock);
175#endif
176
177EXPORT_SYMBOL(__PAGE_KERNEL);
178
179#ifdef CONFIG_HIGHMEM
180EXPORT_SYMBOL(kmap);
181EXPORT_SYMBOL(kunmap);
182EXPORT_SYMBOL(kmap_atomic);
183EXPORT_SYMBOL(kunmap_atomic);
184EXPORT_SYMBOL(kmap_atomic_to_page);
185#endif
186
187#if defined(CONFIG_X86_SPEEDSTEP_SMI) || defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
188EXPORT_SYMBOL(ist_info);
189#endif 33#endif
190 34
191EXPORT_SYMBOL(csum_partial); 35EXPORT_SYMBOL(csum_partial);
diff --git a/arch/i386/kernel/i387.c b/arch/i386/kernel/i387.c
index c55e037f08f7..b817168d9c62 100644
--- a/arch/i386/kernel/i387.c
+++ b/arch/i386/kernel/i387.c
@@ -10,6 +10,7 @@
10 10
11#include <linux/config.h> 11#include <linux/config.h>
12#include <linux/sched.h> 12#include <linux/sched.h>
13#include <linux/module.h>
13#include <asm/processor.h> 14#include <asm/processor.h>
14#include <asm/i387.h> 15#include <asm/i387.h>
15#include <asm/math_emu.h> 16#include <asm/math_emu.h>
@@ -79,6 +80,7 @@ void kernel_fpu_begin(void)
79 } 80 }
80 clts(); 81 clts();
81} 82}
83EXPORT_SYMBOL_GPL(kernel_fpu_begin);
82 84
83void restore_fpu( struct task_struct *tsk ) 85void restore_fpu( struct task_struct *tsk )
84{ 86{
@@ -526,6 +528,7 @@ int dump_fpu( struct pt_regs *regs, struct user_i387_struct *fpu )
526 528
527 return fpvalid; 529 return fpvalid;
528} 530}
531EXPORT_SYMBOL(dump_fpu);
529 532
530int dump_task_fpu(struct task_struct *tsk, struct user_i387_struct *fpu) 533int dump_task_fpu(struct task_struct *tsk, struct user_i387_struct *fpu)
531{ 534{
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c
index 51f7a5d8721f..08540bc4ba3e 100644
--- a/arch/i386/kernel/io_apic.c
+++ b/arch/i386/kernel/io_apic.c
@@ -31,7 +31,7 @@
31#include <linux/mc146818rtc.h> 31#include <linux/mc146818rtc.h>
32#include <linux/compiler.h> 32#include <linux/compiler.h>
33#include <linux/acpi.h> 33#include <linux/acpi.h>
34 34#include <linux/module.h>
35#include <linux/sysdev.h> 35#include <linux/sysdev.h>
36#include <asm/io.h> 36#include <asm/io.h>
37#include <asm/smp.h> 37#include <asm/smp.h>
@@ -812,6 +812,7 @@ int IO_APIC_get_PCI_irq_vector(int bus, int slot, int pin)
812 } 812 }
813 return best_guess; 813 return best_guess;
814} 814}
815EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
815 816
816/* 817/*
817 * This function currently is only a helper for the i386 smp boot process where 818 * This function currently is only a helper for the i386 smp boot process where
diff --git a/arch/i386/kernel/pci-dma.c b/arch/i386/kernel/pci-dma.c
index 4de2e03c7b45..1e51427cc9eb 100644
--- a/arch/i386/kernel/pci-dma.c
+++ b/arch/i386/kernel/pci-dma.c
@@ -11,6 +11,7 @@
11#include <linux/mm.h> 11#include <linux/mm.h>
12#include <linux/string.h> 12#include <linux/string.h>
13#include <linux/pci.h> 13#include <linux/pci.h>
14#include <linux/module.h>
14#include <asm/io.h> 15#include <asm/io.h>
15 16
16struct dma_coherent_mem { 17struct dma_coherent_mem {
@@ -54,6 +55,7 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
54 } 55 }
55 return ret; 56 return ret;
56} 57}
58EXPORT_SYMBOL(dma_alloc_coherent);
57 59
58void dma_free_coherent(struct device *dev, size_t size, 60void dma_free_coherent(struct device *dev, size_t size,
59 void *vaddr, dma_addr_t dma_handle) 61 void *vaddr, dma_addr_t dma_handle)
@@ -68,6 +70,7 @@ void dma_free_coherent(struct device *dev, size_t size,
68 } else 70 } else
69 free_pages((unsigned long)vaddr, order); 71 free_pages((unsigned long)vaddr, order);
70} 72}
73EXPORT_SYMBOL(dma_free_coherent);
71 74
72int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, 75int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
73 dma_addr_t device_addr, size_t size, int flags) 76 dma_addr_t device_addr, size_t size, int flags)
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index 96e3ea6b17c7..3c3f245cca53 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -73,6 +73,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
73 * Powermanagement idle function, if any.. 73 * Powermanagement idle function, if any..
74 */ 74 */
75void (*pm_idle)(void); 75void (*pm_idle)(void);
76EXPORT_SYMBOL(pm_idle);
76static DEFINE_PER_CPU(unsigned int, cpu_idle_state); 77static DEFINE_PER_CPU(unsigned int, cpu_idle_state);
77 78
78void disable_hlt(void) 79void disable_hlt(void)
@@ -105,6 +106,9 @@ void default_idle(void)
105 cpu_relax(); 106 cpu_relax();
106 } 107 }
107} 108}
109#ifdef CONFIG_APM_MODULE
110EXPORT_SYMBOL(default_idle);
111#endif
108 112
109/* 113/*
110 * On SMP it's slightly faster (but much more power-consuming!) 114 * On SMP it's slightly faster (but much more power-consuming!)
@@ -325,6 +329,7 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
325 /* Ok, create the new process.. */ 329 /* Ok, create the new process.. */
326 return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs, 0, NULL, NULL); 330 return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
327} 331}
332EXPORT_SYMBOL(kernel_thread);
328 333
329/* 334/*
330 * Free current thread data structures etc.. 335 * Free current thread data structures etc..
@@ -508,6 +513,7 @@ void dump_thread(struct pt_regs * regs, struct user * dump)
508 513
509 dump->u_fpvalid = dump_fpu (regs, &dump->i387); 514 dump->u_fpvalid = dump_fpu (regs, &dump->i387);
510} 515}
516EXPORT_SYMBOL(dump_thread);
511 517
512/* 518/*
513 * Capture the user space registers if the task is not running (in user space) 519 * Capture the user space registers if the task is not running (in user space)
@@ -731,6 +737,7 @@ unsigned long get_wchan(struct task_struct *p)
731 } while (count++ < 16); 737 } while (count++ < 16);
732 return 0; 738 return 0;
733} 739}
740EXPORT_SYMBOL(get_wchan);
734 741
735/* 742/*
736 * sys_alloc_thread_area: get a yet unused TLS descriptor index. 743 * sys_alloc_thread_area: get a yet unused TLS descriptor index.
diff --git a/arch/i386/kernel/reboot.c b/arch/i386/kernel/reboot.c
index 6dc27eb70ee7..db912209a8d3 100644
--- a/arch/i386/kernel/reboot.c
+++ b/arch/i386/kernel/reboot.c
@@ -2,6 +2,7 @@
2 * linux/arch/i386/kernel/reboot.c 2 * linux/arch/i386/kernel/reboot.c
3 */ 3 */
4 4
5#include <linux/config.h>
5#include <linux/mm.h> 6#include <linux/mm.h>
6#include <linux/module.h> 7#include <linux/module.h>
7#include <linux/delay.h> 8#include <linux/delay.h>
@@ -19,6 +20,7 @@
19 * Power off function, if any 20 * Power off function, if any
20 */ 21 */
21void (*pm_power_off)(void); 22void (*pm_power_off)(void);
23EXPORT_SYMBOL(pm_power_off);
22 24
23static int reboot_mode; 25static int reboot_mode;
24static int reboot_thru_bios; 26static int reboot_thru_bios;
@@ -295,6 +297,9 @@ void machine_real_restart(unsigned char *code, int length)
295 : 297 :
296 : "i" ((void *) (0x1000 - sizeof (real_mode_switch) - 100))); 298 : "i" ((void *) (0x1000 - sizeof (real_mode_switch) - 100)));
297} 299}
300#ifdef CONFIG_APM_MODULE
301EXPORT_SYMBOL(machine_real_restart);
302#endif
298 303
299void machine_restart(char * __unused) 304void machine_restart(char * __unused)
300{ 305{
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 0d689335c8d6..30406fd0b64c 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -23,6 +23,7 @@
23 * This file handles the architecture-dependent parts of initialization 23 * This file handles the architecture-dependent parts of initialization
24 */ 24 */
25 25
26#include <linux/config.h>
26#include <linux/sched.h> 27#include <linux/sched.h>
27#include <linux/mm.h> 28#include <linux/mm.h>
28#include <linux/mmzone.h> 29#include <linux/mmzone.h>
@@ -74,6 +75,7 @@ EXPORT_SYMBOL(efi_enabled);
74struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; 75struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
75/* common cpu data for all cpus */ 76/* common cpu data for all cpus */
76struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 }; 77struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
78EXPORT_SYMBOL(boot_cpu_data);
77 79
78unsigned long mmu_cr4_features; 80unsigned long mmu_cr4_features;
79 81
@@ -91,12 +93,18 @@ extern acpi_interrupt_flags acpi_sci_flags;
91 93
92/* for MCA, but anyone else can use it if they want */ 94/* for MCA, but anyone else can use it if they want */
93unsigned int machine_id; 95unsigned int machine_id;
96#ifdef CONFIG_MCA
97EXPORT_SYMBOL(machine_id);
98#endif
94unsigned int machine_submodel_id; 99unsigned int machine_submodel_id;
95unsigned int BIOS_revision; 100unsigned int BIOS_revision;
96unsigned int mca_pentium_flag; 101unsigned int mca_pentium_flag;
97 102
98/* For PCI or other memory-mapped resources */ 103/* For PCI or other memory-mapped resources */
99unsigned long pci_mem_start = 0x10000000; 104unsigned long pci_mem_start = 0x10000000;
105#ifdef CONFIG_PCI
106EXPORT_SYMBOL(pci_mem_start);
107#endif
100 108
101/* Boot loader ID as an integer, for the benefit of proc_dointvec */ 109/* Boot loader ID as an integer, for the benefit of proc_dointvec */
102int bootloader_type; 110int bootloader_type;
@@ -108,14 +116,26 @@ static unsigned int highmem_pages = -1;
108 * Setup options 116 * Setup options
109 */ 117 */
110struct drive_info_struct { char dummy[32]; } drive_info; 118struct drive_info_struct { char dummy[32]; } drive_info;
119#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || \
120 defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE)
121EXPORT_SYMBOL(drive_info);
122#endif
111struct screen_info screen_info; 123struct screen_info screen_info;
124#ifdef CONFIG_VT
125EXPORT_SYMBOL(screen_info);
126#endif
112struct apm_info apm_info; 127struct apm_info apm_info;
128EXPORT_SYMBOL(apm_info);
113struct sys_desc_table_struct { 129struct sys_desc_table_struct {
114 unsigned short length; 130 unsigned short length;
115 unsigned char table[0]; 131 unsigned char table[0];
116}; 132};
117struct edid_info edid_info; 133struct edid_info edid_info;
118struct ist_info ist_info; 134struct ist_info ist_info;
135#if defined(CONFIG_X86_SPEEDSTEP_SMI) || \
136 defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
137EXPORT_SYMBOL(ist_info);
138#endif
119struct e820map e820; 139struct e820map e820;
120 140
121extern void early_cpu_init(void); 141extern void early_cpu_init(void);
diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c
index 6223c33ac91c..68be7d0c7238 100644
--- a/arch/i386/kernel/smp.c
+++ b/arch/i386/kernel/smp.c
@@ -19,6 +19,7 @@
19#include <linux/mc146818rtc.h> 19#include <linux/mc146818rtc.h>
20#include <linux/cache.h> 20#include <linux/cache.h>
21#include <linux/interrupt.h> 21#include <linux/interrupt.h>
22#include <linux/module.h>
22 23
23#include <asm/mtrr.h> 24#include <asm/mtrr.h>
24#include <asm/tlbflush.h> 25#include <asm/tlbflush.h>
@@ -452,6 +453,7 @@ void flush_tlb_page(struct vm_area_struct * vma, unsigned long va)
452 453
453 preempt_enable(); 454 preempt_enable();
454} 455}
456EXPORT_SYMBOL(flush_tlb_page);
455 457
456static void do_flush_tlb_all(void* info) 458static void do_flush_tlb_all(void* info)
457{ 459{
@@ -547,6 +549,7 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
547 549
548 return 0; 550 return 0;
549} 551}
552EXPORT_SYMBOL(smp_call_function);
550 553
551static void stop_this_cpu (void * dummy) 554static void stop_this_cpu (void * dummy)
552{ 555{
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index bc1bb6919e6a..aaad95e7f879 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -60,6 +60,9 @@ static int __initdata smp_b_stepping;
60 60
61/* Number of siblings per CPU package */ 61/* Number of siblings per CPU package */
62int smp_num_siblings = 1; 62int smp_num_siblings = 1;
63#ifdef CONFIG_X86_HT
64EXPORT_SYMBOL(smp_num_siblings);
65#endif
63int phys_proc_id[NR_CPUS]; /* Package ID of each logical CPU */ 66int phys_proc_id[NR_CPUS]; /* Package ID of each logical CPU */
64EXPORT_SYMBOL(phys_proc_id); 67EXPORT_SYMBOL(phys_proc_id);
65int cpu_core_id[NR_CPUS]; /* Core ID of each logical CPU */ 68int cpu_core_id[NR_CPUS]; /* Core ID of each logical CPU */
@@ -67,13 +70,16 @@ EXPORT_SYMBOL(cpu_core_id);
67 70
68/* bitmap of online cpus */ 71/* bitmap of online cpus */
69cpumask_t cpu_online_map; 72cpumask_t cpu_online_map;
73EXPORT_SYMBOL(cpu_online_map);
70 74
71cpumask_t cpu_callin_map; 75cpumask_t cpu_callin_map;
72cpumask_t cpu_callout_map; 76cpumask_t cpu_callout_map;
77EXPORT_SYMBOL(cpu_callout_map);
73static cpumask_t smp_commenced_mask; 78static cpumask_t smp_commenced_mask;
74 79
75/* Per CPU bogomips and other parameters */ 80/* Per CPU bogomips and other parameters */
76struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned; 81struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned;
82EXPORT_SYMBOL(cpu_data);
77 83
78u8 x86_cpu_to_apicid[NR_CPUS] = 84u8 x86_cpu_to_apicid[NR_CPUS] =
79 { [0 ... NR_CPUS-1] = 0xff }; 85 { [0 ... NR_CPUS-1] = 0xff };
@@ -885,8 +891,14 @@ static void smp_tune_scheduling (void)
885static int boot_cpu_logical_apicid; 891static int boot_cpu_logical_apicid;
886/* Where the IO area was mapped on multiquad, always 0 otherwise */ 892/* Where the IO area was mapped on multiquad, always 0 otherwise */
887void *xquad_portio; 893void *xquad_portio;
894#ifdef CONFIG_X86_NUMAQ
895EXPORT_SYMBOL(xquad_portio);
896#endif
888 897
889cpumask_t cpu_sibling_map[NR_CPUS] __cacheline_aligned; 898cpumask_t cpu_sibling_map[NR_CPUS] __cacheline_aligned;
899#ifdef CONFIG_X86_HT
900EXPORT_SYMBOL(cpu_sibling_map);
901#endif
890cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned; 902cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned;
891EXPORT_SYMBOL(cpu_core_map); 903EXPORT_SYMBOL(cpu_core_map);
892 904
diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c
index a0dcb7c87c30..8bc8363fbb4c 100644
--- a/arch/i386/kernel/time.c
+++ b/arch/i386/kernel/time.c
@@ -78,10 +78,12 @@ u64 jiffies_64 = INITIAL_JIFFIES;
78EXPORT_SYMBOL(jiffies_64); 78EXPORT_SYMBOL(jiffies_64);
79 79
80unsigned long cpu_khz; /* Detected as we calibrate the TSC */ 80unsigned long cpu_khz; /* Detected as we calibrate the TSC */
81EXPORT_SYMBOL(cpu_khz);
81 82
82extern unsigned long wall_jiffies; 83extern unsigned long wall_jiffies;
83 84
84DEFINE_SPINLOCK(rtc_lock); 85DEFINE_SPINLOCK(rtc_lock);
86EXPORT_SYMBOL(rtc_lock);
85 87
86DEFINE_SPINLOCK(i8253_lock); 88DEFINE_SPINLOCK(i8253_lock);
87EXPORT_SYMBOL(i8253_lock); 89EXPORT_SYMBOL(i8253_lock);
@@ -324,6 +326,8 @@ unsigned long get_cmos_time(void)
324 326
325 return retval; 327 return retval;
326} 328}
329EXPORT_SYMBOL(get_cmos_time);
330
327static void sync_cmos_clock(unsigned long dummy); 331static void sync_cmos_clock(unsigned long dummy);
328 332
329static struct timer_list sync_cmos_timer = 333static struct timer_list sync_cmos_timer =
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index 83c579e82a81..7f729665d292 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -104,6 +104,7 @@ int register_die_notifier(struct notifier_block *nb)
104 spin_unlock_irqrestore(&die_notifier_lock, flags); 104 spin_unlock_irqrestore(&die_notifier_lock, flags);
105 return err; 105 return err;
106} 106}
107EXPORT_SYMBOL(register_die_notifier);
107 108
108static inline int valid_stack_ptr(struct thread_info *tinfo, void *p) 109static inline int valid_stack_ptr(struct thread_info *tinfo, void *p)
109{ 110{
@@ -636,11 +637,13 @@ void set_nmi_callback(nmi_callback_t callback)
636{ 637{
637 nmi_callback = callback; 638 nmi_callback = callback;
638} 639}
640EXPORT_SYMBOL_GPL(set_nmi_callback);
639 641
640void unset_nmi_callback(void) 642void unset_nmi_callback(void)
641{ 643{
642 nmi_callback = dummy_nmi_callback; 644 nmi_callback = dummy_nmi_callback;
643} 645}
646EXPORT_SYMBOL_GPL(unset_nmi_callback);
644 647
645#ifdef CONFIG_KPROBES 648#ifdef CONFIG_KPROBES
646fastcall void do_int3(struct pt_regs *regs, long error_code) 649fastcall void do_int3(struct pt_regs *regs, long error_code)