~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/x86/include/asm/required-features.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _ASM_X86_REQUIRED_FEATURES_H
  2 #define _ASM_X86_REQUIRED_FEATURES_H
  3 
  4 /* Define minimum CPUID feature set for kernel These bits are checked
  5    really early to actually display a visible error message before the
  6    kernel dies.  Make sure to assign features to the proper mask!
  7 
  8    Some requirements that are not in CPUID yet are also in the
  9    CONFIG_X86_MINIMUM_CPU_FAMILY which is checked too.
 10 
 11    The real information is in arch/x86/Kconfig.cpu, this just converts
 12    the CONFIGs into a bitmask */
 13 
 14 #ifndef CONFIG_MATH_EMULATION
 15 # define NEED_FPU       (1<<(X86_FEATURE_FPU & 31))
 16 #else
 17 # define NEED_FPU       0
 18 #endif
 19 
 20 #if defined(CONFIG_X86_PAE) || defined(CONFIG_X86_64)
 21 # define NEED_PAE       (1<<(X86_FEATURE_PAE & 31))
 22 #else
 23 # define NEED_PAE       0
 24 #endif
 25 
 26 #ifdef CONFIG_X86_CMPXCHG64
 27 # define NEED_CX8       (1<<(X86_FEATURE_CX8 & 31))
 28 #else
 29 # define NEED_CX8       0
 30 #endif
 31 
 32 #if defined(CONFIG_X86_CMOV) || defined(CONFIG_X86_64)
 33 # define NEED_CMOV      (1<<(X86_FEATURE_CMOV & 31))
 34 #else
 35 # define NEED_CMOV      0
 36 #endif
 37 
 38 # define NEED_3DNOW     0
 39 
 40 #if defined(CONFIG_X86_P6_NOP) || defined(CONFIG_X86_64)
 41 # define NEED_NOPL      (1<<(X86_FEATURE_NOPL & 31))
 42 #else
 43 # define NEED_NOPL      0
 44 #endif
 45 
 46 #ifdef CONFIG_MATOM
 47 # define NEED_MOVBE     (1<<(X86_FEATURE_MOVBE & 31))
 48 #else
 49 # define NEED_MOVBE     0
 50 #endif
 51 
 52 #ifdef CONFIG_X86_64
 53 #ifdef CONFIG_PARAVIRT_XXL
 54 /* Paravirtualized systems may not have PSE or PGE available */
 55 #define NEED_PSE        0
 56 #define NEED_PGE        0
 57 #else
 58 #define NEED_PSE        (1<<(X86_FEATURE_PSE) & 31)
 59 #define NEED_PGE        (1<<(X86_FEATURE_PGE) & 31)
 60 #endif
 61 #define NEED_MSR        (1<<(X86_FEATURE_MSR & 31))
 62 #define NEED_FXSR       (1<<(X86_FEATURE_FXSR & 31))
 63 #define NEED_XMM        (1<<(X86_FEATURE_XMM & 31))
 64 #define NEED_XMM2       (1<<(X86_FEATURE_XMM2 & 31))
 65 #define NEED_LM         (1<<(X86_FEATURE_LM & 31))
 66 #else
 67 #define NEED_PSE        0
 68 #define NEED_MSR        0
 69 #define NEED_PGE        0
 70 #define NEED_FXSR       0
 71 #define NEED_XMM        0
 72 #define NEED_XMM2       0
 73 #define NEED_LM         0
 74 #endif
 75 
 76 #define REQUIRED_MASK0  (NEED_FPU|NEED_PSE|NEED_MSR|NEED_PAE|\
 77                          NEED_CX8|NEED_PGE|NEED_FXSR|NEED_CMOV|\
 78                          NEED_XMM|NEED_XMM2)
 79 #define SSE_MASK        (NEED_XMM|NEED_XMM2)
 80 
 81 #define REQUIRED_MASK1  (NEED_LM|NEED_3DNOW)
 82 
 83 #define REQUIRED_MASK2  0
 84 #define REQUIRED_MASK3  (NEED_NOPL)
 85 #define REQUIRED_MASK4  (NEED_MOVBE)
 86 #define REQUIRED_MASK5  0
 87 #define REQUIRED_MASK6  0
 88 #define REQUIRED_MASK7  0
 89 #define REQUIRED_MASK8  0
 90 #define REQUIRED_MASK9  0
 91 #define REQUIRED_MASK10 0
 92 #define REQUIRED_MASK11 0
 93 #define REQUIRED_MASK12 0
 94 #define REQUIRED_MASK13 0
 95 #define REQUIRED_MASK14 0
 96 #define REQUIRED_MASK15 0
 97 #define REQUIRED_MASK16 0
 98 #define REQUIRED_MASK17 0
 99 #define REQUIRED_MASK18 0
100 #define REQUIRED_MASK19 0
101 #define REQUIRED_MASK20 0
102 #define REQUIRED_MASK21 0
103 #define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 22)
104 
105 #endif /* _ASM_X86_REQUIRED_FEATURES_H */
106 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php