aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/module.h
blob: 22c53c8b844ba92ff19e605394c8db1bc8faf2a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_X86_MODULE_H
#define _ASM_X86_MODULE_H

#include <asm-generic/module.h>
#include <asm/orc_types.h>

struct mod_arch_specific {
#ifdef CONFIG_UNWINDER_ORC
	unsigned int num_orcs;
	int *orc_unwind_ip;
	struct orc_entry *orc_unwind;
#endif
};

#ifdef CONFIG_X86_64
/* X86_64 does not define MODULE_PROC_FAMILY */
#elif defined CONFIG_M486
#define MODULE_PROC_FAMILY "486 "
#elif defined CONFIG_M586
#define MODULE_PROC_FAMILY "586 "
#elif defined CONFIG_M586TSC
#define MODULE_PROC_FAMILY "586TSC "
#elif defined CONFIG_M586MMX
#define MODULE_PROC_FAMILY "586MMX "
#elif defined CONFIG_MCORE2
#define MODULE_PROC_FAMILY "CORE2 "
#elif defined CONFIG_MNATIVE
#define MODULE_PROC_FAMILY "NATIVE "
#elif defined CONFIG_MNEHALEM
#define MODULE_PROC_FAMILY "NEHALEM "
#elif defined CONFIG_MWESTMERE
#define MODULE_PROC_FAMILY "WESTMERE "
#elif defined CONFIG_MSILVERMONT
#define MODULE_PROC_FAMILY "SILVERMONT "
#elif defined CONFIG_MSANDYBRIDGE
#define MODULE_PROC_FAMILY "SANDYBRIDGE "
#elif defined CONFIG_MIVYBRIDGE
#define MODULE_PROC_FAMILY "IVYBRIDGE "
#elif defined CONFIG_MHASWELL
#define MODULE_PROC_FAMILY "HASWELL "
#elif defined CONFIG_MBROADWELL
#define MODULE_PROC_FAMILY "BROADWELL "
#elif defined CONFIG_MSKYLAKE
#define MODULE_PROC_FAMILY "SKYLAKE "
#elif defined CONFIG_MSKYLAKEX
#define MODULE_PROC_FAMILY "SKYLAKEX "
#elif defined CONFIG_MATOM
#define MODULE_PROC_FAMILY "ATOM "
#elif defined CONFIG_M686
#define MODULE_PROC_FAMILY "686 "
#elif defined CONFIG_MPENTIUMII
#define MODULE_PROC_FAMILY "PENTIUMII "
#elif defined CONFIG_MPENTIUMIII
#define MODULE_PROC_FAMILY "PENTIUMIII "
#elif defined CONFIG_MPENTIUMM
#define MODULE_PROC_FAMILY "PENTIUMM "
#elif defined CONFIG_MPENTIUM4
#define MODULE_PROC_FAMILY "PENTIUM4 "
#elif defined CONFIG_MK6
#define MODULE_PROC_FAMILY "K6 "
#elif defined CONFIG_MK7
#define MODULE_PROC_FAMILY "K7 "
#elif defined CONFIG_MK8
#define MODULE_PROC_FAMILY "K8 "
#elif defined CONFIG_MK8SSE3
#define MODULE_PROC_FAMILY "K8SSE3 "
#elif defined CONFIG_MK10
#define MODULE_PROC_FAMILY "K10 "
#elif defined CONFIG_MBARCELONA
#define MODULE_PROC_FAMILY "BARCELONA "
#elif defined CONFIG_MBOBCAT
#define MODULE_PROC_FAMILY "BOBCAT "
#elif defined CONFIG_MBULLDOZER
#define MODULE_PROC_FAMILY "BULLDOZER "
#elif defined CONFIG_MPILEDRIVER
#define MODULE_PROC_FAMILY "PILEDRIVER "
#elif defined CONFIG_MSTEAMROLLER
#define MODULE_PROC_FAMILY "STEAMROLLER "
#elif defined CONFIG_MJAGUAR
#define MODULE_PROC_FAMILY "JAGUAR "
#elif defined CONFIG_MEXCAVATOR
#define MODULE_PROC_FAMILY "EXCAVATOR "
#elif defined CONFIG_MZEN
#define MODULE_PROC_FAMILY "ZEN "
#elif defined CONFIG_MELAN
#define MODULE_PROC_FAMILY "ELAN "
#elif defined CONFIG_MCRUSOE
#define MODULE_PROC_FAMILY "CRUSOE "
#elif defined CONFIG_MEFFICEON
#define MODULE_PROC_FAMILY "EFFICEON "
#elif defined CONFIG_MWINCHIPC6
#define MODULE_PROC_FAMILY "WINCHIPC6 "
#elif defined CONFIG_MWINCHIP3D
#define MODULE_PROC_FAMILY "WINCHIP3D "
#elif defined CONFIG_MCYRIXIII
#define MODULE_PROC_FAMILY "CYRIXIII "
#elif defined CONFIG_MVIAC3_2
#define MODULE_PROC_FAMILY "VIAC3-2 "
#elif defined CONFIG_MVIAC7
#define MODULE_PROC_FAMILY "VIAC7 "
#elif defined CONFIG_MGEODEGX1
#define MODULE_PROC_FAMILY "GEODEGX1 "
#elif defined CONFIG_MGEODE_LX
#define MODULE_PROC_FAMILY "GEODE "
#else
#error unknown processor family
#endif

#ifdef CONFIG_X86_32
# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY
#endif

#endif /* _ASM_X86_MODULE_H */