Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b9b6d8c authored by David Woodhouse's avatar David Woodhouse Committed by H. Peter Anvin
Browse files

x86: Require MOVBE feature in cpuid when we use it



Add MOVBE to asm/required-features.h so we check for it during startup
and don't bother checking for it later.

CONFIG_MATOM is used because it corresponds to -march=atom in the
Makefiles.  If the rules get more complicated it may be necessary to
make this an explicit Kconfig option which uses -mmovbe/-mno-movbe to
control the use of this instruction explicitly.

Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
Link: http://lkml.kernel.org/r/1359395390.3529.65.camel@shinybook.infradead.org


[ hpa: added a patch description ]
Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
parent 83a57a4d
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -47,6 +47,12 @@
# define NEED_NOPL	0
# define NEED_NOPL	0
#endif
#endif


#ifdef CONFIG_MATOM
# define NEED_MOVBE	(1<<(X86_FEATURE_MOVBE & 31))
#else
# define NEED_MOVBE	0
#endif

#ifdef CONFIG_X86_64
#ifdef CONFIG_X86_64
#ifdef CONFIG_PARAVIRT
#ifdef CONFIG_PARAVIRT
/* Paravirtualized systems may not have PSE or PGE available */
/* Paravirtualized systems may not have PSE or PGE available */
@@ -80,7 +86,7 @@


#define REQUIRED_MASK2	0
#define REQUIRED_MASK2	0
#define REQUIRED_MASK3	(NEED_NOPL)
#define REQUIRED_MASK3	(NEED_NOPL)
#define REQUIRED_MASK4	0
#define REQUIRED_MASK4	(NEED_MOVBE)
#define REQUIRED_MASK5	0
#define REQUIRED_MASK5	0
#define REQUIRED_MASK6	0
#define REQUIRED_MASK6	0
#define REQUIRED_MASK7	0
#define REQUIRED_MASK7	0