linux/arch/sparc/kernel/sparc_ksyms.c
<<
>>
Prefs
   1/* $Id: sparc_ksyms.c,v 1.107 2001/07/17 16:17:33 anton Exp $
   2 * arch/sparc/kernel/ksyms.c: Sparc specific ksyms support.
   3 *
   4 * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
   5 * Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
   6 */
   7
   8/* Tell string.h we don't want memcpy etc. as cpp defines */
   9#define EXPORT_SYMTAB_STROPS
  10#define PROMLIB_INTERNAL
  11
  12#include <linux/module.h>
  13#include <linux/init.h>
  14#include <linux/smp.h>
  15#include <linux/types.h>
  16#include <linux/string.h>
  17#include <linux/sched.h>
  18#include <linux/interrupt.h>
  19#include <linux/in6.h>
  20#include <linux/spinlock.h>
  21#include <linux/mm.h>
  22#include <linux/syscalls.h>
  23#ifdef CONFIG_PCI
  24#include <linux/pci.h>
  25#endif
  26#include <linux/pm.h>
  27#ifdef CONFIG_HIGHMEM
  28#include <linux/highmem.h>
  29#endif
  30
  31#include <asm/oplib.h>
  32#include <asm/delay.h>
  33#include <asm/system.h>
  34#include <asm/auxio.h>
  35#include <asm/pgtable.h>
  36#include <asm/io.h>
  37#include <asm/irq.h>
  38#include <asm/idprom.h>
  39#include <asm/svr4.h>
  40#include <asm/head.h>
  41#include <asm/smp.h>
  42#include <asm/mostek.h>
  43#include <asm/ptrace.h>
  44#include <asm/user.h>
  45#include <asm/uaccess.h>
  46#include <asm/checksum.h>
  47#ifdef CONFIG_SBUS
  48#include <asm/sbus.h>
  49#include <asm/dma.h>
  50#endif
  51#ifdef CONFIG_PCI
  52#include <asm/ebus.h>
  53#endif
  54#include <asm/io-unit.h>
  55#include <asm/bug.h>
  56
  57extern spinlock_t rtc_lock;
  58
  59struct poll {
  60        int fd;
  61        short events;
  62        short revents;
  63};
  64
  65extern int svr4_getcontext (svr4_ucontext_t *, struct pt_regs *);
  66extern int svr4_setcontext (svr4_ucontext_t *, struct pt_regs *);
  67extern void (*__copy_1page)(void *, const void *);
  68extern void __memmove(void *, const void *, __kernel_size_t);
  69extern void (*bzero_1page)(void *);
  70extern void *__bzero(void *, size_t);
  71extern void *__memscan_zero(void *, size_t);
  72extern void *__memscan_generic(void *, int, size_t);
  73extern int __memcmp(const void *, const void *, __kernel_size_t);
  74extern int __strncmp(const char *, const char *, __kernel_size_t);
  75
  76extern int __ashrdi3(int, int);
  77extern int __ashldi3(int, int);
  78extern int __lshrdi3(int, int);
  79extern int __muldi3(int, int);
  80extern int __divdi3(int, int);
  81
  82/* Private functions with odd calling conventions. */
  83extern void ___atomic24_add(void);
  84extern void ___atomic24_sub(void);
  85extern void ___rw_read_enter(void);
  86extern void ___rw_read_try(void);
  87extern void ___rw_read_exit(void);
  88extern void ___rw_write_enter(void);
  89
  90/* Alias functions whose names begin with "." and export the aliases.
  91 * The module references will be fixed up by module_frob_arch_sections.
  92 */
  93extern int _Div(int, int);
  94extern int _Mul(int, int);
  95extern int _Rem(int, int);
  96extern unsigned _Udiv(unsigned, unsigned);
  97extern unsigned _Umul(unsigned, unsigned);
  98extern unsigned _Urem(unsigned, unsigned);
  99
 100/* used by various drivers */
 101EXPORT_SYMBOL(sparc_cpu_model);
 102EXPORT_SYMBOL(kernel_thread);
 103#ifdef CONFIG_SMP
 104// XXqr="+code=sparc_cpu_model" class="sref">spe="text" name="searTatc/kes (orc/ker)_ksyse.   AV: seymsyms.yms.c#L21" id="L101" class="line" name="L101"> 101kernel_thread);
 103#ifdef <kernel_thread);
 103#ifdef <kernel_thread);
 103#ifdef <kernel_thread);
 103#ifdef <  30

   9#define sparc_cpu_model);
<__ur *,  103#ifdef <(kernel_thread);
 103#ifdef kernel_thread);
 103#ifdef lass="comref="include/linux/smp.h"" cla1s="freBOL(kernel_thread);
 103#ifdef <  76extern i1 <(kernel_thread);
 103#ifdef <(kernel_thread);
 103#ifdef <kernel_thread);
 103#ifdef < 100  83extern v1 <(sparc_cpu_model);
<__;
 103#ifdef2<(kernel_thread);
 103#ifdef2 103#ifdef2lass="comref="include/linux/pci.h1" cla12odel" class="sref">spe="text* Per-CPU indiv>ams.c s.c#L83" id="L83" class="line" name="L83">  83extern v1 <();
 103#ifdef2<  57extern <1a href="+1code=CONFIG_HIGHMEM" cla1ss="s1ef">CONFIG_HIGHMEM
 104  83extern v1 <(kernel_thread);
 103#ifdef="arch/sp1arc/kernel/sparc_ksyms.c1#L31"1id="L31" class="line" name="L31">  31#include1 <
	ve countL83" id="L83" class="line" name="L83">  83extern v1 <kernel_thread);
 103#ifdef=<kernel_thread);
 103#ifdef=lass="comref="include/asm-sparc/a1uxio.1" classd="L30" class="line" name="L30">  30
  76extern i1 <(kernel_thread);
 103#ifdef= href="+1ref="include/asm-sparc/i1rq.h"137_SYMBOL(kernel_thread);
 103#ifdef=<kernel_thread);
 103#ifdef=<(kernel_thread);
 103#ifdef <kernel_thread);
 103#ifdef <
  76extern i1 <kernel_thread);
 103#ifdef <(kernel_thread);
 103#ifdef <  30
kernel_thread);
 103#ifdef <spe="text* P3: io.c#L_xxx mayhrefneed.c#Lsun4dc/ke#L101" id="L101" class="line" name="L101"> 101CONFI class="sref">spe="text* ="sref">kerne(io.c#L_map_dma_.c#L);101" id="L101" class="line" name="L101"> 101kerne(io.c#L_map_dma_syms);101" id="L101" class="line" name="L101"> 101 100
 104(sparc_cpu_model);
);
 103#ifdef < 103#ifdef <kernel_thread);
);
 103#ifdef <  30
(kernel_thread);
);
 103#ifdef <(kernel_thread);
);
 103#ifdef  href="+1code=spinlock_t" class="1sref"157_SYMBOL(kernel_thread);
);
 103#ifdef <(kernel_thread);
);
 103#ifdef <1poll<15L30" BOL(kernel_thread);
);
 103#ifdefint fd16classBOL(kernel_thread);
);
 103#ifdefi href="+1href="+code=events" clas1s="sr16d="L12" class="line" name="L12">  12#include short kernel_thread);
);
 103#ifdefi< 103#ifdef="arch/sp1arc/kernel/sparc_ksyms.c1#L65"164NFIG_PCI
  48#include1nt (kernel_thread);
 103#ifdef6<(kernel_thread);
 103#ifdef6 href="+1href="+code=__copy_1page1" cla167_SYMBOL(kernel_thread);
 103#ifdef6<kernel_thread);
 103#ifdef6<(kernel_thread);
 103#ifdefoid *kernel_thread);
 103#ifdefo href="+1ref="+code=__memscan_zer1o" cl17T_SYMBOL(sparc_cpu_model);
 103#ifdefohort (kernel_thread);
 103#ifdefo<(kernel_thread);
 103#ifdefo"arch/sp1f="+code=__strncmp" clas1s="sr17="freBOL(kernel_thread);
 103#ifdefot (kernel_thread);
 103#ifdefo<kernel_thread);
 103#ifdefo<kernel_thread);
 103#ifdefo<kernel_thread);
 103#ifdefo<(kernel_thread);
 103#ifdefnt   51#ifdef <1="arch/sp1arc/kernel/sparc_ksyms.c1#L82"18ONFIG_PCI
  52#include1ass="comm1ent">/* Private function1s wit18T_SYMBOL(kernel_thread);
 103#ifdefn<kernel_thread);
 103#ifdefn"arch/sp1ef="+code=___atomic24_su1b" cl18="freBOL(kernel_thread);
 103#ifdefnt (kernel_thread);
 103#ifdefn<(kernel_thread);
 103#ifdefn<(kernel_thread);
 103#ifdefn<(kernel_thread);
 103#ifdefn<(kernel_thread);
 103#ifdefass="comm1ent">/* Alias functions 1whose19classBOL(kernel_thread);
 103#ifdefa"arch/sp1ent"> * The module refer1ences19T_SYMBOL(sparc_cpu_model);
 103#ifdefass="comm1ent"> */
(kernel_thread);
 103#ifdefa<_19s="frBOL(kernel_thread);
 103#ifdefa"arch/sp1f="+code=_Mul" class="sr1ef">_19="freBOL(kernel_thread);
 103#ifdefat _195_SYMBOL(kernel_thread);
 103#ifdefa<kernel_thread);
 103#ifdefnsigned <1a href="+code=_Umul" cla1ss="s197_SYMBOL(kernel_thread);
 103#ifdefn<kernel_thread);
 103#ifdef="arch/sp1arc/kernel/sparc_ksyms.c1#L10019L30" BOL(kernel_thread);
 103#ifde2class="co2ment">/* used by various2drive20classBOL(kernel_thread);
 103#ifde2c<EXP20107 2001/07/17 16:17:33 anton Actual.y, ioc/map/io.cmap are not PCI specific. But it is ok forsyms.c#LL83" id="L83" class="line" name="L83">  83extern v2f="+code=2XPORT_SYMBOL" class="sre2">EXP2RT_SYMBOL(kernel_thread);
 103#ifde2 (kernel_thread);
 103#ifde2class="co2ment">// XXqr="+code=spa2c_cpu20 classd="L30" class="line" name="L30">  30
  76extern i2 <  83extern v2f href="+c0ef="include/linux/sched207cpu20f">CONFIG_HIGHMEM
  28#include  <kernel_thread);
 103#ifde2c href="ar0ef="include/linux/in6.h209cpu20L30" BOL(kernel_thread);
 103#ifde2  51#ifdef <2="arch/sp2rrc/kernel/sparc_ksyms.c2L>EXP21d="L12" class="line" name="L12">  12#include2 <  83extern v2 kernel_thread);
svr4_u"L103" class="line" name="L103"> 103#ifde2kernel_thread);
svr4_u"L103" class="line" name="L103"> 103#ifde2<<  76extern i2 < 101(kernel_thread);
 103#ifde2<<kernel_thread);
 103#ifde2< href="arref="include/linux/in6.h2" cla21L30" BOL(kernel_thread);
 103#ifde2 <kernel_thread);
 103#ifde2 "arch/sp2ref="include/linux/mm.h"2 clas22T_SYMBOL(sparc_cpu_model);
 103#ifde2 <(kernel_thread);
 103#ifde2 kernel_thread);
svsc#parc/kernel/sparpc#L_n>svsc#pr4_u"L103" class="line" name="L103"> 103#ifde2 lass="co2ref="include/linux/pci.h2" cla22="freBOL(kernel_thread);
 103#ifde2 <(kernel_thread);
 103#ifde2 <(kernel_thread);
 103#ifde2 <kernel_thread);
 103#ifde2 <(kernel_thread);
 103#ifde2  href="arrch/sparc/kernel/sparc_k2syms.2#L30" BOL(kernel_thread);
 103#ifde2="arch/sp2arc/kernel/sparc_ksyms.c2#L31"23classBOL(kernel_thread);
 103#ifde2="arch/sp2ref="include/asm-sparc/o2plib.23T_SYMBOL(sparc_cpu_model);
 103#ifde2=<kernel_thread);
 103#ifde2=(kernel_thread);
 103#ifde2=lass="co2ref="include/asm-sparc/a2uxio.23="freBOL(kernel_thread);
 103#ifde2=<kernel_thread);
 103#ifde2=<(kernel_thread);
 103#ifde2=<(kernel_thread);
 103#ifde2=<kernel_thread);
 103#ifde2= href="arref="include/asm-sparc/s2vr4.h23id="L100" class="line" name="L100"> 100 10 library extbolL101" id="L101" class="line" name="L101"> 101(sparc_cpu_model);
 103#ifde2 <kernel_thread);
 103#ifde2 (kernel_thread);
 103#ifde2 lass="co2eef="include/linux/smp.h2 xio.24="freBOL(kernel_thread);
 103#ifde2 <  76extern i2 <  83extern v2a href="+2code=CONFIG_SBUS" class=2"sref247_SYMBOL(kernel_thread);
 103#ifde2 <kernel_thread);
 103#ifde2  href="arref="include/asm-sparc/d2ma.h"24L30" BOL(kernel_thread);
 103#ifde2a href="a2rch/sparc/kernel/sparc_k2syms.25classBOL(kernel_thread);
 103#ifde2a<(sparc_cpu_model);
<__bzeroch/sparc/kernel/sbzeronel_"L103" class="line" name="L103"> 103#ifde2a<kernel_thread);
 103#ifde2a(kernel_thread);
 103#ifde2alass="co2ref="include/asm-sparc/i2o-uni25="freBOL(kernel_thread);
 103#ifde2a<(kernel_thread);
 103#ifde2a<(kernel_thread);
 103#ifde2a href="+2code=spinlock_t" class="2sref"257_SYM103" class="line" name="L103"> 103#ifde2a<  83extern v2 <2poll<25L30" BOL(kernel_thread);
 103#ifde2int fd26classBOL(kernel_thread);
 103#ifde2i<sparc_cpu_model);
<__st clen_/ke#h/sparc/kernel/oist clen_/ke#nel_"L103" class="line" name="L103"> 103#ifde2i< 103#ifde2i  83extern v2="arch/sp2arc/kernel/sparc_ksyms.c2#L65"26="freBOL(kernel_thread);
 103#ifde2i<(kernel_thread);
 103#ifde2i<  57extern <26 href="+2href="+code=__copy_1page2" cla26CONFI class="sref">spe="text* Ca.c# flush/lg. 83" id="L83" class="line" name="L83">  83extern v2=<kernel_thread);
 103#ifde2i< 100  83extern v2o href="+2ref="+code=__memscan_zer2o" cl27T_SYMBOL(sparc_cpu_model);
 103#ifde2ohort  103#ifde2o<(kernel_thread);
 103#ifde2o"arch/sp2f="+code=__strncmp" clas2s="sr27="fre103" class="line" name="L103"> 103#ifde2o<(kernel_thread);
 103#ifde2o<kernel_thread);
 103#ifde2o<kernel_thread);
 103#ifde2o<kernel_thread);
 103#ifde2o<(kernel_thread);
 103#ifde2nt kernel_thread);
 103#ifde2n href="+2arc/kernel/sparc_ksyms.c2#L82"28T_SYMBOL(sparc_cpu_model);
<__lshrdi3a/kernel/syms.c__lshrdi3nel_"L103" class="line" name="L103"> 103#ifde2nhort /* Private function2s wit28T_SYMBOL(kernel_thread);
 103#ifde2n<kernel_thread);
 103#ifde2n"arch/sp2ef="+code=___atomic24_su2b" cl28="fre103" class="line" name="L103"> 103#ifde2nt (kernel_thread);
 103#ifde2n<(kernel_thread);
 103#ifde2n<(kernel_thread);
 103#ifde2n<(kernel_thread);
 103#ifde2n<(kernel_thread);
 103#ifde2ass="comm2ent">/* Alias functions 2whose29classBOL(kernel_thread);
 103#ifde2a href="+2ent"> * The module refer2ences29d="L12" class="line" name="L12">  12#include2ass="comm2ent"> */

  12#include2a<_29s="frBOL(kernel_thread);
 103#ifde2a"arch/sp2f="+code=_Mul" class="sr2ef">_29 classd="L30" class="line" name="L30">  30
_29d="L76" class="line" name="L76">  76extern i2a<  83extern v2nsigned <2a href="+code=_Umul" cla2ss="s297_SYMBOL(kernel_thread);
 103#ifde2a<
The original LXR software by the 03" classhttp://sourceforge.net/projects/lxr">LXR 17:3.c#LLnel_, this experias cal .c#Lthe by 03" classmailto:lxr@de=ux.no">lxr@de=ux.nonel_.
B/div>

lxr.de=ux.no kindly hs.c#d by 03" classhttp://www.redpill-de=pro.no">Redpill Le=pro ASnel_, provider8of Le=ux 99csult/lg rnel#pera the  ke#vica  kince019L5.
B/div>