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);
  20
  21#include <linux/atomic.h>
  22EXPORT_SYMBOL(__xchg8);
  23EXPORT_SYMBOL(__xchg32);
  24EXPORT_SYMBOL(__cmpxchg_u32);
  25EXPORT_SYMBOL(__cmpxchg_u64);
  26#ifdef CONFIG_SMP
  27EXPORT_SYMBOL(__atomic_hash);
  28#endif
  29#ifdef CONFIG_64BIT
  30EXPORT_SYMBOL(__xchg64);
  31#endif
  32
  33#include <linux/uaccess.h>
  34EXPORT_SYMBOL(lclear_user);
  35EXPORT_SYMBOL(lstrnlen_user);
  36
  37#ifndef CONFIG_64BIT
  38/* Needed so insmod can set dp value */
  39extern int $global$;
  40EXPORT_SYMBOL($global$);
  41#endif
  42
  43#include <asm/io.h>
  44EXPORT_SYMBOL(memcpy_toio);
  45EXPORT_SYMBOL(memcpy_fromio);
  46EXPORT_SYMBOL(memset_io);
  47
  48extern void $$divI(void);
  49extern void $$divU(void);
  50extern void $$remI(void);
  51extern void $$remU(void);
  52extern void $$mulI(void);
  53extern void $$divU_3(void);
  54extern void $$divU_5(void);
  55extern void $$divU_6(void);
  56extern void $$divU_9(void);
  57extern void $$divU_10(void);
  58extern void $$divU_12(void);
  59extern void $$divU_7(void);
  60extern void $$divU_14(void);
  61extern void $$divU_15(void);
  62extern void $$divI_3(void);
  63extern void $$divI_5(void);
  64extern void $$divI_6(void);
  65extern void $$divI_7(void);
  66extern void $$divI_9(void);
  67extern void $$divI_10(void);
  68extern void $$divI_12(void);
  69extern void $$divI_14(void);
  70extern void $$divI_15(void);
  71
  72EXPORT_SYMBOL($$divI);
  73EXPORT_SYMBOL($$divU);
  74EXPORT_SYMBOL($$remI);
  75EXPORT_SYMBOL($$remU);
  76EXPORT_SYMBOL($$mulI);
  77EXPORT_SYMBOL($$divU_3);
  78EXPORT_SYMBOL($$divU_5);
  79EXPORT_SYMBOL($$divU_6);
  80EXPORT_SYMBOL($$divU_9);
  81EXPORT_SYMBOL($$divU_10);
  82EXPORT_SYMBOL($$divU_12);
  83EXPORT_SYMBOL($$divU_7);
  84EXPORT_SYMBOL($$divU_14);
  85EXPORT_SYMBOL($$divU_15);
  86EXPORT_SYMBOL($$divI_3);
  87EXPORT_SYMBOL($$divI_5);
  88EXPORT_SYMBOL($$divI_6);
  89EXPORT_SYMBOL($$divI_7);
  90EXPORT_SYMBOL($$divI_9);
  91EXPORT_SYMBOL($$divI_10);
  92EXPORT_SYMBOL($$divI_12);
  93EXPORT_SYMBOL($$divI_14);
  94EXPORT_SYMBOL($$divI_15);
  95
  96extern void __ashrdi3(void);
  97extern void __ashldi3(void);
  98extern void __lshrdi3(void);
  99extern void __muldi3(void);
 100extern void __ucmpdi2(void);
 101
 102EXPORT_SYMBOL(__ashrdi3);
 103EXPORT_SYMBOL(__ashldi3);
 104EXPORT_SYMBOL(__lshrdi3);
 105EXPORT_SYMBOL(__muldi3);
 106EXPORT_SYMBOL(__ucmpdi2);
 107
 108asmlinkage void * __canonicalize_funcptr_for_compare(void *);
 109EXPORT_SYMBOL(__canonicalize_funcptr_for_compare);
 110
 111#ifdef CONFIG_64BIT
 112extern void __divdi3(void);
 113extern void __udivdi3(void);
 114extern void __umoddi3(void);
 115extern void __moddi3(void);
 116
 117EXPORT_SYMBOL(__divdi3);
 118EXPORT_SYMBOL(__udivdi3);
 119EXPORT_SYMBOL(__umoddi3);
 120EXPORT_SYMBOL(__moddi3);
 121#endif
 122
 123#ifndef CONFIG_64BIT
 124extern void $$dyncall(void);
 125EXPORT_SYMBOL($$dyncall);
 126#endif
 127
 128#ifdef CONFIG_FUNCTION_TRACER
 129extern void _mcount(void);
 130EXPORT_SYMBOL(_mcount);
 131#endif
 132
 133/* from pacache.S -- needed for clear/copy_page */
 134EXPORT_SYMBOL(clear_page_asm);
 135EXPORT_SYMBOL(copy_page_asm);
 136