mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 13:45:13 +07:00
87d6021b81
The FPU emulation code is old and fragile in places, try to limit its use to builds for CPUs that actually use it. As far as I can tell, this is only true for i486sx compatibles, including the Cyrix 486SLC, AMD Am486SX and ÉLAN SC410, UMC U5S amd DM&P VortexSX86, all of which were relatively short-lived and got replaced with i486DX compatible processors soon after introduction, though some of the embedded versions remained available much longer. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Kees Cook <keescook@chromium.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Bill Metzenthen <billm@melbpc.org.au> Cc: Ingo Molnar <mingo@redhat.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: x86-ml <x86@kernel.org> Link: https://lkml.kernel.org/r/20191001142344.1274185-2-arnd@arndb.de
77 lines
2.1 KiB
C
77 lines
2.1 KiB
C
/* 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_M486SX
|
|
#define MODULE_PROC_FAMILY "486SX "
|
|
#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_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_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 */
|