-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf bench: Copy kernel files needed to build mem{cpy,set} x86_64 ben…
…chmarks We can't access kernel files directly from tools/, so copy the required bits, and make sure that we detect when the original files, in the kernel, gets modified. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/n/tip-z7e76274ch5j4nugv048qacb@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
- Loading branch information
Arnaldo Carvalho de Melo
committed
Jul 12, 2016
1 parent
c4b6014
commit 7d7d1bf
Showing
10 changed files
with
939 additions
and
7 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
#ifndef _ASM_X86_DISABLED_FEATURES_H | ||
#define _ASM_X86_DISABLED_FEATURES_H | ||
|
||
/* These features, although they might be available in a CPU | ||
* will not be used because the compile options to support | ||
* them are not present. | ||
* | ||
* This code allows them to be checked and disabled at | ||
* compile time without an explicit #ifdef. Use | ||
* cpu_feature_enabled(). | ||
*/ | ||
|
||
#ifdef CONFIG_X86_INTEL_MPX | ||
# define DISABLE_MPX 0 | ||
#else | ||
# define DISABLE_MPX (1<<(X86_FEATURE_MPX & 31)) | ||
#endif | ||
|
||
#ifdef CONFIG_X86_64 | ||
# define DISABLE_VME (1<<(X86_FEATURE_VME & 31)) | ||
# define DISABLE_K6_MTRR (1<<(X86_FEATURE_K6_MTRR & 31)) | ||
# define DISABLE_CYRIX_ARR (1<<(X86_FEATURE_CYRIX_ARR & 31)) | ||
# define DISABLE_CENTAUR_MCR (1<<(X86_FEATURE_CENTAUR_MCR & 31)) | ||
#else | ||
# define DISABLE_VME 0 | ||
# define DISABLE_K6_MTRR 0 | ||
# define DISABLE_CYRIX_ARR 0 | ||
# define DISABLE_CENTAUR_MCR 0 | ||
#endif /* CONFIG_X86_64 */ | ||
|
||
#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS | ||
# define DISABLE_PKU 0 | ||
# define DISABLE_OSPKE 0 | ||
#else | ||
# define DISABLE_PKU (1<<(X86_FEATURE_PKU & 31)) | ||
# define DISABLE_OSPKE (1<<(X86_FEATURE_OSPKE & 31)) | ||
#endif /* CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS */ | ||
|
||
/* | ||
* Make sure to add features to the correct mask | ||
*/ | ||
#define DISABLED_MASK0 (DISABLE_VME) | ||
#define DISABLED_MASK1 0 | ||
#define DISABLED_MASK2 0 | ||
#define DISABLED_MASK3 (DISABLE_CYRIX_ARR|DISABLE_CENTAUR_MCR|DISABLE_K6_MTRR) | ||
#define DISABLED_MASK4 0 | ||
#define DISABLED_MASK5 0 | ||
#define DISABLED_MASK6 0 | ||
#define DISABLED_MASK7 0 | ||
#define DISABLED_MASK8 0 | ||
#define DISABLED_MASK9 (DISABLE_MPX) | ||
#define DISABLED_MASK10 0 | ||
#define DISABLED_MASK11 0 | ||
#define DISABLED_MASK12 0 | ||
#define DISABLED_MASK13 0 | ||
#define DISABLED_MASK14 0 | ||
#define DISABLED_MASK15 0 | ||
#define DISABLED_MASK16 (DISABLE_PKU|DISABLE_OSPKE) | ||
|
||
#endif /* _ASM_X86_DISABLED_FEATURES_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
#ifndef _ASM_X86_REQUIRED_FEATURES_H | ||
#define _ASM_X86_REQUIRED_FEATURES_H | ||
|
||
/* Define minimum CPUID feature set for kernel These bits are checked | ||
really early to actually display a visible error message before the | ||
kernel dies. Make sure to assign features to the proper mask! | ||
Some requirements that are not in CPUID yet are also in the | ||
CONFIG_X86_MINIMUM_CPU_FAMILY which is checked too. | ||
The real information is in arch/x86/Kconfig.cpu, this just converts | ||
the CONFIGs into a bitmask */ | ||
|
||
#ifndef CONFIG_MATH_EMULATION | ||
# define NEED_FPU (1<<(X86_FEATURE_FPU & 31)) | ||
#else | ||
# define NEED_FPU 0 | ||
#endif | ||
|
||
#if defined(CONFIG_X86_PAE) || defined(CONFIG_X86_64) | ||
# define NEED_PAE (1<<(X86_FEATURE_PAE & 31)) | ||
#else | ||
# define NEED_PAE 0 | ||
#endif | ||
|
||
#ifdef CONFIG_X86_CMPXCHG64 | ||
# define NEED_CX8 (1<<(X86_FEATURE_CX8 & 31)) | ||
#else | ||
# define NEED_CX8 0 | ||
#endif | ||
|
||
#if defined(CONFIG_X86_CMOV) || defined(CONFIG_X86_64) | ||
# define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31)) | ||
#else | ||
# define NEED_CMOV 0 | ||
#endif | ||
|
||
#ifdef CONFIG_X86_USE_3DNOW | ||
# define NEED_3DNOW (1<<(X86_FEATURE_3DNOW & 31)) | ||
#else | ||
# define NEED_3DNOW 0 | ||
#endif | ||
|
||
#if defined(CONFIG_X86_P6_NOP) || defined(CONFIG_X86_64) | ||
# define NEED_NOPL (1<<(X86_FEATURE_NOPL & 31)) | ||
#else | ||
# define NEED_NOPL 0 | ||
#endif | ||
|
||
#ifdef CONFIG_MATOM | ||
# define NEED_MOVBE (1<<(X86_FEATURE_MOVBE & 31)) | ||
#else | ||
# define NEED_MOVBE 0 | ||
#endif | ||
|
||
#ifdef CONFIG_X86_64 | ||
#ifdef CONFIG_PARAVIRT | ||
/* Paravirtualized systems may not have PSE or PGE available */ | ||
#define NEED_PSE 0 | ||
#define NEED_PGE 0 | ||
#else | ||
#define NEED_PSE (1<<(X86_FEATURE_PSE) & 31) | ||
#define NEED_PGE (1<<(X86_FEATURE_PGE) & 31) | ||
#endif | ||
#define NEED_MSR (1<<(X86_FEATURE_MSR & 31)) | ||
#define NEED_FXSR (1<<(X86_FEATURE_FXSR & 31)) | ||
#define NEED_XMM (1<<(X86_FEATURE_XMM & 31)) | ||
#define NEED_XMM2 (1<<(X86_FEATURE_XMM2 & 31)) | ||
#define NEED_LM (1<<(X86_FEATURE_LM & 31)) | ||
#else | ||
#define NEED_PSE 0 | ||
#define NEED_MSR 0 | ||
#define NEED_PGE 0 | ||
#define NEED_FXSR 0 | ||
#define NEED_XMM 0 | ||
#define NEED_XMM2 0 | ||
#define NEED_LM 0 | ||
#endif | ||
|
||
#define REQUIRED_MASK0 (NEED_FPU|NEED_PSE|NEED_MSR|NEED_PAE|\ | ||
NEED_CX8|NEED_PGE|NEED_FXSR|NEED_CMOV|\ | ||
NEED_XMM|NEED_XMM2) | ||
#define SSE_MASK (NEED_XMM|NEED_XMM2) | ||
|
||
#define REQUIRED_MASK1 (NEED_LM|NEED_3DNOW) | ||
|
||
#define REQUIRED_MASK2 0 | ||
#define REQUIRED_MASK3 (NEED_NOPL) | ||
#define REQUIRED_MASK4 (NEED_MOVBE) | ||
#define REQUIRED_MASK5 0 | ||
#define REQUIRED_MASK6 0 | ||
#define REQUIRED_MASK7 0 | ||
#define REQUIRED_MASK8 0 | ||
#define REQUIRED_MASK9 0 | ||
#define REQUIRED_MASK10 0 | ||
#define REQUIRED_MASK11 0 | ||
#define REQUIRED_MASK12 0 | ||
#define REQUIRED_MASK13 0 | ||
#define REQUIRED_MASK14 0 | ||
#define REQUIRED_MASK15 0 | ||
#define REQUIRED_MASK16 0 | ||
|
||
#endif /* _ASM_X86_REQUIRED_FEATURES_H */ |
Oops, something went wrong.