blob: dfba22a872c31c5739c05b79019d229f13f7eab8 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _ASM_IA64_MODULE_H
2#define _ASM_IA64_MODULE_H
3
David Howells786d35d2012-09-28 14:31:03 +09304#include <asm-generic/module.h>
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006/*
7 * IA-64-specific support for kernel module loader.
8 *
9 * Copyright (C) 2003 Hewlett-Packard Co
10 * David Mosberger-Tang <davidm@hpl.hp.com>
11 */
12
13struct elf64_shdr; /* forward declration */
14
15struct mod_arch_specific {
16 struct elf64_shdr *core_plt; /* core PLT section */
17 struct elf64_shdr *init_plt; /* init PLT section */
18 struct elf64_shdr *got; /* global offset table */
19 struct elf64_shdr *opd; /* official procedure descriptors */
20 struct elf64_shdr *unwind; /* unwind-table section */
Isaku Yamahataee158fc2009-03-04 21:06:53 +090021#ifdef CONFIG_PARAVIRT
22 struct elf64_shdr *paravirt_bundles;
23 /* paravirt_alt_bundle_patch table */
24 struct elf64_shdr *paravirt_insts;
25 /* paravirt_alt_inst_patch table */
26#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 unsigned long gp; /* global-pointer for module */
28
29 void *core_unw_table; /* core unwind-table cookie returned by unwinder */
30 void *init_unw_table; /* init unwind-table cookie returned by unwinder */
31 unsigned int next_got_entry; /* index of next available got entry */
32};
33
Linus Torvalds1da177e2005-04-16 15:20:36 -070034#define MODULE_PROC_FAMILY "ia64"
Andi Kleen1bb49962006-09-26 10:52:37 +020035#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY \
36 "gcc-" __stringify(__GNUC__) "." __stringify(__GNUC_MINOR__)
Linus Torvalds1da177e2005-04-16 15:20:36 -070037
38#define ARCH_SHF_SMALL SHF_IA_64_SHORT
39
40#endif /* _ASM_IA64_MODULE_H */