linux/arch/x86
Linus Torvalds 6a31ffdfed Merge branch 'word-at-a-time'
Merge minor word-at-a-time instruction choice improvements for x86 and
arm64.

This is the second of four branches that came out of me looking at the
code generation for path lookup on arm64.

The word-at-a-time infrastructure is used to do string operations in
chunks of one word both when copying the pathname from user space (in
strncpy_from_user()), and when parsing and hashing the individual path
components (in link_path_walk()).

In particular, the "find the first zero byte" uses various bit tricks to
figure out the end of the string or path component, and get the length
without having to do things one byte at a time.  Both x86-64 and arm64
had less than optimal code choices for that.

The commit message for the arm64 change in particular tries to explain
the exact code flow for the zero byte finding for people who care.  It's
made a bit more complicated by the fact that we support big-endian
hardware too, and so we have some extra abstraction layers to allow
different models for finding the zero byte, quite apart from the issue
of picking specialized instructions.

* word-at-a-time:
  arm64: word-at-a-time: improve byte count calculations for LE
  x86-64: word-at-a-time: improve byte count calculations
2024-07-15 08:55:10 -07:00
..
boot x86/boot: Don't add the EFI stub to targets, again 2024-06-13 10:32:36 +02:00
coco x86/cc: Add cc_platform_set/_clear() helpers 2024-04-04 10:40:27 +02:00
configs hardening: Enable KCFI and some other options 2024-05-01 12:38:14 -07:00
crypto crypto: x86/aes-xts - switch to new Intel CPU model defines 2024-05-22 11:10:48 +02:00
entry x86/bhi: Avoid warning in #DB handler due to BHI mitigation 2024-07-03 13:26:30 +02:00
events perf/x86/intel: Add missing MODULE_DESCRIPTION() lines 2024-05-31 11:41:15 +02:00
hyperv x86/platform changes for v6.10: 2024-05-13 19:29:08 -07:00
ia32
include Merge branch 'word-at-a-time' 2024-07-15 08:55:10 -07:00
kernel Merge branch 'runtime-constants' 2024-07-15 08:36:13 -07:00
kvm KVM: SEV-ES: Fix svm_get_msr()/svm_set_msr() for KVM_SEV_ES_INIT guests 2024-06-21 07:11:29 -04:00
lib x86/uaccess: Fix missed zeroing of ia32 u64 get_user() range checking 2024-06-11 16:08:43 -07:00
math-emu x86/math-emu: Fix function cast warnings 2024-04-08 16:06:22 +02:00
mm x86/mm/numa: Use NUMA_NO_NODE when calling memblock_set_node() 2024-06-06 22:20:39 +03:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-05-02 12:06:25 -07:00
pci pci-v6.10-changes 2024-05-21 10:09:28 -07:00
platform efi/x86: Free EFI memory map only when installing a new one. 2024-06-15 10:25:02 +02:00
power - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
purgatory Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
ras
realmode Makefile: remove redundant tool coverage variables 2024-05-14 23:35:48 +09:00
tools Changes: 2024-05-19 11:32:42 -07:00
um This pull request contains the following changes for UML: 2024-05-25 13:17:48 -07:00
video arch: Fix name collision with ACPI's video.o 2024-05-20 21:17:06 +00:00
virt x86/cleanups changes for v6.10: 2024-05-13 18:21:24 -07:00
xen xen: branch for v6.10-rc1 2024-05-24 10:24:49 -07:00
.gitignore
Kbuild x86/build: Use obj-y to descend into arch/x86/virt/ 2024-03-30 10:41:49 +01:00
Kconfig x86: implement ARCH_HAS_KERNEL_FPU_SUPPORT 2024-05-19 14:36:19 -07:00
Kconfig.assembler x86: add kconfig symbols for assembler VAES and VPCLMULQDQ support 2024-04-05 15:46:33 +08:00
Kconfig.cpu x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6 2024-02-09 16:28:19 +01:00
Kconfig.debug x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y 2024-05-20 11:37:23 +02:00
Makefile - A series ("kbuild: enable more warnings by default") from Arnd 2024-05-22 18:59:29 -07:00
Makefile_32.cpu
Makefile.postlink
Makefile.um