module.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASM_S390_MODULE_H
  3. #define _ASM_S390_MODULE_H
  4. #include <asm-generic/module.h>
  5. /*
  6. * This file contains the s390 architecture specific module code.
  7. */
  8. struct mod_arch_syminfo {
  9. unsigned long got_offset;
  10. unsigned long plt_offset;
  11. int got_initialized;
  12. int plt_initialized;
  13. };
  14. struct mod_arch_specific {
  15. /* Starting offset of got in the module core memory. */
  16. unsigned long got_offset;
  17. /* Starting offset of plt in the module core memory. */
  18. unsigned long plt_offset;
  19. /* Size of the got. */
  20. unsigned long got_size;
  21. /* Size of the plt. */
  22. unsigned long plt_size;
  23. /* Number of symbols in syminfo. */
  24. int nsyms;
  25. /* Additional symbol information (got and plt offsets). */
  26. struct mod_arch_syminfo *syminfo;
  27. #ifdef CONFIG_FUNCTION_TRACER
  28. /* Start of memory reserved for ftrace hotpatch trampolines. */
  29. struct ftrace_hotpatch_trampoline *trampolines_start;
  30. /* End of memory reserved for ftrace hotpatch trampolines. */
  31. struct ftrace_hotpatch_trampoline *trampolines_end;
  32. /* Next unused ftrace hotpatch trampoline slot. */
  33. struct ftrace_hotpatch_trampoline *next_trampoline;
  34. #endif /* CONFIG_FUNCTION_TRACER */
  35. };
  36. #endif /* _ASM_S390_MODULE_H */