Sync the following tooling headers with the latest kernel version: tools/arch/arm/include/uapi/asm/kvm.h - New ABI: KVM_REG_ARM_* tools/arch/x86/include/asm/required-features.h - Removal of NEED_LA57 dependency tools/arch/x86/include/uapi/asm/kvm.h - New KVM ABI: KVM_SYNC_X86_* tools/include/uapi/asm-generic/mman-common.h - New ABI: MAP_FIXED_NOREPLACE flag tools/include/uapi/linux/bpf.h - New ABI: BPF_F_SEQ_NUMBER functions tools/include/uapi/linux/if_link.h - New ABI: IFLA tun and rmnet support tools/include/uapi/linux/kvm.h - New ABI: hyperv eventfd and CONN_ID_MASK support plus header cleanups tools/include/uapi/sound/asound.h - New ABI: SNDRV_PCM_FORMAT_FIRST PCM format specifier tools/perf/arch/x86/entry/syscalls/syscall_64.tbl - The x86 system call table description changed due to the ptregs changes and the renames, in:d5a00528b5
: syscalls/core, syscalls/x86: Rename struct pt_regs-based sys_*() to __x64_sys_*()5ac9efa3c5
: syscalls/core, syscalls/x86: Clean up compat syscall stub naming conventionebeb8c82ff
: syscalls/x86: Use 'struct pt_regs' based syscall calling for IA32_EMULATION and x32 Also fix the x86 syscall table warning: -Warning: Kernel ABI header at 'tools/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl' +Warning: Kernel ABI header at 'tools/perf/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl' None of these changes impact existing tooling code, so we only have to copy the kernel version. Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Potapenko <glider@google.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com> Cc: Alexey Budankov <alexey.budankov@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Brian Robbins <brianrob@microsoft.com> Cc: Clark Williams <williams@redhat.com> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: David Ahern <dsahern@gmail.com> Cc: Dmitriy Vyukov <dvyukov@google.com> <dvyukov@google.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Cc: Jesper Dangaard Brouer <brouer@redhat.com> Cc: Jin Yao <yao.jin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Kim Phillips <kim.phillips@arm.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Li Zhijian <lizhijian@cn.fujitsu.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Martin Liška <mliska@suse.cz> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Matthias Kaehlcke <mka@chromium.org> Cc: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> Cc: Sandipan Das <sandipan@linux.vnet.ibm.com> Cc: Stephane Eranian <eranian@google.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Takuya Yamamoto <tkydevel@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Thomas Richter <tmricht@linux.ibm.com> Cc: Wang Nan <wangnan0@huawei.com> Cc: William Cohen <wcohen@redhat.com> Cc: Yonghong Song <yhs@fb.com> Link: http://lkml.kernel.org/r/20180416064024.ofjtrz5yuu3ykhvl@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
106 lines
2.7 KiB
C
106 lines
2.7 KiB
C
#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
|
|
#define REQUIRED_MASK17 0
|
|
#define REQUIRED_MASK18 0
|
|
#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 19)
|
|
|
|
#endif /* _ASM_X86_REQUIRED_FEATURES_H */
|