From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752097AbcAXJay (ORCPT ); Sun, 24 Jan 2016 04:30:54 -0500 Received: from mail.skyhub.de ([78.46.96.112]:59263 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751085AbcAXJ3X (ORCPT ); Sun, 24 Jan 2016 04:29:23 -0500 From: Borislav Petkov To: "H. Peter Anvin" Cc: Andy Lutomirski , Brian Gerst , X86 ML , LKML Subject: [PATCH 0/6] x86/cpufeature: Cleanups and improvements v1 Date: Sun, 24 Jan 2016 10:28:42 +0100 Message-Id: <1453627728-27197-1-git-send-email-bp@alien8.de> X-Mailer: git-send-email 2.3.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Borislav Petkov Ok, here's v1. This time it has been boot-tested on boxes here. I have added patch 6 which needs Andy to look at. Patchset is ontop of tip/master because Linus master has currently a bug which doesn't really let me do testing on 32-bit: https://lkml.kernel.org/r/20160122181450.GI9806@pd.tnic Anyway, please take a look. Thanks. Changelog: v0: So here's the first version of what we talked about. I've ran randbuilds on it for a night because of patch 1 with all the header reorg and we all know how that can be painful. So this version passes all randbuild configs I had generated. In talking about patch 1, it is a bit big but if you look at the diffstat, it basically is fixing a bunch of includes and the meat of it being the carving out of the X86_FEATURE_* things to a separate file. Rest of the patches should be pretty self-explanatory, check the respective commit messages. I haven't tested it functionally yet (booting in kvm doesn't really count) - thus the RFC tag. I thought I should send it out first so that people can doublecheck me on the direction this is going. Borislav Petkov (5): x86/cpufeature: Carve out X86_FEATURE_* x86/cpufeature: Replace the old static_cpu_has() with safe variant x86/cpufeature: Get rid of the non-asm goto variant x86/alternatives: Add an auxilary section x86/vdso: Use static_cpu_has() Brian Gerst (1): x86/alternatives: Discard dynamic check after init Documentation/kernel-parameters.txt | 2 +- arch/x86/Kconfig.debug | 10 - arch/x86/boot/cpuflags.h | 2 +- arch/x86/boot/mkcpustr.c | 2 +- arch/x86/crypto/crc32-pclmul_glue.c | 2 +- arch/x86/crypto/crc32c-intel_glue.c | 2 +- arch/x86/crypto/crct10dif-pclmul_glue.c | 2 +- arch/x86/entry/common.c | 1 + arch/x86/entry/entry_32.S | 2 +- arch/x86/entry/vdso/vdso32-setup.c | 1 - arch/x86/entry/vdso/vdso32/system_call.S | 2 +- arch/x86/entry/vdso/vma.c | 3 +- arch/x86/include/asm/alternative.h | 6 - arch/x86/include/asm/apic.h | 1 - arch/x86/include/asm/arch_hweight.h | 2 + arch/x86/include/asm/cmpxchg.h | 1 + arch/x86/include/asm/cpufeature.h | 446 ++----------------------------- arch/x86/include/asm/cpufeatures.h | 288 ++++++++++++++++++++ arch/x86/include/asm/fpu/internal.h | 15 +- arch/x86/include/asm/irq_work.h | 2 +- arch/x86/include/asm/mwait.h | 2 + arch/x86/include/asm/processor.h | 3 +- arch/x86/include/asm/smap.h | 2 +- arch/x86/include/asm/smp.h | 1 - arch/x86/include/asm/thread_info.h | 2 +- arch/x86/include/asm/tlbflush.h | 1 + arch/x86/include/asm/uaccess_64.h | 2 +- arch/x86/kernel/apic/apic_numachip.c | 4 +- arch/x86/kernel/cpu/Makefile | 2 +- arch/x86/kernel/cpu/centaur.c | 2 +- arch/x86/kernel/cpu/common.c | 14 - arch/x86/kernel/cpu/cyrix.c | 1 + arch/x86/kernel/cpu/intel.c | 2 +- arch/x86/kernel/cpu/intel_cacheinfo.c | 2 +- arch/x86/kernel/cpu/match.c | 2 +- arch/x86/kernel/cpu/mkcapflags.sh | 6 +- arch/x86/kernel/cpu/mtrr/main.c | 2 +- arch/x86/kernel/cpu/transmeta.c | 2 +- arch/x86/kernel/e820.c | 1 + arch/x86/kernel/head_32.S | 2 +- arch/x86/kernel/hpet.c | 1 + arch/x86/kernel/msr.c | 2 +- arch/x86/kernel/verify_cpu.S | 2 +- arch/x86/kernel/vm86_32.c | 2 +- arch/x86/kernel/vmlinux.lds.S | 11 + arch/x86/lib/clear_page_64.S | 2 +- arch/x86/lib/copy_page_64.S | 2 +- arch/x86/lib/copy_user_64.S | 2 +- arch/x86/lib/memcpy_64.S | 2 +- arch/x86/lib/memmove_64.S | 2 +- arch/x86/lib/memset_64.S | 2 +- arch/x86/mm/setup_nx.c | 1 + arch/x86/oprofile/op_model_amd.c | 1 - arch/x86/um/asm/barrier.h | 2 +- drivers/cpufreq/intel_pstate.c | 2 +- fs/btrfs/disk-io.c | 2 +- lib/atomic64_test.c | 2 +- 57 files changed, 381 insertions(+), 506 deletions(-) create mode 100644 arch/x86/include/asm/cpufeatures.h -- 2.3.5