aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/alpha/kernel/alpha_ksyms.c93
-rw-r--r--arch/alpha/kernel/core_irongate.c2
-rw-r--r--arch/alpha/kernel/irq_alpha.c3
-rw-r--r--arch/alpha/kernel/pci-noop.c1
-rw-r--r--arch/alpha/kernel/pci_iommu.c17
-rw-r--r--arch/alpha/kernel/process.c5
-rw-r--r--arch/alpha/kernel/setup.c6
-rw-r--r--arch/alpha/kernel/smp.c8
-rw-r--r--arch/alpha/kernel/time.c1
-rw-r--r--arch/alpha/mm/numa.c2
10 files changed, 44 insertions, 94 deletions
diff --git a/arch/alpha/kernel/alpha_ksyms.c b/arch/alpha/kernel/alpha_ksyms.c
index 8b02420f732e..692809e4aece 100644
--- a/arch/alpha/kernel/alpha_ksyms.c
+++ b/arch/alpha/kernel/alpha_ksyms.c
@@ -6,41 +6,14 @@
6 */ 6 */
7 7
8#include <linux/module.h> 8#include <linux/module.h>
9#include <linux/string.h>
10#include <linux/user.h>
11#include <linux/elfcore.h>
12#include <linux/socket.h>
13#include <linux/syscalls.h>
14#include <linux/in.h>
15#include <linux/in6.h>
16#include <linux/pci.h>
17#include <linux/screen_info.h>
18#include <linux/tty.h>
19#include <linux/mm.h>
20#include <linux/delay.h>
21#include <linux/dma-mapping.h>
22
23#include <asm/io.h>
24#include <asm/console.h> 9#include <asm/console.h>
25#include <asm/hwrpb.h>
26#include <asm/uaccess.h> 10#include <asm/uaccess.h>
27#include <asm/processor.h>
28#include <asm/checksum.h> 11#include <asm/checksum.h>
29#include <linux/interrupt.h>
30#include <asm/fpu.h> 12#include <asm/fpu.h>
31#include <asm/irq.h>
32#include <asm/machvec.h> 13#include <asm/machvec.h>
33#include <asm/pgalloc.h>
34#include <asm/semaphore.h>
35#include <asm/tlbflush.h>
36#include <asm/cacheflush.h>
37#include <asm/vga.h>
38 14
39#include <asm/unistd.h> 15#include <asm/unistd.h>
40 16
41extern struct hwrpb_struct *hwrpb;
42extern spinlock_t rtc_lock;
43
44/* these are C runtime functions with special calling conventions: */ 17/* these are C runtime functions with special calling conventions: */
45extern void __divl (void); 18extern void __divl (void);
46extern void __reml (void); 19extern void __reml (void);
@@ -52,14 +25,9 @@ extern void __divqu (void);
52extern void __remqu (void); 25extern void __remqu (void);
53 26
54EXPORT_SYMBOL(alpha_mv); 27EXPORT_SYMBOL(alpha_mv);
55EXPORT_SYMBOL(screen_info);
56EXPORT_SYMBOL(perf_irq);
57EXPORT_SYMBOL(callback_getenv); 28EXPORT_SYMBOL(callback_getenv);
58EXPORT_SYMBOL(callback_setenv); 29EXPORT_SYMBOL(callback_setenv);
59EXPORT_SYMBOL(callback_save_env); 30EXPORT_SYMBOL(callback_save_env);
60#ifdef CONFIG_ALPHA_GENERIC
61EXPORT_SYMBOL(alpha_using_srm);
62#endif /* CONFIG_ALPHA_GENERIC */
63 31
64/* platform dependent support */ 32/* platform dependent support */
65EXPORT_SYMBOL(strcat); 33EXPORT_SYMBOL(strcat);
@@ -77,47 +45,14 @@ EXPORT_SYMBOL(__constant_c_memset);
77EXPORT_SYMBOL(copy_page); 45EXPORT_SYMBOL(copy_page);
78EXPORT_SYMBOL(clear_page); 46EXPORT_SYMBOL(clear_page);
79 47
80EXPORT_SYMBOL(__direct_map_base);
81EXPORT_SYMBOL(__direct_map_size);
82
83#ifdef CONFIG_PCI
84EXPORT_SYMBOL(pci_alloc_consistent);
85EXPORT_SYMBOL(pci_free_consistent);
86EXPORT_SYMBOL(pci_map_single);
87EXPORT_SYMBOL(pci_map_page);
88EXPORT_SYMBOL(pci_unmap_single);
89EXPORT_SYMBOL(pci_unmap_page);
90EXPORT_SYMBOL(pci_map_sg);
91EXPORT_SYMBOL(pci_unmap_sg);
92EXPORT_SYMBOL(pci_dma_supported);
93EXPORT_SYMBOL(pci_dac_dma_supported);
94EXPORT_SYMBOL(pci_dac_page_to_dma);
95EXPORT_SYMBOL(pci_dac_dma_to_page);
96EXPORT_SYMBOL(pci_dac_dma_to_offset);
97EXPORT_SYMBOL(alpha_gendev_to_pci);
98#endif
99EXPORT_SYMBOL(dma_set_mask);
100
101EXPORT_SYMBOL(dump_thread);
102EXPORT_SYMBOL(dump_elf_thread);
103EXPORT_SYMBOL(dump_elf_task);
104EXPORT_SYMBOL(dump_elf_task_fp);
105EXPORT_SYMBOL(hwrpb);
106EXPORT_SYMBOL(start_thread);
107EXPORT_SYMBOL(alpha_read_fp_reg); 48EXPORT_SYMBOL(alpha_read_fp_reg);
108EXPORT_SYMBOL(alpha_read_fp_reg_s); 49EXPORT_SYMBOL(alpha_read_fp_reg_s);
109EXPORT_SYMBOL(alpha_write_fp_reg); 50EXPORT_SYMBOL(alpha_write_fp_reg);
110EXPORT_SYMBOL(alpha_write_fp_reg_s); 51EXPORT_SYMBOL(alpha_write_fp_reg_s);
111 52
112/* In-kernel system calls. */ 53/* entry.S */
113EXPORT_SYMBOL(kernel_thread); 54EXPORT_SYMBOL(kernel_thread);
114EXPORT_SYMBOL(sys_dup);
115EXPORT_SYMBOL(sys_exit);
116EXPORT_SYMBOL(sys_write);
117EXPORT_SYMBOL(sys_lseek);
118EXPORT_SYMBOL(kernel_execve); 55EXPORT_SYMBOL(kernel_execve);
119EXPORT_SYMBOL(sys_setsid);
120EXPORT_SYMBOL(sys_wait4);
121 56
122/* Networking helper routines. */ 57/* Networking helper routines. */
123EXPORT_SYMBOL(csum_tcpudp_magic); 58EXPORT_SYMBOL(csum_tcpudp_magic);
@@ -134,10 +69,6 @@ EXPORT_SYMBOL(alpha_fp_emul_imprecise);
134EXPORT_SYMBOL(alpha_fp_emul); 69EXPORT_SYMBOL(alpha_fp_emul);
135#endif 70#endif
136 71
137#ifdef CONFIG_ALPHA_BROKEN_IRQ_MASK
138EXPORT_SYMBOL(__min_ipl);
139#endif
140
141/* 72/*
142 * The following are specially called from the uaccess assembly stubs. 73 * The following are specially called from the uaccess assembly stubs.
143 */ 74 */
@@ -160,27 +91,10 @@ EXPORT_SYMBOL(up);
160 */ 91 */
161 92
162#ifdef CONFIG_SMP 93#ifdef CONFIG_SMP
163EXPORT_SYMBOL(flush_tlb_mm);
164EXPORT_SYMBOL(flush_tlb_range);
165EXPORT_SYMBOL(flush_tlb_page);
166EXPORT_SYMBOL(smp_imb);
167EXPORT_SYMBOL(cpu_data);
168EXPORT_SYMBOL(smp_num_cpus);
169EXPORT_SYMBOL(smp_call_function);
170EXPORT_SYMBOL(smp_call_function_on_cpu);
171EXPORT_SYMBOL(_atomic_dec_and_lock); 94EXPORT_SYMBOL(_atomic_dec_and_lock);
172#endif /* CONFIG_SMP */ 95#endif /* CONFIG_SMP */
173 96
174/* 97/*
175 * NUMA specific symbols
176 */
177#ifdef CONFIG_DISCONTIGMEM
178EXPORT_SYMBOL(node_data);
179#endif /* CONFIG_DISCONTIGMEM */
180
181EXPORT_SYMBOL(rtc_lock);
182
183/*
184 * The following are special because they're not called 98 * The following are special because they're not called
185 * explicitly (the C compiler or assembler generates them in 99 * explicitly (the C compiler or assembler generates them in
186 * response to division operations). Fortunately, their 100 * response to division operations). Fortunately, their
@@ -200,8 +114,3 @@ EXPORT_SYMBOL(__remqu);
200EXPORT_SYMBOL(memcpy); 114EXPORT_SYMBOL(memcpy);
201EXPORT_SYMBOL(memset); 115EXPORT_SYMBOL(memset);
202EXPORT_SYMBOL(memchr); 116EXPORT_SYMBOL(memchr);
203
204#ifdef CONFIG_ALPHA_IRONGATE
205EXPORT_SYMBOL(irongate_ioremap);
206EXPORT_SYMBOL(irongate_iounmap);
207#endif
diff --git a/arch/alpha/kernel/core_irongate.c b/arch/alpha/kernel/core_irongate.c
index 138d497d1cca..e4a0bcf1d28b 100644
--- a/arch/alpha/kernel/core_irongate.c
+++ b/arch/alpha/kernel/core_irongate.c
@@ -404,6 +404,7 @@ irongate_ioremap(unsigned long addr, unsigned long size)
404#endif 404#endif
405 return (void __iomem *)vaddr; 405 return (void __iomem *)vaddr;
406} 406}
407EXPORT_SYMBOL(irongate_ioremap);
407 408
408void 409void
409irongate_iounmap(volatile void __iomem *xaddr) 410irongate_iounmap(volatile void __iomem *xaddr)
@@ -414,3 +415,4 @@ irongate_iounmap(volatile void __iomem *xaddr)
414 if (addr) 415 if (addr)
415 return vfree((void *)(PAGE_MASK & addr)); 416 return vfree((void *)(PAGE_MASK & addr));
416} 417}
418EXPORT_SYMBOL(irongate_iounmap);
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c
index 6dd126b8be85..e16aeb6e79ef 100644
--- a/arch/alpha/kernel/irq_alpha.c
+++ b/arch/alpha/kernel/irq_alpha.c
@@ -6,6 +6,7 @@
6#include <linux/sched.h> 6#include <linux/sched.h>
7#include <linux/irq.h> 7#include <linux/irq.h>
8#include <linux/kernel_stat.h> 8#include <linux/kernel_stat.h>
9#include <linux/module.h>
9 10
10#include <asm/machvec.h> 11#include <asm/machvec.h>
11#include <asm/dma.h> 12#include <asm/dma.h>
@@ -16,6 +17,7 @@
16/* Hack minimum IPL during interrupt processing for broken hardware. */ 17/* Hack minimum IPL during interrupt processing for broken hardware. */
17#ifdef CONFIG_ALPHA_BROKEN_IRQ_MASK 18#ifdef CONFIG_ALPHA_BROKEN_IRQ_MASK
18int __min_ipl; 19int __min_ipl;
20EXPORT_SYMBOL(__min_ipl);
19#endif 21#endif
20 22
21/* 23/*
@@ -30,6 +32,7 @@ dummy_perf(unsigned long vector, struct pt_regs *regs)
30} 32}
31 33
32void (*perf_irq)(unsigned long, struct pt_regs *) = dummy_perf; 34void (*perf_irq)(unsigned long, struct pt_regs *) = dummy_perf;
35EXPORT_SYMBOL(perf_irq);
33 36
34/* 37/*
35 * The main interrupt entry point. 38 * The main interrupt entry point.
diff --git a/arch/alpha/kernel/pci-noop.c b/arch/alpha/kernel/pci-noop.c
index fff5cf93e816..174b729c504b 100644
--- a/arch/alpha/kernel/pci-noop.c
+++ b/arch/alpha/kernel/pci-noop.c
@@ -201,6 +201,7 @@ dma_set_mask(struct device *dev, u64 mask)
201 201
202 return 0; 202 return 0;
203} 203}
204EXPORT_SYMBOL(dma_set_mask);
204 205
205void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) 206void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
206{ 207{
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index c468e312e5f8..6e7d1fe6e935 100644
--- a/arch/alpha/kernel/pci_iommu.c
+++ b/arch/alpha/kernel/pci_iommu.c
@@ -300,6 +300,7 @@ pci_map_single(struct pci_dev *pdev, void *cpu_addr, size_t size, int dir)
300 dac_allowed = pdev ? pci_dac_dma_supported(pdev, pdev->dma_mask) : 0; 300 dac_allowed = pdev ? pci_dac_dma_supported(pdev, pdev->dma_mask) : 0;
301 return pci_map_single_1(pdev, cpu_addr, size, dac_allowed); 301 return pci_map_single_1(pdev, cpu_addr, size, dac_allowed);
302} 302}
303EXPORT_SYMBOL(pci_map_single);
303 304
304dma_addr_t 305dma_addr_t
305pci_map_page(struct pci_dev *pdev, struct page *page, unsigned long offset, 306pci_map_page(struct pci_dev *pdev, struct page *page, unsigned long offset,
@@ -314,6 +315,7 @@ pci_map_page(struct pci_dev *pdev, struct page *page, unsigned long offset,
314 return pci_map_single_1(pdev, (char *)page_address(page) + offset, 315 return pci_map_single_1(pdev, (char *)page_address(page) + offset,
315 size, dac_allowed); 316 size, dac_allowed);
316} 317}
318EXPORT_SYMBOL(pci_map_page);
317 319
318/* Unmap a single streaming mode DMA translation. The DMA_ADDR and 320/* Unmap a single streaming mode DMA translation. The DMA_ADDR and
319 SIZE must match what was provided for in a previous pci_map_single 321 SIZE must match what was provided for in a previous pci_map_single
@@ -379,6 +381,7 @@ pci_unmap_single(struct pci_dev *pdev, dma_addr_t dma_addr, size_t size,
379 DBGA2("pci_unmap_single: sg [%lx,%lx] np %ld from %p\n", 381 DBGA2("pci_unmap_single: sg [%lx,%lx] np %ld from %p\n",
380 dma_addr, size, npages, __builtin_return_address(0)); 382 dma_addr, size, npages, __builtin_return_address(0));
381} 383}
384EXPORT_SYMBOL(pci_unmap_single);
382 385
383void 386void
384pci_unmap_page(struct pci_dev *pdev, dma_addr_t dma_addr, 387pci_unmap_page(struct pci_dev *pdev, dma_addr_t dma_addr,
@@ -386,6 +389,7 @@ pci_unmap_page(struct pci_dev *pdev, dma_addr_t dma_addr,
386{ 389{
387 pci_unmap_single(pdev, dma_addr, size, direction); 390 pci_unmap_single(pdev, dma_addr, size, direction);
388} 391}
392EXPORT_SYMBOL(pci_unmap_page);
389 393
390/* Allocate and map kernel buffer using consistent mode DMA for PCI 394/* Allocate and map kernel buffer using consistent mode DMA for PCI
391 device. Returns non-NULL cpu-view pointer to the buffer if 395 device. Returns non-NULL cpu-view pointer to the buffer if
@@ -427,6 +431,7 @@ try_again:
427 431
428 return cpu_addr; 432 return cpu_addr;
429} 433}
434EXPORT_SYMBOL(pci_alloc_consistent);
430 435
431/* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must 436/* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must
432 be values that were returned from pci_alloc_consistent. SIZE must 437 be values that were returned from pci_alloc_consistent. SIZE must
@@ -444,7 +449,7 @@ pci_free_consistent(struct pci_dev *pdev, size_t size, void *cpu_addr,
444 DBGA2("pci_free_consistent: [%x,%lx] from %p\n", 449 DBGA2("pci_free_consistent: [%x,%lx] from %p\n",
445 dma_addr, size, __builtin_return_address(0)); 450 dma_addr, size, __builtin_return_address(0));
446} 451}
447 452EXPORT_SYMBOL(pci_free_consistent);
448 453
449/* Classify the elements of the scatterlist. Write dma_address 454/* Classify the elements of the scatterlist. Write dma_address
450 of each element with: 455 of each element with:
@@ -672,6 +677,7 @@ pci_map_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents,
672 pci_unmap_sg(pdev, start, out - start, direction); 677 pci_unmap_sg(pdev, start, out - start, direction);
673 return 0; 678 return 0;
674} 679}
680EXPORT_SYMBOL(pci_map_sg);
675 681
676/* Unmap a set of streaming mode DMA translations. Again, cpu read 682/* Unmap a set of streaming mode DMA translations. Again, cpu read
677 rules concerning calls here are the same as for pci_unmap_single() 683 rules concerning calls here are the same as for pci_unmap_single()
@@ -752,6 +758,7 @@ pci_unmap_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents,
752 758
753 DBGA("pci_unmap_sg: %ld entries\n", nents - (end - sg)); 759 DBGA("pci_unmap_sg: %ld entries\n", nents - (end - sg));
754} 760}
761EXPORT_SYMBOL(pci_unmap_sg);
755 762
756 763
757/* Return whether the given PCI device DMA address mask can be 764/* Return whether the given PCI device DMA address mask can be
@@ -786,6 +793,7 @@ pci_dma_supported(struct pci_dev *pdev, u64 mask)
786 793
787 return 0; 794 return 0;
788} 795}
796EXPORT_SYMBOL(pci_dma_supported);
789 797
790 798
791/* 799/*
@@ -908,6 +916,7 @@ pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
908 916
909 return ok; 917 return ok;
910} 918}
919EXPORT_SYMBOL(pci_dac_dma_supported);
911 920
912dma64_addr_t 921dma64_addr_t
913pci_dac_page_to_dma(struct pci_dev *pdev, struct page *page, 922pci_dac_page_to_dma(struct pci_dev *pdev, struct page *page,
@@ -917,6 +926,7 @@ pci_dac_page_to_dma(struct pci_dev *pdev, struct page *page,
917 + __pa(page_address(page)) 926 + __pa(page_address(page))
918 + (dma64_addr_t) offset); 927 + (dma64_addr_t) offset);
919} 928}
929EXPORT_SYMBOL(pci_dac_page_to_dma);
920 930
921struct page * 931struct page *
922pci_dac_dma_to_page(struct pci_dev *pdev, dma64_addr_t dma_addr) 932pci_dac_dma_to_page(struct pci_dev *pdev, dma64_addr_t dma_addr)
@@ -924,13 +934,14 @@ pci_dac_dma_to_page(struct pci_dev *pdev, dma64_addr_t dma_addr)
924 unsigned long paddr = (dma_addr & PAGE_MASK) - alpha_mv.pci_dac_offset; 934 unsigned long paddr = (dma_addr & PAGE_MASK) - alpha_mv.pci_dac_offset;
925 return virt_to_page(__va(paddr)); 935 return virt_to_page(__va(paddr));
926} 936}
937EXPORT_SYMBOL(pci_dac_dma_to_page);
927 938
928unsigned long 939unsigned long
929pci_dac_dma_to_offset(struct pci_dev *pdev, dma64_addr_t dma_addr) 940pci_dac_dma_to_offset(struct pci_dev *pdev, dma64_addr_t dma_addr)
930{ 941{
931 return (dma_addr & ~PAGE_MASK); 942 return (dma_addr & ~PAGE_MASK);
932} 943}
933 944EXPORT_SYMBOL(pci_dac_dma_to_offset);
934 945
935/* Helper for generic DMA-mapping functions. */ 946/* Helper for generic DMA-mapping functions. */
936 947
@@ -957,6 +968,7 @@ alpha_gendev_to_pci(struct device *dev)
957 /* This assumes ISA bus master with dma_mask 0xffffff. */ 968 /* This assumes ISA bus master with dma_mask 0xffffff. */
958 return NULL; 969 return NULL;
959} 970}
971EXPORT_SYMBOL(alpha_gendev_to_pci);
960 972
961int 973int
962dma_set_mask(struct device *dev, u64 mask) 974dma_set_mask(struct device *dev, u64 mask)
@@ -969,3 +981,4 @@ dma_set_mask(struct device *dev, u64 mask)
969 981
970 return 0; 982 return 0;
971} 983}
984EXPORT_SYMBOL(dma_set_mask);
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index b3a8a2980365..3370e6faeae0 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -205,6 +205,7 @@ start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
205 regs->ps = 8; 205 regs->ps = 8;
206 wrusp(sp); 206 wrusp(sp);
207} 207}
208EXPORT_SYMBOL(start_thread);
208 209
209/* 210/*
210 * Free current thread data structures etc.. 211 * Free current thread data structures etc..
@@ -376,6 +377,7 @@ dump_thread(struct pt_regs * pt, struct user * dump)
376 dump->regs[EF_A2] = pt->r18; 377 dump->regs[EF_A2] = pt->r18;
377 memcpy((char *)dump->regs + EF_SIZE, sw->fp, 32 * 8); 378 memcpy((char *)dump->regs + EF_SIZE, sw->fp, 32 * 8);
378} 379}
380EXPORT_SYMBOL(dump_thread);
379 381
380/* 382/*
381 * Fill in the user structure for a ELF core dump. 383 * Fill in the user structure for a ELF core dump.
@@ -424,6 +426,7 @@ dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt, struct thread_info *ti)
424 useful value of the thread's UNIQUE field. */ 426 useful value of the thread's UNIQUE field. */
425 dest[32] = ti->pcb.unique; 427 dest[32] = ti->pcb.unique;
426} 428}
429EXPORT_SYMBOL(dump_elf_thread);
427 430
428int 431int
429dump_elf_task(elf_greg_t *dest, struct task_struct *task) 432dump_elf_task(elf_greg_t *dest, struct task_struct *task)
@@ -431,6 +434,7 @@ dump_elf_task(elf_greg_t *dest, struct task_struct *task)
431 dump_elf_thread(dest, task_pt_regs(task), task_thread_info(task)); 434 dump_elf_thread(dest, task_pt_regs(task), task_thread_info(task));
432 return 1; 435 return 1;
433} 436}
437EXPORT_SYMBOL(dump_elf_task);
434 438
435int 439int
436dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task) 440dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task)
@@ -439,6 +443,7 @@ dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task)
439 memcpy(dest, sw->fp, 32 * 8); 443 memcpy(dest, sw->fp, 32 * 8);
440 return 1; 444 return 1;
441} 445}
446EXPORT_SYMBOL(dump_elf_task_fp);
442 447
443/* 448/*
444 * sys_execve() executes a new program. 449 * sys_execve() executes a new program.
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
index a94e6d93e2ee..1aea7c7c683c 100644
--- a/arch/alpha/kernel/setup.c
+++ b/arch/alpha/kernel/setup.c
@@ -66,6 +66,7 @@ static struct notifier_block alpha_panic_block = {
66 66
67 67
68struct hwrpb_struct *hwrpb; 68struct hwrpb_struct *hwrpb;
69EXPORT_SYMBOL(hwrpb);
69unsigned long srm_hae; 70unsigned long srm_hae;
70 71
71int alpha_l1i_cacheshape; 72int alpha_l1i_cacheshape;
@@ -111,6 +112,7 @@ unsigned long alpha_agpgart_size = DEFAULT_AGP_APER_SIZE;
111#ifdef CONFIG_ALPHA_GENERIC 112#ifdef CONFIG_ALPHA_GENERIC
112struct alpha_machine_vector alpha_mv; 113struct alpha_machine_vector alpha_mv;
113int alpha_using_srm; 114int alpha_using_srm;
115EXPORT_SYMBOL(alpha_using_srm);
114#endif 116#endif
115 117
116static struct alpha_machine_vector *get_sysvec(unsigned long, unsigned long, 118static struct alpha_machine_vector *get_sysvec(unsigned long, unsigned long,
@@ -137,6 +139,8 @@ struct screen_info screen_info = {
137 .orig_video_points = 16 139 .orig_video_points = 16
138}; 140};
139 141
142EXPORT_SYMBOL(screen_info);
143
140/* 144/*
141 * The direct map I/O window, if any. This should be the same 145 * The direct map I/O window, if any. This should be the same
142 * for all busses, since it's used by virt_to_bus. 146 * for all busses, since it's used by virt_to_bus.
@@ -144,6 +148,8 @@ struct screen_info screen_info = {
144 148
145unsigned long __direct_map_base; 149unsigned long __direct_map_base;
146unsigned long __direct_map_size; 150unsigned long __direct_map_size;
151EXPORT_SYMBOL(__direct_map_base);
152EXPORT_SYMBOL(__direct_map_size);
147 153
148/* 154/*
149 * Declare all of the machine vectors. 155 * Declare all of the machine vectors.
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index 596780e2c7da..d1ec4f51df1a 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -52,6 +52,7 @@
52 52
53/* A collection of per-processor data. */ 53/* A collection of per-processor data. */
54struct cpuinfo_alpha cpu_data[NR_CPUS]; 54struct cpuinfo_alpha cpu_data[NR_CPUS];
55EXPORT_SYMBOL(cpu_data);
55 56
56/* A collection of single bit ipi messages. */ 57/* A collection of single bit ipi messages. */
57static struct { 58static struct {
@@ -74,6 +75,7 @@ EXPORT_SYMBOL(cpu_online_map);
74 75
75int smp_num_probed; /* Internal processor count */ 76int smp_num_probed; /* Internal processor count */
76int smp_num_cpus = 1; /* Number that came online. */ 77int smp_num_cpus = 1; /* Number that came online. */
78EXPORT_SYMBOL(smp_num_cpus);
77 79
78extern void calibrate_delay(void); 80extern void calibrate_delay(void);
79 81
@@ -790,6 +792,7 @@ smp_call_function_on_cpu (void (*func) (void *info), void *info, int retry,
790 792
791 return 0; 793 return 0;
792} 794}
795EXPORT_SYMBOL(smp_call_function_on_cpu);
793 796
794int 797int
795smp_call_function (void (*func) (void *info), void *info, int retry, int wait) 798smp_call_function (void (*func) (void *info), void *info, int retry, int wait)
@@ -797,6 +800,7 @@ smp_call_function (void (*func) (void *info), void *info, int retry, int wait)
797 return smp_call_function_on_cpu (func, info, retry, wait, 800 return smp_call_function_on_cpu (func, info, retry, wait,
798 cpu_online_map); 801 cpu_online_map);
799} 802}
803EXPORT_SYMBOL(smp_call_function);
800 804
801static void 805static void
802ipi_imb(void *ignored) 806ipi_imb(void *ignored)
@@ -811,6 +815,7 @@ smp_imb(void)
811 if (on_each_cpu(ipi_imb, NULL, 1, 1)) 815 if (on_each_cpu(ipi_imb, NULL, 1, 1))
812 printk(KERN_CRIT "smp_imb: timed out\n"); 816 printk(KERN_CRIT "smp_imb: timed out\n");
813} 817}
818EXPORT_SYMBOL(smp_imb);
814 819
815static void 820static void
816ipi_flush_tlb_all(void *ignored) 821ipi_flush_tlb_all(void *ignored)
@@ -866,6 +871,7 @@ flush_tlb_mm(struct mm_struct *mm)
866 871
867 preempt_enable(); 872 preempt_enable();
868} 873}
874EXPORT_SYMBOL(flush_tlb_mm);
869 875
870struct flush_tlb_page_struct { 876struct flush_tlb_page_struct {
871 struct vm_area_struct *vma; 877 struct vm_area_struct *vma;
@@ -918,6 +924,7 @@ flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)
918 924
919 preempt_enable(); 925 preempt_enable();
920} 926}
927EXPORT_SYMBOL(flush_tlb_page);
921 928
922void 929void
923flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) 930flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end)
@@ -925,6 +932,7 @@ flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long e
925 /* On the Alpha we always flush the whole user tlb. */ 932 /* On the Alpha we always flush the whole user tlb. */
926 flush_tlb_mm(vma->vm_mm); 933 flush_tlb_mm(vma->vm_mm);
927} 934}
935EXPORT_SYMBOL(flush_tlb_range);
928 936
929static void 937static void
930ipi_flush_icache_page(void *x) 938ipi_flush_icache_page(void *x)
diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c
index cf0666523989..d7053eb4ffcf 100644
--- a/arch/alpha/kernel/time.c
+++ b/arch/alpha/kernel/time.c
@@ -57,6 +57,7 @@
57static int set_rtc_mmss(unsigned long); 57static int set_rtc_mmss(unsigned long);
58 58
59DEFINE_SPINLOCK(rtc_lock); 59DEFINE_SPINLOCK(rtc_lock);
60EXPORT_SYMBOL(rtc_lock);
60 61
61#define TICK_SIZE (tick_nsec / 1000) 62#define TICK_SIZE (tick_nsec / 1000)
62 63
diff --git a/arch/alpha/mm/numa.c b/arch/alpha/mm/numa.c
index b826f58c6e72..e3e3806a6f25 100644
--- a/arch/alpha/mm/numa.c
+++ b/arch/alpha/mm/numa.c
@@ -13,12 +13,14 @@
13#include <linux/swap.h> 13#include <linux/swap.h>
14#include <linux/initrd.h> 14#include <linux/initrd.h>
15#include <linux/pfn.h> 15#include <linux/pfn.h>
16#include <linux/module.h>
16 17
17#include <asm/hwrpb.h> 18#include <asm/hwrpb.h>
18#include <asm/pgalloc.h> 19#include <asm/pgalloc.h>
19 20
20pg_data_t node_data[MAX_NUMNODES]; 21pg_data_t node_data[MAX_NUMNODES];
21bootmem_data_t node_bdata[MAX_NUMNODES]; 22bootmem_data_t node_bdata[MAX_NUMNODES];
23EXPORT_SYMBOL(node_data);
22 24
23#undef DEBUG_DISCONTIG 25#undef DEBUG_DISCONTIG
24#ifdef DEBUG_DISCONTIG 26#ifdef DEBUG_DISCONTIG