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