[PATCH 0/4] x86/cpufeature: Cleanup stuff more

From: Borislav Petkov
Date: Tue Dec 01 2015 - 10:01:43 EST


From: Borislav Petkov <bp@xxxxxxx>

Hi all,

this is the second submission. Changes from the previous one is that
we're much more considerate so that we don't enlarge kernel .text and
cause tinyconfig growth. Patch 4 adds a default-off config option which
disables static_cpu_has* macros from being built and saves us ~1.6K
.text. 0day report for this is:

i386-tinyconfig vmlinux size:

+-------+------+------+-----+---------------------------------------------------------------------------------+
| TOTAL | TEXT | DATA | BSS | |
+-------+------+------+-----+---------------------------------------------------------------------------------+
| -1512 | -352 | 0 | 0 | df63d2e25f80 x86/cpu: Provide a config option to disable static_cpu_has |
| +5 | 0 | 0 | 0 | 8b9e9097bf18 Merge remote-tracking branch 'tip/x86/cleanups' into cpufeature-v3 |
| -1507 | -352 | 0 | 0 | ALL COMMITS |
+-------+------+------+-----+---------------------------------------------------------------------------------+

The remaining cpu_has_xx uglies will be handled later, in a follow-up
patchset.

Thanks.

Changelog:

v0:

so this should take care of cleaning up some aspects of our cpufeatures
handling.

Patches should be pretty self-explanatory but let me send them out as
an RFC - I might've missed something obvious of the sort "but but, you
can't do that..."

Borislav Petkov (4):
x86/cpufeature: Move some of the scattered feature bits to
x86_capability
x86/cpufeature: Cleanup get_cpu_cap()
x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros
x86/cpu: Provide a config option to disable static_cpu_has

arch/x86/Kconfig | 11 +++
arch/x86/crypto/chacha20_glue.c | 2 +-
arch/x86/crypto/crc32c-intel_glue.c | 2 +-
arch/x86/include/asm/cmpxchg_32.h | 2 +-
arch/x86/include/asm/cmpxchg_64.h | 2 +-
arch/x86/include/asm/cpufeature.h | 115 ++++++++++++++--------------
arch/x86/include/asm/xor_32.h | 2 +-
arch/x86/kernel/cpu/amd.c | 4 +-
arch/x86/kernel/cpu/centaur.c | 2 +-
arch/x86/kernel/cpu/common.c | 52 +++++++------
arch/x86/kernel/cpu/intel.c | 3 +-
arch/x86/kernel/cpu/intel_cacheinfo.c | 6 +-
arch/x86/kernel/cpu/mtrr/generic.c | 2 +-
arch/x86/kernel/cpu/mtrr/main.c | 2 +-
arch/x86/kernel/cpu/perf_event_amd.c | 4 +-
arch/x86/kernel/cpu/perf_event_amd_uncore.c | 11 +--
arch/x86/kernel/cpu/scattered.c | 20 -----
arch/x86/kernel/cpu/transmeta.c | 4 +-
arch/x86/kernel/fpu/init.c | 4 +-
arch/x86/kernel/hw_breakpoint.c | 6 +-
arch/x86/kernel/smpboot.c | 2 +-
arch/x86/kernel/vm86_32.c | 4 +-
arch/x86/mm/setup_nx.c | 4 +-
drivers/char/hw_random/via-rng.c | 5 +-
drivers/crypto/padlock-aes.c | 2 +-
drivers/crypto/padlock-sha.c | 2 +-
drivers/iommu/intel_irq_remapping.c | 2 +-
fs/btrfs/disk-io.c | 2 +-
28 files changed, 141 insertions(+), 138 deletions(-)

--
2.3.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/