Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _ASM_S390_MODULE_H
0003 #define _ASM_S390_MODULE_H
0004 
0005 #include <asm-generic/module.h>
0006 
0007 /*
0008  * This file contains the s390 architecture specific module code.
0009  */
0010 
0011 struct mod_arch_syminfo {
0012     unsigned long got_offset;
0013     unsigned long plt_offset;
0014     int got_initialized;
0015     int plt_initialized;
0016 };
0017 
0018 struct mod_arch_specific {
0019     /* Starting offset of got in the module core memory. */
0020     unsigned long got_offset;
0021     /* Starting offset of plt in the module core memory. */
0022     unsigned long plt_offset;
0023     /* Size of the got. */
0024     unsigned long got_size;
0025     /* Size of the plt. */
0026     unsigned long plt_size;
0027     /* Number of symbols in syminfo. */
0028     int nsyms;
0029     /* Additional symbol information (got and plt offsets). */
0030     struct mod_arch_syminfo *syminfo;
0031 #ifdef CONFIG_FUNCTION_TRACER
0032     /* Start of memory reserved for ftrace hotpatch trampolines. */
0033     struct ftrace_hotpatch_trampoline *trampolines_start;
0034     /* End of memory reserved for ftrace hotpatch trampolines. */
0035     struct ftrace_hotpatch_trampoline *trampolines_end;
0036     /* Next unused ftrace hotpatch trampoline slot. */
0037     struct ftrace_hotpatch_trampoline *next_trampoline;
0038 #endif /* CONFIG_FUNCTION_TRACER */
0039 };
0040 
0041 #endif /* _ASM_S390_MODULE_H */