patch-2.1.23 linux/arch/sparc/kernel/sparc_ksyms.c

Next file: linux/arch/sparc/kernel/sun4m_irq.c
Previous file: linux/arch/sparc/kernel/sparc-stub.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.22/linux/arch/sparc/kernel/sparc_ksyms.c linux/arch/sparc/kernel/sparc_ksyms.c
@@ -1,4 +1,4 @@
-/* $Id: sparc_ksyms.c,v 1.33 1996/12/29 20:46:01 davem Exp $
+/* $Id: sparc_ksyms.c,v 1.43 1997/01/26 07:12:30 davem Exp $
  * arch/sparc/kernel/ksyms.c: Sparc specific ksyms support.
  *
  * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -27,6 +27,7 @@
 #include <asm/uaccess.h>
 #ifdef CONFIG_SBUS
 #include <asm/sbus.h>
+#include <asm/dma.h>
 #endif
 #include <asm/a.out.h>
 
@@ -38,12 +39,12 @@
 
 extern int svr4_getcontext (svr4_ucontext_t *, struct pt_regs *);
 extern int svr4_setcontext (svr4_ucontext_t *, struct pt_regs *);
-extern int sunos_poll(struct poll * ufds, size_t nfds, int timeout);
 extern unsigned long sunos_mmap(unsigned long, unsigned long, unsigned long,
 				unsigned long, unsigned long, unsigned long);
 void _sigpause_common (unsigned int set, struct pt_regs *);
 extern void __copy_1page(void *, const void *);
-extern void *__memcpy(void *, const void *, __kernel_size_t);
+extern void __memcpy(void *, const void *, __kernel_size_t);
+extern void __memmove(void *, const void *, __kernel_size_t);
 extern void *__memset(void *, int, __kernel_size_t);
 extern void *bzero_1page(void *);
 extern void *__bzero(void *, size_t);
@@ -70,18 +71,34 @@
 extern int __sparc_dot_ ## sym (int) __asm__("." #sym);		\
 __EXPORT_SYMBOL(__sparc_dot_ ## sym, "." #sym)
 
+#define EXPORT_SYMBOL_PRIVATE(sym)				\
+extern int __sparc_priv_ ## sym (int) __asm__("__" ## #sym);	\
+const struct module_symbol __export_priv_##sym			\
+__attribute__((section("__ksymtab"))) =				\
+{ (unsigned long) &__sparc_priv_ ## sym, "__" ## #sym }
 
 /* used by various drivers */
 EXPORT_SYMBOL(sparc_cpu_model);
 #ifdef __SMP__
-EXPORT_SYMBOL(kernel_flag);
-EXPORT_SYMBOL(kernel_counter);
-EXPORT_SYMBOL(active_kernel_processor);
-EXPORT_SYMBOL(syscall_count);
+EXPORT_SYMBOL(klock_info);
 #endif
+EXPORT_SYMBOL_PRIVATE(_lock_kernel);
+EXPORT_SYMBOL_PRIVATE(_unlock_kernel);
 EXPORT_SYMBOL(page_offset);
 EXPORT_SYMBOL(stack_top);
 
+/* Atomic operations. */
+EXPORT_SYMBOL_PRIVATE(_xchg32);
+EXPORT_SYMBOL_PRIVATE(_atomic_add);
+EXPORT_SYMBOL_PRIVATE(_atomic_sub);
+
+/* Bit operations. */
+EXPORT_SYMBOL_PRIVATE(_set_bit);
+EXPORT_SYMBOL_PRIVATE(_clear_bit);
+EXPORT_SYMBOL_PRIVATE(_change_bit);
+EXPORT_SYMBOL_PRIVATE(_set_le_bit);
+EXPORT_SYMBOL_PRIVATE(_clear_le_bit);
+
 EXPORT_SYMBOL(udelay);
 EXPORT_SYMBOL(mstk48t02_regs);
 #if CONFIG_SUN_AUXIO
@@ -90,6 +107,7 @@
 EXPORT_SYMBOL(request_fast_irq);
 EXPORT_SYMBOL(sparc_alloc_io);
 EXPORT_SYMBOL(sparc_free_io);
+EXPORT_SYMBOL(io_remap_page_range);
 EXPORT_SYMBOL(mmu_v2p);
 EXPORT_SYMBOL(mmu_unlockarea);
 EXPORT_SYMBOL(mmu_lockarea);
@@ -102,6 +120,7 @@
 EXPORT_SYMBOL(srmmu_unmapioaddr);
 #if CONFIG_SBUS
 EXPORT_SYMBOL(SBus_chain);
+EXPORT_SYMBOL(dma_chain);
 #endif
 
 /* Solaris/SunOS binary compatibility */
@@ -109,7 +128,6 @@
 EXPORT_SYMBOL(svr4_getcontext);
 EXPORT_SYMBOL(_sigpause_common);
 EXPORT_SYMBOL(sunos_mmap);
-EXPORT_SYMBOL(sunos_poll);
 
 /* Should really be in linux/kernel/ksyms.c */
 EXPORT_SYMBOL(dump_thread);
@@ -124,7 +142,8 @@
 EXPORT_SYMBOL(prom_nextprop);
 EXPORT_SYMBOL(prom_getproplen);
 EXPORT_SYMBOL(prom_getproperty);
-EXPORT_SYMOBL(prom_setprop);
+EXPORT_SYMBOL(prom_node_has_property);
+EXPORT_SYMBOL(prom_setprop);
 EXPORT_SYMBOL(prom_nodeops);
 EXPORT_SYMBOL(prom_getbootargs);
 EXPORT_SYMBOL(prom_apply_obio_ranges);
@@ -138,7 +157,6 @@
 
 /* sparc library symbols */
 EXPORT_SYMBOL(bcopy);
-EXPORT_SYMBOL(memmove);
 EXPORT_SYMBOL(memscan);
 EXPORT_SYMBOL(strlen);
 EXPORT_SYMBOL(strnlen);
@@ -165,6 +183,7 @@
 EXPORT_SYMBOL(__memscan_generic);
 EXPORT_SYMBOL(__memcmp);
 EXPORT_SYMBOL(__strncmp);
+EXPORT_SYMBOL(__memmove);
 
 /* Moving data to/from userspace. */
 EXPORT_SYMBOL(__copy_user);
@@ -174,12 +193,13 @@
 /* No version information on this, heavily used in inline asm,
  * and will always be 'void __ret_efault(void)'.
  */
-EXPORT_SYMBOLNOVERS(__ret_efault);
+EXPORT_SYMBOL_NOVERS(__ret_efault);
 
 /* No version information on these, as gcc produces such symbols. */
 EXPORT_SYMBOL_NOVERS(memcmp);
 EXPORT_SYMBOL_NOVERS(memcpy);
 EXPORT_SYMBOL_NOVERS(memset);
+EXPORT_SYMBOL_NOVERS(memmove);
 EXPORT_SYMBOL_NOVERS(__ashrdi3);
 
 EXPORT_SYMBOL_DOT(rem);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov