blob: e959c4afab59958b4607c9127a93b781e5398908 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_MODULE_H
2#define _ASM_X86_MODULE_H
Harvey Harrison0ddc9cc2007-12-18 03:58:10 -08003
4/* x86_32/64 are simple */
5struct mod_arch_specific {};
6
Thomas Gleixner96a388d2007-10-11 11:20:03 +02007#ifdef CONFIG_X86_32
Harvey Harrison0ddc9cc2007-12-18 03:58:10 -08008# define Elf_Shdr Elf32_Shdr
9# define Elf_Sym Elf32_Sym
10# define Elf_Ehdr Elf32_Ehdr
Thomas Gleixner96a388d2007-10-11 11:20:03 +020011#else
Harvey Harrison0ddc9cc2007-12-18 03:58:10 -080012# define Elf_Shdr Elf64_Shdr
13# define Elf_Sym Elf64_Sym
14# define Elf_Ehdr Elf64_Ehdr
Thomas Gleixner96a388d2007-10-11 11:20:03 +020015#endif
Harvey Harrison0ddc9cc2007-12-18 03:58:10 -080016
17#ifdef CONFIG_X86_64
18/* X86_64 does not define MODULE_PROC_FAMILY */
19#elif defined CONFIG_M386
20#define MODULE_PROC_FAMILY "386 "
21#elif defined CONFIG_M486
22#define MODULE_PROC_FAMILY "486 "
23#elif defined CONFIG_M586
24#define MODULE_PROC_FAMILY "586 "
25#elif defined CONFIG_M586TSC
26#define MODULE_PROC_FAMILY "586TSC "
27#elif defined CONFIG_M586MMX
28#define MODULE_PROC_FAMILY "586MMX "
29#elif defined CONFIG_MCORE2
30#define MODULE_PROC_FAMILY "CORE2 "
Tobias Doerffel366d19e2009-08-21 23:06:23 +020031#elif defined CONFIG_MATOM
32#define MODULE_PROC_FAMILY "ATOM "
Harvey Harrison0ddc9cc2007-12-18 03:58:10 -080033#elif defined CONFIG_M686
34#define MODULE_PROC_FAMILY "686 "
35#elif defined CONFIG_MPENTIUMII
36#define MODULE_PROC_FAMILY "PENTIUMII "
37#elif defined CONFIG_MPENTIUMIII
38#define MODULE_PROC_FAMILY "PENTIUMIII "
39#elif defined CONFIG_MPENTIUMM
40#define MODULE_PROC_FAMILY "PENTIUMM "
41#elif defined CONFIG_MPENTIUM4
42#define MODULE_PROC_FAMILY "PENTIUM4 "
43#elif defined CONFIG_MK6
44#define MODULE_PROC_FAMILY "K6 "
45#elif defined CONFIG_MK7
46#define MODULE_PROC_FAMILY "K7 "
47#elif defined CONFIG_MK8
48#define MODULE_PROC_FAMILY "K8 "
49#elif defined CONFIG_X86_ELAN
50#define MODULE_PROC_FAMILY "ELAN "
51#elif defined CONFIG_MCRUSOE
52#define MODULE_PROC_FAMILY "CRUSOE "
53#elif defined CONFIG_MEFFICEON
54#define MODULE_PROC_FAMILY "EFFICEON "
55#elif defined CONFIG_MWINCHIPC6
56#define MODULE_PROC_FAMILY "WINCHIPC6 "
Harvey Harrison0ddc9cc2007-12-18 03:58:10 -080057#elif defined CONFIG_MWINCHIP3D
58#define MODULE_PROC_FAMILY "WINCHIP3D "
59#elif defined CONFIG_MCYRIXIII
60#define MODULE_PROC_FAMILY "CYRIXIII "
61#elif defined CONFIG_MVIAC3_2
62#define MODULE_PROC_FAMILY "VIAC3-2 "
63#elif defined CONFIG_MVIAC7
64#define MODULE_PROC_FAMILY "VIAC7 "
65#elif defined CONFIG_MGEODEGX1
66#define MODULE_PROC_FAMILY "GEODEGX1 "
67#elif defined CONFIG_MGEODE_LX
68#define MODULE_PROC_FAMILY "GEODE "
69#else
70#error unknown processor family
71#endif
72
73#ifdef CONFIG_X86_32
74# ifdef CONFIG_4KSTACKS
75# define MODULE_STACKSIZE "4KSTACKS "
76# else
77# define MODULE_STACKSIZE ""
78# endif
79# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE
80#endif
81
H. Peter Anvin1965aae2008-10-22 22:26:29 -070082#endif /* _ASM_X86_MODULE_H */