diff options
| author | Andi Kleen <ak@suse.de> | 2006-06-26 07:59:44 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 13:48:22 -0400 |
| commit | 2ee60e17896c65da1df5780d3196c050bccb7d10 (patch) | |
| tree | 54b41b23c92a79e44c7f27c697c84c64052cb85d | |
| parent | 45486f81c9aa07218b73a38cbcf62ffa66e99088 (diff) | |
[PATCH] x86_64: Move export symbols to their C functions
Only exports for assembler files are left in x8664_ksyms.c
Originally inspired by a patch from Al Viro
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | arch/x86_64/kernel/e820.c | 1 | ||||
| -rw-r--r-- | arch/x86_64/kernel/process.c | 1 | ||||
| -rw-r--r-- | arch/x86_64/kernel/reboot.c | 1 | ||||
| -rw-r--r-- | arch/x86_64/kernel/setup.c | 2 | ||||
| -rw-r--r-- | arch/x86_64/kernel/setup64.c | 2 | ||||
| -rw-r--r-- | arch/x86_64/kernel/smp.c | 4 | ||||
| -rw-r--r-- | arch/x86_64/kernel/smpboot.c | 5 | ||||
| -rw-r--r-- | arch/x86_64/kernel/time.c | 2 | ||||
| -rw-r--r-- | arch/x86_64/kernel/traps.c | 2 | ||||
| -rw-r--r-- | arch/x86_64/kernel/x8664_ksyms.c | 114 | ||||
| -rw-r--r-- | arch/x86_64/lib/csum-partial.c | 1 | ||||
| -rw-r--r-- | arch/x86_64/lib/csum-wrappers.c | 1 | ||||
| -rw-r--r-- | arch/x86_64/lib/delay.c | 5 | ||||
| -rw-r--r-- | arch/x86_64/lib/memmove.c | 2 | ||||
| -rw-r--r-- | arch/x86_64/lib/usercopy.c | 11 | ||||
| -rw-r--r-- | arch/x86_64/mm/ioremap.c | 5 |
16 files changed, 49 insertions, 110 deletions
diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c index d8ea250f3925..9e94d834624b 100644 --- a/arch/x86_64/kernel/e820.c +++ b/arch/x86_64/kernel/e820.c | |||
| @@ -620,6 +620,7 @@ void __init parse_memmapopt(char *p, char **from) | |||
| 620 | } | 620 | } |
| 621 | 621 | ||
| 622 | unsigned long pci_mem_start = 0xaeedbabe; | 622 | unsigned long pci_mem_start = 0xaeedbabe; |
| 623 | EXPORT_SYMBOL(pci_mem_start); | ||
| 623 | 624 | ||
| 624 | /* | 625 | /* |
| 625 | * Search for the biggest gap in the low 32 bits of the e820 | 626 | * Search for the biggest gap in the low 32 bits of the e820 |
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c index b596837a1527..ca56e19b8b6e 100644 --- a/arch/x86_64/kernel/process.c +++ b/arch/x86_64/kernel/process.c | |||
| @@ -63,6 +63,7 @@ EXPORT_SYMBOL(boot_option_idle_override); | |||
| 63 | * Powermanagement idle function, if any.. | 63 | * Powermanagement idle function, if any.. |
| 64 | */ | 64 | */ |
| 65 | void (*pm_idle)(void); | 65 | void (*pm_idle)(void); |
| 66 | EXPORT_SYMBOL(pm_idle); | ||
| 66 | static DEFINE_PER_CPU(unsigned int, cpu_idle_state); | 67 | static DEFINE_PER_CPU(unsigned int, cpu_idle_state); |
| 67 | 68 | ||
| 68 | static ATOMIC_NOTIFIER_HEAD(idle_notifier); | 69 | static ATOMIC_NOTIFIER_HEAD(idle_notifier); |
diff --git a/arch/x86_64/kernel/reboot.c b/arch/x86_64/kernel/reboot.c index 57117b8beb2b..2d6769847456 100644 --- a/arch/x86_64/kernel/reboot.c +++ b/arch/x86_64/kernel/reboot.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | * Power off function, if any | 20 | * Power off function, if any |
| 21 | */ | 21 | */ |
| 22 | void (*pm_power_off)(void); | 22 | void (*pm_power_off)(void); |
| 23 | EXPORT_SYMBOL(pm_power_off); | ||
| 23 | 24 | ||
| 24 | static long no_idt[3]; | 25 | static long no_idt[3]; |
| 25 | static enum { | 26 | static enum { |
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index 0d2d4f67aa73..2a5fce0fd1c4 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
| @@ -71,6 +71,7 @@ | |||
| 71 | */ | 71 | */ |
| 72 | 72 | ||
| 73 | struct cpuinfo_x86 boot_cpu_data __read_mostly; | 73 | struct cpuinfo_x86 boot_cpu_data __read_mostly; |
| 74 | EXPORT_SYMBOL(boot_cpu_data); | ||
| 74 | 75 | ||
| 75 | unsigned long mmu_cr4_features; | 76 | unsigned long mmu_cr4_features; |
| 76 | 77 | ||
| @@ -99,6 +100,7 @@ char dmi_alloc_data[DMI_MAX_DATA]; | |||
| 99 | * Setup options | 100 | * Setup options |
| 100 | */ | 101 | */ |
| 101 | struct screen_info screen_info; | 102 | struct screen_info screen_info; |
| 103 | EXPORT_SYMBOL(screen_info); | ||
| 102 | struct sys_desc_table_struct { | 104 | struct sys_desc_table_struct { |
| 103 | unsigned short length; | 105 | unsigned short length; |
| 104 | unsigned char table[0]; | 106 | unsigned char table[0]; |
diff --git a/arch/x86_64/kernel/setup64.c b/arch/x86_64/kernel/setup64.c index e5bf22a01edb..f5934cb4a2b6 100644 --- a/arch/x86_64/kernel/setup64.c +++ b/arch/x86_64/kernel/setup64.c | |||
| @@ -30,6 +30,7 @@ char x86_boot_params[BOOT_PARAM_SIZE] __initdata = {0,}; | |||
| 30 | cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE; | 30 | cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE; |
| 31 | 31 | ||
| 32 | struct x8664_pda *_cpu_pda[NR_CPUS] __read_mostly; | 32 | struct x8664_pda *_cpu_pda[NR_CPUS] __read_mostly; |
| 33 | EXPORT_SYMBOL(_cpu_pda); | ||
| 33 | struct x8664_pda boot_cpu_pda[NR_CPUS] __cacheline_aligned; | 34 | struct x8664_pda boot_cpu_pda[NR_CPUS] __cacheline_aligned; |
| 34 | 35 | ||
| 35 | struct desc_ptr idt_descr = { 256 * 16 - 1, (unsigned long) idt_table }; | 36 | struct desc_ptr idt_descr = { 256 * 16 - 1, (unsigned long) idt_table }; |
| @@ -37,6 +38,7 @@ struct desc_ptr idt_descr = { 256 * 16 - 1, (unsigned long) idt_table }; | |||
| 37 | char boot_cpu_stack[IRQSTACKSIZE] __attribute__((section(".bss.page_aligned"))); | 38 | char boot_cpu_stack[IRQSTACKSIZE] __attribute__((section(".bss.page_aligned"))); |
| 38 | 39 | ||
| 39 | unsigned long __supported_pte_mask __read_mostly = ~0UL; | 40 | unsigned long __supported_pte_mask __read_mostly = ~0UL; |
| 41 | EXPORT_SYMBOL(__supported_pte_mask); | ||
| 40 | static int do_not_nx __cpuinitdata = 0; | 42 | static int do_not_nx __cpuinitdata = 0; |
| 41 | 43 | ||
| 42 | /* noexec=on|off | 44 | /* noexec=on|off |
diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c index 5885b8f044b2..8188bae9c6d5 100644 --- a/arch/x86_64/kernel/smp.c +++ b/arch/x86_64/kernel/smp.c | |||
| @@ -224,6 +224,7 @@ void flush_tlb_current_task(void) | |||
| 224 | flush_tlb_others(cpu_mask, mm, FLUSH_ALL); | 224 | flush_tlb_others(cpu_mask, mm, FLUSH_ALL); |
| 225 | preempt_enable(); | 225 | preempt_enable(); |
| 226 | } | 226 | } |
| 227 | EXPORT_SYMBOL(flush_tlb_current_task); | ||
| 227 | 228 | ||
| 228 | void flush_tlb_mm (struct mm_struct * mm) | 229 | void flush_tlb_mm (struct mm_struct * mm) |
| 229 | { | 230 | { |
| @@ -244,6 +245,7 @@ void flush_tlb_mm (struct mm_struct * mm) | |||
| 244 | 245 | ||
| 245 | preempt_enable(); | 246 | preempt_enable(); |
| 246 | } | 247 | } |
| 248 | EXPORT_SYMBOL(flush_tlb_mm); | ||
| 247 | 249 | ||
| 248 | void flush_tlb_page(struct vm_area_struct * vma, unsigned long va) | 250 | void flush_tlb_page(struct vm_area_struct * vma, unsigned long va) |
| 249 | { | 251 | { |
| @@ -266,6 +268,7 @@ void flush_tlb_page(struct vm_area_struct * vma, unsigned long va) | |||
| 266 | 268 | ||
| 267 | preempt_enable(); | 269 | preempt_enable(); |
| 268 | } | 270 | } |
| 271 | EXPORT_SYMBOL(flush_tlb_page); | ||
| 269 | 272 | ||
| 270 | static void do_flush_tlb_all(void* info) | 273 | static void do_flush_tlb_all(void* info) |
| 271 | { | 274 | { |
| @@ -443,6 +446,7 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic, | |||
| 443 | spin_unlock(&call_lock); | 446 | spin_unlock(&call_lock); |
| 444 | return 0; | 447 | return 0; |
| 445 | } | 448 | } |
| 449 | EXPORT_SYMBOL(smp_call_function); | ||
| 446 | 450 | ||
| 447 | void smp_stop_cpu(void) | 451 | void smp_stop_cpu(void) |
| 448 | { | 452 | { |
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index b1c10b154bfe..4e9755179ecf 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c | |||
| @@ -63,9 +63,11 @@ | |||
| 63 | 63 | ||
| 64 | /* Number of siblings per CPU package */ | 64 | /* Number of siblings per CPU package */ |
| 65 | int smp_num_siblings = 1; | 65 | int smp_num_siblings = 1; |
| 66 | EXPORT_SYMBOL(smp_num_siblings); | ||
| 66 | 67 | ||
| 67 | /* Last level cache ID of each logical CPU */ | 68 | /* Last level cache ID of each logical CPU */ |
| 68 | u8 cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID}; | 69 | u8 cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID}; |
| 70 | EXPORT_SYMBOL(cpu_llc_id); | ||
| 69 | 71 | ||
| 70 | /* Bitmask of currently online CPUs */ | 72 | /* Bitmask of currently online CPUs */ |
| 71 | cpumask_t cpu_online_map __read_mostly; | 73 | cpumask_t cpu_online_map __read_mostly; |
| @@ -78,18 +80,21 @@ EXPORT_SYMBOL(cpu_online_map); | |||
| 78 | */ | 80 | */ |
| 79 | cpumask_t cpu_callin_map; | 81 | cpumask_t cpu_callin_map; |
| 80 | cpumask_t cpu_callout_map; | 82 | cpumask_t cpu_callout_map; |
| 83 | EXPORT_SYMBOL(cpu_callout_map); | ||
| 81 | 84 | ||
| 82 | cpumask_t cpu_possible_map; | 85 | cpumask_t cpu_possible_map; |
| 83 | EXPORT_SYMBOL(cpu_possible_map); | 86 | EXPORT_SYMBOL(cpu_possible_map); |
| 84 | 87 | ||
| 85 | /* Per CPU bogomips and other parameters */ | 88 | /* Per CPU bogomips and other parameters */ |
| 86 | struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned; | 89 | struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned; |
| 90 | EXPORT_SYMBOL(cpu_data); | ||
| 87 | 91 | ||
| 88 | /* Set when the idlers are all forked */ | 92 | /* Set when the idlers are all forked */ |
| 89 | int smp_threads_ready; | 93 | int smp_threads_ready; |
| 90 | 94 | ||
| 91 | /* representing HT siblings of each logical CPU */ | 95 | /* representing HT siblings of each logical CPU */ |
| 92 | cpumask_t cpu_sibling_map[NR_CPUS] __read_mostly; | 96 | cpumask_t cpu_sibling_map[NR_CPUS] __read_mostly; |
| 97 | EXPORT_SYMBOL(cpu_sibling_map); | ||
| 93 | 98 | ||
| 94 | /* representing HT and core siblings of each logical CPU */ | 99 | /* representing HT and core siblings of each logical CPU */ |
| 95 | cpumask_t cpu_core_map[NR_CPUS] __read_mostly; | 100 | cpumask_t cpu_core_map[NR_CPUS] __read_mostly; |
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index 2125d6c05ff7..ebbee6f59ff5 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
| @@ -51,6 +51,7 @@ extern int using_apic_timer; | |||
| 51 | static char *time_init_gtod(void); | 51 | static char *time_init_gtod(void); |
| 52 | 52 | ||
| 53 | DEFINE_SPINLOCK(rtc_lock); | 53 | DEFINE_SPINLOCK(rtc_lock); |
| 54 | EXPORT_SYMBOL(rtc_lock); | ||
| 54 | DEFINE_SPINLOCK(i8253_lock); | 55 | DEFINE_SPINLOCK(i8253_lock); |
| 55 | 56 | ||
| 56 | int nohpet __initdata = 0; | 57 | int nohpet __initdata = 0; |
| @@ -64,6 +65,7 @@ static int notsc __initdata = 0; | |||
| 64 | #define US_SCALE 32 /* 2^32, arbitralrily chosen */ | 65 | #define US_SCALE 32 /* 2^32, arbitralrily chosen */ |
| 65 | 66 | ||
| 66 | unsigned int cpu_khz; /* TSC clocks / usec, not used here */ | 67 | unsigned int cpu_khz; /* TSC clocks / usec, not used here */ |
| 68 | EXPORT_SYMBOL(cpu_khz); | ||
| 67 | static unsigned long hpet_period; /* fsecs / HPET clock */ | 69 | static unsigned long hpet_period; /* fsecs / HPET clock */ |
| 68 | unsigned long hpet_tick; /* HPET clocks / interrupt */ | 70 | unsigned long hpet_tick; /* HPET clocks / interrupt */ |
| 69 | int hpet_use_timer; /* Use counter of hpet for time keeping, otherwise PIT */ | 71 | int hpet_use_timer; /* Use counter of hpet for time keeping, otherwise PIT */ |
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 08f24359bfc1..3d11a2fe45b7 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
| @@ -70,6 +70,7 @@ asmlinkage void machine_check(void); | |||
| 70 | asmlinkage void spurious_interrupt_bug(void); | 70 | asmlinkage void spurious_interrupt_bug(void); |
| 71 | 71 | ||
| 72 | ATOMIC_NOTIFIER_HEAD(die_chain); | 72 | ATOMIC_NOTIFIER_HEAD(die_chain); |
| 73 | EXPORT_SYMBOL(die_chain); | ||
| 73 | 74 | ||
| 74 | int register_die_notifier(struct notifier_block *nb) | 75 | int register_die_notifier(struct notifier_block *nb) |
| 75 | { | 76 | { |
| @@ -431,6 +432,7 @@ void out_of_line_bug(void) | |||
| 431 | { | 432 | { |
| 432 | BUG(); | 433 | BUG(); |
| 433 | } | 434 | } |
| 435 | EXPORT_SYMBOL(out_of_line_bug); | ||
| 434 | #endif | 436 | #endif |
| 435 | 437 | ||
| 436 | static DEFINE_SPINLOCK(die_lock); | 438 | static DEFINE_SPINLOCK(die_lock); |
diff --git a/arch/x86_64/kernel/x8664_ksyms.c b/arch/x86_64/kernel/x8664_ksyms.c index 1def21c9f7cd..370952c4ff22 100644 --- a/arch/x86_64/kernel/x8664_ksyms.c +++ b/arch/x86_64/kernel/x8664_ksyms.c | |||
| @@ -1,66 +1,21 @@ | |||
| 1 | /* Exports for assembly files. | ||
| 2 | All C exports should go in the respective C files. */ | ||
| 3 | |||
| 1 | #include <linux/config.h> | 4 | #include <linux/config.h> |
| 2 | #include <linux/module.h> | 5 | #include <linux/module.h> |
| 3 | #include <linux/smp.h> | 6 | #include <linux/smp.h> |
| 4 | #include <linux/user.h> | ||
| 5 | #include <linux/sched.h> | ||
| 6 | #include <linux/in6.h> | ||
| 7 | #include <linux/interrupt.h> | ||
| 8 | #include <linux/smp_lock.h> | ||
| 9 | #include <linux/pm.h> | ||
| 10 | #include <linux/pci.h> | ||
| 11 | #include <linux/apm_bios.h> | ||
| 12 | #include <linux/kernel.h> | ||
| 13 | #include <linux/string.h> | ||
| 14 | #include <linux/syscalls.h> | ||
| 15 | #include <linux/tty.h> | ||
| 16 | 7 | ||
| 17 | #include <asm/semaphore.h> | 8 | #include <asm/semaphore.h> |
| 18 | #include <asm/processor.h> | 9 | #include <asm/processor.h> |
| 19 | #include <asm/i387.h> | ||
| 20 | #include <asm/uaccess.h> | 10 | #include <asm/uaccess.h> |
| 21 | #include <asm/checksum.h> | ||
| 22 | #include <asm/io.h> | ||
| 23 | #include <asm/delay.h> | ||
| 24 | #include <asm/irq.h> | ||
| 25 | #include <asm/mmx.h> | ||
| 26 | #include <asm/desc.h> | ||
| 27 | #include <asm/pgtable.h> | 11 | #include <asm/pgtable.h> |
| 28 | #include <asm/pgalloc.h> | ||
| 29 | #include <asm/nmi.h> | ||
| 30 | #include <asm/kdebug.h> | ||
| 31 | #include <asm/unistd.h> | ||
| 32 | #include <asm/tlbflush.h> | ||
| 33 | #include <asm/kdebug.h> | ||
| 34 | |||
| 35 | extern spinlock_t rtc_lock; | ||
| 36 | 12 | ||
| 37 | #ifdef CONFIG_SMP | ||
| 38 | extern void __write_lock_failed(rwlock_t *rw); | ||
| 39 | extern void __read_lock_failed(rwlock_t *rw); | ||
| 40 | #endif | ||
| 41 | |||
| 42 | /* platform dependent support */ | ||
| 43 | EXPORT_SYMBOL(boot_cpu_data); | ||
| 44 | //EXPORT_SYMBOL(dump_fpu); | ||
| 45 | EXPORT_SYMBOL(__ioremap); | ||
| 46 | EXPORT_SYMBOL(ioremap_nocache); | ||
| 47 | EXPORT_SYMBOL(iounmap); | ||
| 48 | EXPORT_SYMBOL(kernel_thread); | 13 | EXPORT_SYMBOL(kernel_thread); |
| 49 | EXPORT_SYMBOL(pm_idle); | ||
| 50 | EXPORT_SYMBOL(pm_power_off); | ||
| 51 | 14 | ||
| 52 | EXPORT_SYMBOL(__down_failed); | 15 | EXPORT_SYMBOL(__down_failed); |
| 53 | EXPORT_SYMBOL(__down_failed_interruptible); | 16 | EXPORT_SYMBOL(__down_failed_interruptible); |
| 54 | EXPORT_SYMBOL(__down_failed_trylock); | 17 | EXPORT_SYMBOL(__down_failed_trylock); |
| 55 | EXPORT_SYMBOL(__up_wakeup); | 18 | EXPORT_SYMBOL(__up_wakeup); |
| 56 | /* Networking helper routines. */ | ||
| 57 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | ||
| 58 | EXPORT_SYMBOL(ip_compute_csum); | ||
| 59 | /* Delay loops */ | ||
| 60 | EXPORT_SYMBOL(__udelay); | ||
| 61 | EXPORT_SYMBOL(__ndelay); | ||
| 62 | EXPORT_SYMBOL(__delay); | ||
| 63 | EXPORT_SYMBOL(__const_udelay); | ||
| 64 | 19 | ||
| 65 | EXPORT_SYMBOL(__get_user_1); | 20 | EXPORT_SYMBOL(__get_user_1); |
| 66 | EXPORT_SYMBOL(__get_user_2); | 21 | EXPORT_SYMBOL(__get_user_2); |
| @@ -71,42 +26,20 @@ EXPORT_SYMBOL(__put_user_2); | |||
| 71 | EXPORT_SYMBOL(__put_user_4); | 26 | EXPORT_SYMBOL(__put_user_4); |
| 72 | EXPORT_SYMBOL(__put_user_8); | 27 | EXPORT_SYMBOL(__put_user_8); |
| 73 | 28 | ||
| 74 | EXPORT_SYMBOL(strncpy_from_user); | ||
| 75 | EXPORT_SYMBOL(__strncpy_from_user); | ||
| 76 | EXPORT_SYMBOL(clear_user); | ||
| 77 | EXPORT_SYMBOL(__clear_user); | ||
| 78 | EXPORT_SYMBOL(copy_user_generic); | 29 | EXPORT_SYMBOL(copy_user_generic); |
| 79 | EXPORT_SYMBOL(copy_from_user); | 30 | EXPORT_SYMBOL(copy_from_user); |
| 80 | EXPORT_SYMBOL(copy_to_user); | 31 | EXPORT_SYMBOL(copy_to_user); |
| 81 | EXPORT_SYMBOL(copy_in_user); | ||
| 82 | EXPORT_SYMBOL(strnlen_user); | ||
| 83 | |||
| 84 | #ifdef CONFIG_PCI | ||
| 85 | EXPORT_SYMBOL(pci_mem_start); | ||
| 86 | #endif | ||
| 87 | 32 | ||
| 88 | EXPORT_SYMBOL(copy_page); | 33 | EXPORT_SYMBOL(copy_page); |
| 89 | EXPORT_SYMBOL(clear_page); | 34 | EXPORT_SYMBOL(clear_page); |
| 90 | 35 | ||
| 91 | EXPORT_SYMBOL(_cpu_pda); | ||
| 92 | #ifdef CONFIG_SMP | 36 | #ifdef CONFIG_SMP |
| 93 | EXPORT_SYMBOL(cpu_data); | 37 | extern void FASTCALL( __write_lock_failed(rwlock_t *rw)); |
| 38 | extern void FASTCALL( __read_lock_failed(rwlock_t *rw)); | ||
| 94 | EXPORT_SYMBOL(__write_lock_failed); | 39 | EXPORT_SYMBOL(__write_lock_failed); |
| 95 | EXPORT_SYMBOL(__read_lock_failed); | 40 | EXPORT_SYMBOL(__read_lock_failed); |
| 96 | |||
| 97 | EXPORT_SYMBOL(smp_call_function); | ||
| 98 | EXPORT_SYMBOL(cpu_callout_map); | ||
| 99 | #endif | ||
| 100 | |||
| 101 | #ifdef CONFIG_VT | ||
| 102 | EXPORT_SYMBOL(screen_info); | ||
| 103 | #endif | 41 | #endif |
| 104 | 42 | ||
| 105 | EXPORT_SYMBOL(rtc_lock); | ||
| 106 | |||
| 107 | EXPORT_SYMBOL_GPL(set_nmi_callback); | ||
| 108 | EXPORT_SYMBOL_GPL(unset_nmi_callback); | ||
| 109 | |||
| 110 | /* Export string functions. We normally rely on gcc builtin for most of these, | 43 | /* Export string functions. We normally rely on gcc builtin for most of these, |
| 111 | but gcc sometimes decides not to inline them. */ | 44 | but gcc sometimes decides not to inline them. */ |
| 112 | #undef memcpy | 45 | #undef memcpy |
| @@ -114,51 +47,14 @@ EXPORT_SYMBOL_GPL(unset_nmi_callback); | |||
| 114 | #undef memmove | 47 | #undef memmove |
| 115 | 48 | ||
| 116 | extern void * memset(void *,int,__kernel_size_t); | 49 | extern void * memset(void *,int,__kernel_size_t); |
| 117 | extern size_t strlen(const char *); | ||
| 118 | extern void * memmove(void * dest,const void *src,size_t count); | ||
| 119 | extern void * memcpy(void *,const void *,__kernel_size_t); | 50 | extern void * memcpy(void *,const void *,__kernel_size_t); |
| 120 | extern void * __memcpy(void *,const void *,__kernel_size_t); | 51 | extern void * __memcpy(void *,const void *,__kernel_size_t); |
| 121 | 52 | ||
| 122 | EXPORT_SYMBOL(memset); | 53 | EXPORT_SYMBOL(memset); |
| 123 | EXPORT_SYMBOL(memmove); | ||
| 124 | EXPORT_SYMBOL(memcpy); | 54 | EXPORT_SYMBOL(memcpy); |
| 125 | EXPORT_SYMBOL(__memcpy); | 55 | EXPORT_SYMBOL(__memcpy); |
| 126 | 56 | ||
| 127 | #ifdef CONFIG_RWSEM_XCHGADD_ALGORITHM | ||
| 128 | /* prototypes are wrong, these are assembly with custom calling functions */ | ||
| 129 | extern void rwsem_down_read_failed_thunk(void); | ||
| 130 | extern void rwsem_wake_thunk(void); | ||
| 131 | extern void rwsem_downgrade_thunk(void); | ||
| 132 | extern void rwsem_down_write_failed_thunk(void); | ||
| 133 | EXPORT_SYMBOL(rwsem_down_read_failed_thunk); | ||
| 134 | EXPORT_SYMBOL(rwsem_wake_thunk); | ||
| 135 | EXPORT_SYMBOL(rwsem_downgrade_thunk); | ||
| 136 | EXPORT_SYMBOL(rwsem_down_write_failed_thunk); | ||
| 137 | #endif | ||
| 138 | |||
| 139 | EXPORT_SYMBOL(empty_zero_page); | 57 | EXPORT_SYMBOL(empty_zero_page); |
| 140 | |||
| 141 | EXPORT_SYMBOL(die_chain); | ||
| 142 | |||
| 143 | #ifdef CONFIG_SMP | ||
| 144 | EXPORT_SYMBOL(cpu_sibling_map); | ||
| 145 | EXPORT_SYMBOL(smp_num_siblings); | ||
| 146 | #endif | ||
| 147 | |||
| 148 | #ifdef CONFIG_BUG | ||
| 149 | EXPORT_SYMBOL(out_of_line_bug); | ||
| 150 | #endif | ||
| 151 | |||
| 152 | EXPORT_SYMBOL(init_level4_pgt); | 58 | EXPORT_SYMBOL(init_level4_pgt); |
| 153 | |||
| 154 | extern unsigned long __supported_pte_mask; | ||
| 155 | EXPORT_SYMBOL(__supported_pte_mask); | ||
| 156 | |||
| 157 | #ifdef CONFIG_SMP | ||
| 158 | EXPORT_SYMBOL(flush_tlb_page); | ||
| 159 | #endif | ||
| 160 | |||
| 161 | EXPORT_SYMBOL(cpu_khz); | ||
| 162 | |||
| 163 | EXPORT_SYMBOL(load_gs_index); | 59 | EXPORT_SYMBOL(load_gs_index); |
| 164 | 60 | ||
diff --git a/arch/x86_64/lib/csum-partial.c b/arch/x86_64/lib/csum-partial.c index 5384e227cdf6..c493735218da 100644 --- a/arch/x86_64/lib/csum-partial.c +++ b/arch/x86_64/lib/csum-partial.c | |||
| @@ -147,4 +147,5 @@ unsigned short ip_compute_csum(unsigned char * buff, int len) | |||
| 147 | { | 147 | { |
| 148 | return csum_fold(csum_partial(buff,len,0)); | 148 | return csum_fold(csum_partial(buff,len,0)); |
| 149 | } | 149 | } |
| 150 | EXPORT_SYMBOL(ip_compute_csum); | ||
| 150 | 151 | ||
diff --git a/arch/x86_64/lib/csum-wrappers.c b/arch/x86_64/lib/csum-wrappers.c index 94323f20816e..b1320ec58428 100644 --- a/arch/x86_64/lib/csum-wrappers.c +++ b/arch/x86_64/lib/csum-wrappers.c | |||
| @@ -109,6 +109,7 @@ csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst, int len, | |||
| 109 | { | 109 | { |
| 110 | return csum_partial_copy_generic(src,dst,len,sum,NULL,NULL); | 110 | return csum_partial_copy_generic(src,dst,len,sum,NULL,NULL); |
| 111 | } | 111 | } |
| 112 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | ||
| 112 | 113 | ||
| 113 | unsigned short csum_ipv6_magic(struct in6_addr *saddr, struct in6_addr *daddr, | 114 | unsigned short csum_ipv6_magic(struct in6_addr *saddr, struct in6_addr *daddr, |
| 114 | __u32 len, unsigned short proto, unsigned int sum) | 115 | __u32 len, unsigned short proto, unsigned int sum) |
diff --git a/arch/x86_64/lib/delay.c b/arch/x86_64/lib/delay.c index 03c460cbdd1c..b6cd3cca2f45 100644 --- a/arch/x86_64/lib/delay.c +++ b/arch/x86_64/lib/delay.c | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #include <linux/config.h> | 11 | #include <linux/config.h> |
| 12 | #include <linux/module.h> | ||
| 12 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
| 13 | #include <linux/delay.h> | 14 | #include <linux/delay.h> |
| 14 | #include <asm/delay.h> | 15 | #include <asm/delay.h> |
| @@ -36,18 +37,22 @@ void __delay(unsigned long loops) | |||
| 36 | } | 37 | } |
| 37 | while((now-bclock) < loops); | 38 | while((now-bclock) < loops); |
| 38 | } | 39 | } |
| 40 | EXPORT_SYMBOL(__delay); | ||
| 39 | 41 | ||
| 40 | inline void __const_udelay(unsigned long xloops) | 42 | inline void __const_udelay(unsigned long xloops) |
| 41 | { | 43 | { |
| 42 | __delay((xloops * HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy) >> 32); | 44 | __delay((xloops * HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy) >> 32); |
| 43 | } | 45 | } |
| 46 | EXPORT_SYMBOL(__const_udelay); | ||
| 44 | 47 | ||
| 45 | void __udelay(unsigned long usecs) | 48 | void __udelay(unsigned long usecs) |
| 46 | { | 49 | { |
| 47 | __const_udelay(usecs * 0x000010c6); /* 2**32 / 1000000 */ | 50 | __const_udelay(usecs * 0x000010c6); /* 2**32 / 1000000 */ |
| 48 | } | 51 | } |
| 52 | EXPORT_SYMBOL(__udelay); | ||
| 49 | 53 | ||
| 50 | void __ndelay(unsigned long nsecs) | 54 | void __ndelay(unsigned long nsecs) |
| 51 | { | 55 | { |
| 52 | __const_udelay(nsecs * 0x00005); /* 2**32 / 1000000000 (rounded up) */ | 56 | __const_udelay(nsecs * 0x00005); /* 2**32 / 1000000000 (rounded up) */ |
| 53 | } | 57 | } |
| 58 | EXPORT_SYMBOL(__ndelay); | ||
diff --git a/arch/x86_64/lib/memmove.c b/arch/x86_64/lib/memmove.c index e93d5255fdc9..517eb1bd9de5 100644 --- a/arch/x86_64/lib/memmove.c +++ b/arch/x86_64/lib/memmove.c | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | */ | 3 | */ |
| 4 | #define _STRING_C | 4 | #define _STRING_C |
| 5 | #include <linux/string.h> | 5 | #include <linux/string.h> |
| 6 | #include <linux/module.h> | ||
| 6 | 7 | ||
| 7 | #undef memmove | 8 | #undef memmove |
| 8 | void *memmove(void * dest,const void *src,size_t count) | 9 | void *memmove(void * dest,const void *src,size_t count) |
| @@ -17,3 +18,4 @@ void *memmove(void * dest,const void *src,size_t count) | |||
| 17 | } | 18 | } |
| 18 | return dest; | 19 | return dest; |
| 19 | } | 20 | } |
| 21 | EXPORT_SYMBOL(memmove); | ||
diff --git a/arch/x86_64/lib/usercopy.c b/arch/x86_64/lib/usercopy.c index 9bc2c295818e..a82bfacdb1af 100644 --- a/arch/x86_64/lib/usercopy.c +++ b/arch/x86_64/lib/usercopy.c | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | * Copyright 1997 Linus Torvalds | 5 | * Copyright 1997 Linus Torvalds |
| 6 | * Copyright 2002 Andi Kleen <ak@suse.de> | 6 | * Copyright 2002 Andi Kleen <ak@suse.de> |
| 7 | */ | 7 | */ |
| 8 | #include <linux/module.h> | ||
| 8 | #include <asm/uaccess.h> | 9 | #include <asm/uaccess.h> |
| 9 | 10 | ||
| 10 | /* | 11 | /* |
| @@ -47,6 +48,7 @@ __strncpy_from_user(char *dst, const char __user *src, long count) | |||
| 47 | __do_strncpy_from_user(dst, src, count, res); | 48 | __do_strncpy_from_user(dst, src, count, res); |
| 48 | return res; | 49 | return res; |
| 49 | } | 50 | } |
| 51 | EXPORT_SYMBOL(__strncpy_from_user); | ||
| 50 | 52 | ||
| 51 | long | 53 | long |
| 52 | strncpy_from_user(char *dst, const char __user *src, long count) | 54 | strncpy_from_user(char *dst, const char __user *src, long count) |
| @@ -56,6 +58,7 @@ strncpy_from_user(char *dst, const char __user *src, long count) | |||
| 56 | __do_strncpy_from_user(dst, src, count, res); | 58 | __do_strncpy_from_user(dst, src, count, res); |
| 57 | return res; | 59 | return res; |
| 58 | } | 60 | } |
| 61 | EXPORT_SYMBOL(strncpy_from_user); | ||
| 59 | 62 | ||
| 60 | /* | 63 | /* |
| 61 | * Zero Userspace | 64 | * Zero Userspace |
| @@ -94,7 +97,7 @@ unsigned long __clear_user(void __user *addr, unsigned long size) | |||
| 94 | [zero] "r" (0UL), [eight] "r" (8UL)); | 97 | [zero] "r" (0UL), [eight] "r" (8UL)); |
| 95 | return size; | 98 | return size; |
| 96 | } | 99 | } |
| 97 | 100 | EXPORT_SYMBOL(__clear_user); | |
| 98 | 101 | ||
| 99 | unsigned long clear_user(void __user *to, unsigned long n) | 102 | unsigned long clear_user(void __user *to, unsigned long n) |
| 100 | { | 103 | { |
| @@ -102,6 +105,7 @@ unsigned long clear_user(void __user *to, unsigned long n) | |||
| 102 | return __clear_user(to, n); | 105 | return __clear_user(to, n); |
| 103 | return n; | 106 | return n; |
| 104 | } | 107 | } |
| 108 | EXPORT_SYMBOL(clear_user); | ||
| 105 | 109 | ||
| 106 | /* | 110 | /* |
| 107 | * Return the size of a string (including the ending 0) | 111 | * Return the size of a string (including the ending 0) |
| @@ -125,6 +129,7 @@ long __strnlen_user(const char __user *s, long n) | |||
| 125 | s++; | 129 | s++; |
| 126 | } | 130 | } |
| 127 | } | 131 | } |
| 132 | EXPORT_SYMBOL(__strnlen_user); | ||
| 128 | 133 | ||
| 129 | long strnlen_user(const char __user *s, long n) | 134 | long strnlen_user(const char __user *s, long n) |
| 130 | { | 135 | { |
| @@ -132,6 +137,7 @@ long strnlen_user(const char __user *s, long n) | |||
| 132 | return 0; | 137 | return 0; |
| 133 | return __strnlen_user(s, n); | 138 | return __strnlen_user(s, n); |
| 134 | } | 139 | } |
| 140 | EXPORT_SYMBOL(strnlen_user); | ||
| 135 | 141 | ||
| 136 | long strlen_user(const char __user *s) | 142 | long strlen_user(const char __user *s) |
| 137 | { | 143 | { |
| @@ -147,6 +153,7 @@ long strlen_user(const char __user *s) | |||
| 147 | s++; | 153 | s++; |
| 148 | } | 154 | } |
| 149 | } | 155 | } |
| 156 | EXPORT_SYMBOL(strlen_user); | ||
| 150 | 157 | ||
| 151 | unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len) | 158 | unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len) |
| 152 | { | 159 | { |
| @@ -155,3 +162,5 @@ unsigned long copy_in_user(void __user *to, const void __user *from, unsigned le | |||
| 155 | } | 162 | } |
| 156 | return len; | 163 | return len; |
| 157 | } | 164 | } |
| 165 | EXPORT_SYMBOL(copy_in_user); | ||
| 166 | |||
diff --git a/arch/x86_64/mm/ioremap.c b/arch/x86_64/mm/ioremap.c index ae207064201e..45d7d823c3b8 100644 --- a/arch/x86_64/mm/ioremap.c +++ b/arch/x86_64/mm/ioremap.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | #include <linux/vmalloc.h> | 11 | #include <linux/vmalloc.h> |
| 12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
| 13 | #include <linux/slab.h> | 13 | #include <linux/slab.h> |
| 14 | #include <linux/module.h> | ||
| 14 | #include <asm/io.h> | 15 | #include <asm/io.h> |
| 15 | #include <asm/pgalloc.h> | 16 | #include <asm/pgalloc.h> |
| 16 | #include <asm/fixmap.h> | 17 | #include <asm/fixmap.h> |
| @@ -219,6 +220,7 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l | |||
| 219 | } | 220 | } |
| 220 | return (__force void __iomem *) (offset + (char *)addr); | 221 | return (__force void __iomem *) (offset + (char *)addr); |
| 221 | } | 222 | } |
| 223 | EXPORT_SYMBOL(__ioremap); | ||
| 222 | 224 | ||
| 223 | /** | 225 | /** |
| 224 | * ioremap_nocache - map bus memory into CPU space | 226 | * ioremap_nocache - map bus memory into CPU space |
| @@ -246,6 +248,7 @@ void __iomem *ioremap_nocache (unsigned long phys_addr, unsigned long size) | |||
| 246 | { | 248 | { |
| 247 | return __ioremap(phys_addr, size, _PAGE_PCD); | 249 | return __ioremap(phys_addr, size, _PAGE_PCD); |
| 248 | } | 250 | } |
| 251 | EXPORT_SYMBOL(ioremap_nocache); | ||
| 249 | 252 | ||
| 250 | /** | 253 | /** |
| 251 | * iounmap - Free a IO remapping | 254 | * iounmap - Free a IO remapping |
| @@ -291,3 +294,5 @@ void iounmap(volatile void __iomem *addr) | |||
| 291 | BUG_ON(p != o || o == NULL); | 294 | BUG_ON(p != o || o == NULL); |
| 292 | kfree(p); | 295 | kfree(p); |
| 293 | } | 296 | } |
| 297 | EXPORT_SYMBOL(iounmap); | ||
| 298 | |||
