linux/arch/parisc/kernel/parisc_ksyms.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0-or-later
   2/*
   3 *    Architecture-specific kernel symbols
   4 *
   5 *    Copyright (C) 2000-2001 Richard Hirst <rhirst with parisc-linux.org>
   6 *    Copyright (C) 2001 Dave Kennedy
   7 *    Copyright (C) 2001 Paul Bame <bame at parisc-linux.org>
   8 *    Copyright (C) 2001-2003 Grant Grundler <grundler with parisc-linux.org>
   9 *    Copyright (C) 2002-2003 Matthew Wilcox <willy at parisc-linux.org>
  10 *    Copyright (C) 2002 Randolph Chung <tausq at parisc-linux.org>
  11 *    Copyright (C) 2002-2007 Helge Deller <deller with parisc-linux.org>
  12 */
  13
  14#include <linux/module.h>
  15#include <linux/kernel.h>
  16#include <linux/syscalls.h>
  17
  18#include <linux/string.h>
  19EXPORT_SYMBOL(memset);
  20EXPORT_SYMBOL(strlen);
  21EXPORT_SYMBOL(strcpy);
  22EXPORT_SYMBOL(strncpy);
  23EXPORT_SYMBOL(strcat);
  24
  25#include <linux/atomic.h>
  26EXPORT_SYMBOL(__xchg8);
  27EXPORT_SYMBOL(__xchg32);
  28EXPORT_SYMBOL(__cmpxchg_u32);
  29EXPORT_SYMBOL(__cmpxchg_u64);
  30#ifdef CONFIG_SMP
  31EXPORT_SYMBOL(__atomic_hash);
  32#endif
  33#ifdef CONFIG_64BIT
  34EXPORT_SYMBOL(__xchg64);
  35#endif
  36
  37#include <linux/uaccess.h>
  38EXPORT_SYMBOL(lclear_user);
  39EXPORT_SYMBOL(lstrnlen_user);
  40
  41#ifndef CONFIG_64BIT
  42/* Needed so insmod can set dp value */
  43extern int $global$;
  44EXPORT_SYMBOL($global$);
  45#endif
  46
  47#include <asm/io.h>
  48EXPORT_SYMBOL(memcpy_toio);
  49EXPORT_SYMBOL(memcpy_fromio);
  50EXPORT_SYMBOL(memset_io);
  51
  52extern void $$divI(void);
  53extern void $$divU(void);
  54extern void $$remI(void);
  55extern void $$remU(void);
  56extern void $$mulI(void);
  57extern void $$divU_3(void);
  58extern void $$divU_5(void);
  59extern void $$divU_6(void);
  60extern void $$divU_9(void);
  61extern void $$divU_10(void);
  62extern void $$divU_12(void);
  63extern void $$divU_7(void);
  64extern void $$divU_14(void);
  65extern void $$divU_15(void);
  66extern void $$divI_3(void);
  67extern void $$divI_5(void);
  68extern void $$divI_6(void);
  69extern void $$divI_7(void);
  70extern void $$divI_9(void);
  71extern void $$divI_10(void);
  72extern void $$divI_12(void);
  73extern void $$divI_14(void);
  74extern void $$divI_15(void);
  75
  76EXPORT_SYMBOL($$divI);
  77EXPORT_SYMBOL($$divU);
  78EXPORT_SYMBOL($$remI);
  79EXPORT_SYMBOL($$remU);
  80EXPORT_SYMBOL($$mulI);
  81EXPORT_SYMBOL($$divU_3);
  82EXPORT_SYMBOL($$divU_5);
  83EXPORT_SYMBOL($$divU_6);
  84EXPORT_SYMBOL($$divU_9);
  85EXPORT_SYMBOL($$divU_10);
  86EXPORT_SYMBOL($$divU_12);
  87EXPORT_SYMBOL($$divU_7);
  88EXPORT_SYMBOL($$divU_14);
  89EXPORT_SYMBOL($$divU_15);
  90EXPORT_SYMBOL($$divI_3);
  91EXPORT_SYMBOL($$divI_5);
  92EXPORT_SYMBOL($$divI_6);
  93EXPORT_SYMBOL($$divI_7);
  94EXPORT_SYMBOL($$divI_9);
  95EXPORT_SYMBOL($$divI_10);
  96EXPORT_SYMBOL($$divI_12);
  97EXPORT_SYMBOL($$divI_14);
  98EXPORT_SYMBOL($$divI_15);
  99
 100extern void __ashrdi3(void);
 101extern void __ashldi3(void);
 102extern void __lshrdi3(void);
 103extern void __muldi3(void);
 104extern void __ucmpdi2(void);
 105
 106EXPORT_SYMBOL(__ashrdi3);
 107EXPORT_SYMBOL(__ashldi3);
 108EXPORT_SYMBOL(__lshrdi3);
 109EXPORT_SYMBOL(__muldi3);
 110EXPORT_SYMBOL(__ucmpdi2);
 111
 112asmlinkage void * __canonicalize_funcptr_for_compare(void *);
 113EXPORT_SYMBOL(__canonicalize_funcptr_for_compare);
 114
 115#ifdef CONFIG_64BIT
 116extern void __divdi3(void);
 117extern void __udivdi3(void);
 118extern void __umoddi3(void);
 119extern void __moddi3(void);
 120
 121EXPORT_SYMBOL(__divdi3);
 122EXPORT_SYMBOL(__udivdi3);
 123EXPORT_SYMBOL(__umoddi3);
 124EXPORT_SYMBOL(__moddi3);
 125#endif
 126
 127#ifndef CONFIG_64BIT
 128extern void $$dyncall(void);
 129EXPORT_SYMBOL($$dyncall);
 130#endif
 131
 132#ifdef CONFIG_FUNCTION_TRACER
 133extern void _mcount(void);
 134EXPORT_SYMBOL(_mcount);
 135#endif
 136
 137/* from pacache.S -- needed for clear/copy_page */
 138EXPORT_SYMBOL(clear_page_asm);
 139EXPORT_SYMBOL(copy_page_asm);
 140