linux-bk/arch/alpha/kernel/alpha_ksyms.c
<<
>>
Prefs
   1/*
   2 * linux/arch/alpha/kernel/ksyms.c
   3 *
   4 * Export the alpha-specific functions that are needed for loadable
   5 * modules.
   6 */
   7
   8#include <linux/config.h>
   9#include <linux/module.h>
  10#include <linux/string.h>
  11#include <linux/user.h>
  12#include <linux/elfcore.h>
  13#include <linux/socket.h>
  14#include <linux/syscalls.h>
  15#include <linux/in.h>
  16#include <linux/in6.h>
  17#include <linux/pci.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>
  25#include <asm/hwrpb.h>
  26#include <asm/uaccess.h>
  27#include <asm/processor.h>
  28#include <asm/checksum.h>
  29#include <linux/interrupt.h>
  30#include <asm/fpu.h>
  31#include <asm/irq.h>
  32#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
  39#define __KERNEL_SYSCALLS__
  40#include <asm/unistd.h>
  41
  42extern struct hwrpb_struct *hwrpb;
  43extern void dump_thread(struct pt_regs *, struct user *);
  44extern spinlock_t rtc_lock;
  45
  46/* these are C runtime functions with special calling conventions: */
  47extern void __divl (void);
  48extern void __reml (void);
  49extern void __divq (void);
  50extern void __remq (void);
  51extern void __divlu (void);
  52extern void __remlu (void);
  53extern void __divqu (void);
  54extern void __remqu (void);
  55
  56EXPORT_SYMBOL(alpha_mv);
  57EXPORT_SYMBOL(enable_irq);
  58EXPORT_SYMBOL(disable_irq);
  59EXPORT_SYMBOL(disable_irq_nosync);
  60EXPORT_SYMBOL(probe_irq_mask);
  61EXPORT_SYMBOL(screen_info);
  62EXPORT_SYMBOL(perf_irq);
  63EXPORT_SYMBOL(callback_getenv);
  64EXPORT_SYMBOL(callback_setenv);
  65EXPORT_SYMBOL(callback_save_env);
  66#ifdef CONFIG_ALPHA_GENERIC
  67EXPORT_SYMBOL(alpha_using_srm);
  68#endif /* CONFIG_ALPHA_GENERIC */
  69
  70/* platform dependent support */
  71EXPORT_SYMBOL(strcat);
  72EXPORT_SYMBOL(strcmp);
  73EXPORT_SYMBOL(strcpy);
  74EXPORT_SYMBOL(strlen);
  75EXPORT_SYMBOL(strncmp);
  76EXPORT_SYMBOL(strncpy);
  77EXPORT_SYMBOL(strnlen);
  78EXPORT_SYMBOL(strncat);
  79EXPORT_SYMBOL(strstr);
  80EXPORT_SYMBOL(strpbrk);
  81EXPORT_SYMBOL(strchr);
  82EXPORT_SYMBOL(strrchr);
  83EXPORT_SYMBOL(memcmp);
  84EXPORT_SYMBOL(memmove);
  85EXPORT_SYMBOL(memscan);
  86EXPORT_SYMBOL(__memcpy);
  87EXPORT_SYMBOL(__memset);
  88EXPORT_SYMBOL(__memsetw);
  89EXPORT_SYMBOL(__constant_c_memset);
  90EXPORT_SYMBOL(copy_page);
  91EXPORT_SYMBOL(clear_page);
  92
  93EXPORT_SYMBOL(__direct_map_base);
  94EXPORT_SYMBOL(__direct_map_size);
  95
  96#ifdef CONFIG_PCI
  97EXPORT_SYMBOL(pci_alloc_consistent);
  98EXPORT_SYMBOL(pci_free_consistent);
  99EXPORT_SYMBOL(pci_map_single);
 100EXPORT_SYMBOL(pci_map_page);
 101EXPORT_SYMBOL(pci_unmap_single);
 102EXPORT_SYMBOL(pci_unmap_page);
 103EXPORT_SYMBOL(pci_map_sg);
 104EXPORT_SYMBOL(pci_unmap_sg);
 105EXPORT_SYMBOL(pci_dma_supported);
 106EXPORT_SYMBOL(pci_dac_dma_supported);
 107EXPORT_SYMBOL(pci_dac_page_to_dma);
 108EXPORT_SYMBOL(pci_dac_dma_to_page);
 109EXPORT_SYMBOL(pci_dac_dma_to_offset);
 110EXPORT_SYMBOL(alpha_gendev_to_pci);
 111#endif
 112EXPORT_SYMBOL(dma_set_mask);
 113
 114EXPORT_SYMBOL(dump_thread);
 115EXPORT_SYMBOL(dump_elf_thread);
 116EXPORT_SYMBOL(dump_elf_task);
 117EXPORT_SYMBOL(dump_elf_task_fp);
 118EXPORT_SYMBOL(hwrpb);
 119EXPORT_SYMBOL(start_thread);
 120EXPORT_SYMBOL(alpha_read_fp_reg);
 121EXPORT_SYMBOL(alpha_read_fp_reg_s);
 122EXPORT_SYMBOL(alpha_write_fp_reg);
 123EXPORT_SYMBOL(alpha_write_fp_reg_s);
 124
 125/* In-kernel system calls.  */
 126EXPORT_SYMBOL(kernel_thread);
 127EXPORT_SYMBOL(sys_open);
 128EXPORT_SYMBOL(sys_dup);
 129EXPORT_SYMBOL(sys_exit);
 130EXPORT_SYMBOL(sys_write);
 131EXPORT_SYMBOL(sys_read);
 132EXPORT_SYMBOL(sys_lseek);
 133EXPORT_SYMBOL(execve);
 134EXPORT_SYMBOL(sys_setsid);
 135EXPORT_SYMBOL(sys_wait4);
 136
 137/* Networking helper routines. */
 138EXPORT_SYMBOL(csum_tcpudp_magic);
 139EXPORT_SYMBOL(ip_compute_csum);
 140EXPORT_SYMBOL(ip_fast_csum);
 141EXPORT_SYMBOL(csum_partial_copy_nocheck);
 142EXPORT_SYMBOL(csum_partial_copy_from_user);
 143EXPORT_SYMBOL(csum_ipv6_magic);
 144
 145#ifdef CONFIG_MATHEMU_MODULE
 146extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
 147extern long (*alpha_fp_emul) (unsigned long pc);
 148EXPORT_SYMBOL(alpha_fp_emul_imprecise);
 149EXPORT_SYMBOL(alpha_fp_emul);
 150#endif
 151
 152#ifdef CONFIG_ALPHA_BROKEN_IRQ_MASK
 153EXPORT_SYMBOL(__min_ipl);
 154#endif
 155
 156/*
 157 * The following are specially called from the uaccess assembly stubs.
 158 */
 159EXPORT_SYMBOL(__copy_user);
 160EXPORT_SYMBOL(__do_clear_user);
 161EXPORT_SYMBOL(__strncpy_from_user);
 162EXPORT_SYMBOL(__strnlen_user);
 163
 164/* Semaphore helper functions.  */
 165EXPORT_SYMBOL(__down_failed);
 166EXPORT_SYMBOL(__down_failed_interruptible);
 167EXPORT_SYMBOL(__up_wakeup);
 168EXPORT_SYMBOL(down);
 169EXPORT_SYMBOL(down_interruptible);
 170EXPORT_SYMBOL(down_trylock);
 171EXPORT_SYMBOL(up);
 172
 173/* 
 174 * SMP-specific symbols.
 175 */
 176
 177#ifdef CONFIG_SMP
 178EXPORT_SYMBOL(synchronize_irq);
 179EXPORT_SYMBOL(flush_tlb_all);
 180EXPORT_SYMBOL(flush_tlb_mm);
 181EXPORT_SYMBOL(flush_tlb_range);
 182EXPORT_SYMBOL(flush_tlb_page);
 183EXPORT_SYMBOL(smp_imb);
 184EXPORT_SYMBOL(cpu_data);
 185EXPORT_SYMBOL(smp_num_cpus);
 186EXPORT_SYMBOL(smp_call_function);
 187EXPORT_SYMBOL(smp_call_function_on_cpu);
 188EXPORT_SYMBOL(_atomic_dec_and_lock);
 189#ifdef CONFIG_DEBUG_SPINLOCK
 190EXPORT_SYMBOL(_raw_spin_unlock);
 191EXPORT_SYMBOL(debug_spin_lock);
 192EXPORT_SYMBOL(debug_spin_trylock);
 193#endif
 194#ifdef CONFIG_DEBUG_RWLOCK
 195EXPORT_SYMBOL(_raw_write_lock);
 196EXPORT_SYMBOL(_raw_read_lock);
 197#endif
 198EXPORT_SYMBOL(cpu_present_mask);
 199#endif /* CONFIG_SMP */
 200
 201/*
 202 * NUMA specific symbols
 203 */
 204#ifdef CONFIG_DISCONTIGMEM
 205EXPORT_SYMBOL(node_data);
 206#endif /* CONFIG_DISCONTIGMEM */
 207
 208EXPORT_SYMBOL(rtc_lock);
 209
 210/*
 211 * The following are special because they're not called
 212 * explicitly (the C compiler or assembler generates them in
 213 * response to division operations).  Fortunately, their
 214 * interface isn't gonna change any time soon now, so it's OK
 215 * to leave it out of version control.
 216 */
 217# undef memcpy
 218# undef memset
 219EXPORT_SYMBOL(__divl);
 220EXPORT_SYMBOL(__divlu);
 221EXPORT_SYMBOL(__divq);
 222EXPORT_SYMBOL(__divqu);
 223EXPORT_SYMBOL(__reml);
 224EXPORT_SYMBOL(__remlu);
 225EXPORT_SYMBOL(__remq);
 226EXPORT_SYMBOL(__remqu);
 227EXPORT_SYMBOL(memcpy);
 228EXPORT_SYMBOL(memset);
 229EXPORT_SYMBOL(memchr);
 230
 231EXPORT_SYMBOL(get_wchan);
 232
 233#ifdef CONFIG_ALPHA_IRONGATE
 234EXPORT_SYMBOL(irongate_ioremap);
 235EXPORT_SYMBOL(irongate_iounmap);
 236#endif
 237
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.