btrfs-progs/common
David Sterba 03f41ac508 btrfs-progs: detect PCLMUL CPU support for accelerated crc32c
The accelerated crc32c needs to check for two CPU features, the crc32c
instructions is in SSE 4.2 and 'pclmulqdq' is a separate. There's still
old hardware used that does not have the PCLMUL instructions. Detect it
and make it the condition.

The pclmul is not supported on old compilers so also add a
configure-time detection and leave the SSE 4.2 only implementation as
the accelerated one if possible.

Issue: #676
Signed-off-by: David Sterba <dsterba@suse.com>
2023-09-13 00:38:50 +02:00
..
array.c btrfs-progs: add an extensible pointer array struct 2023-08-28 17:24:24 +02:00
array.h btrfs-progs: add an extensible pointer array struct 2023-08-28 17:24:24 +02:00
box.h btrfs-progs: add btrfs-find-root to btrfs.box 2023-07-26 15:00:48 +02:00
cpu-utils.c btrfs-progs: detect PCLMUL CPU support for accelerated crc32c 2023-09-13 00:38:50 +02:00
cpu-utils.h btrfs-progs: detect PCLMUL CPU support for accelerated crc32c 2023-09-13 00:38:50 +02:00
defs.h
device-scan.c btrfs-progs: rename fs_devices::list to match the kernel 2023-08-28 17:24:58 +02:00
device-scan.h btrfs-progs: factor out btrfs_scan_argv_devices 2023-07-26 15:00:48 +02:00
device-utils.c btrfs-progs: rename and move get_device_info 2023-08-28 17:24:24 +02:00
device-utils.h btrfs-progs: rename and move get_device_info 2023-08-28 17:24:24 +02:00
extent-cache.c btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
extent-cache.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
filesystem-utils.c btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
filesystem-utils.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
format-output.c btrfs-progs: print null value for empty uuid in json 2023-08-28 17:24:23 +02:00
format-output.h btrfs-progs: rename time-long format name to date-time 2023-08-28 17:24:23 +02:00
fsfeatures.c btrfs-progs: move sysfs related helpers to own file 2023-08-28 17:24:24 +02:00
fsfeatures.h btrfs-progs: mkfs: fix a stack over-flow when features string are too long 2022-10-11 09:08:12 +02:00
help.c btrfs-progs: rename prefixcmp to string_has_prefix 2023-08-28 17:24:24 +02:00
help.h btrfs-progs: convert common options to option formatter 2023-02-28 20:11:24 +01:00
inject-error.c btrfs-progs: add simple error injection framework 2023-07-27 14:45:29 +02:00
inject-error.h btrfs-progs: add simple error injection framework 2023-07-27 14:45:29 +02:00
internal.h btrfs-progs: sync async-thread.[ch] from the kernel 2023-05-26 18:02:29 +02:00
messages.c btrfs-progs: add musl compatibility for printf format %pV 2023-05-26 18:02:28 +02:00
messages.h btrfs-progs: add musl compatibility for printf format %pV 2023-05-26 18:02:28 +02:00
open-utils.c btrfs-progs: add noscan parameter to check_where_mounted 2023-07-26 15:00:48 +02:00
open-utils.h btrfs-progs: add noscan parameter to check_where_mounted 2023-07-26 15:00:48 +02:00
parse-utils.c btrfs-progs: fix fallthrough cases with proper attributes 2023-02-18 17:44:02 +01:00
parse-utils.h btrfs-progs: move parse_qgroupid_or_path to parse-utils 2022-10-11 09:06:13 +02:00
path-utils.c btrfs-progs: path-utils: rename path_is_mount_point to avoid potential symbol name clash 2023-04-03 19:14:13 +02:00
path-utils.h btrfs-progs: path-utils: rename path_is_mount_point to avoid potential symbol name clash 2023-04-03 19:14:13 +02:00
rbtree-utils.c btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
rbtree-utils.h btrfs-progs: remove c++ protection from internal headers 2021-10-08 20:47:04 +02:00
send-stream.c btrfs-progs: sync send.h from kernel 2023-05-26 18:02:32 +02:00
send-stream.h btrfs-progs: receive: add support for fs-verity 2022-10-11 09:08:08 +02:00
send-utils.c btrfs-progs: sync uapi/btrfs.h into btrfs-progs 2023-05-26 18:02:28 +02:00
send-utils.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
sort-utils.c btrfs-progs: add sorting API 2023-08-28 17:24:24 +02:00
sort-utils.h btrfs-progs: add sorting API 2023-08-28 17:24:24 +02:00
string-table.c btrfs-progs: string-table: add ranged API for printing and clearing 2022-12-05 20:32:02 +01:00
string-table.h btrfs-progs: string-table: add ranged API for printing and clearing 2022-12-05 20:32:02 +01:00
string-utils.c btrfs-progs: rename prefixcmp to string_has_prefix 2023-08-28 17:24:24 +02:00
string-utils.h btrfs-progs: rename prefixcmp to string_has_prefix 2023-08-28 17:24:24 +02:00
sysfs-utils.c btrfs-progs: add more helpers to read values from sysfs 2023-08-28 17:24:24 +02:00
sysfs-utils.h btrfs-progs: add more helpers to read values from sysfs 2023-08-28 17:24:24 +02:00
task-utils.c btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
task-utils.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
units.c btrfs-progs: introduce UASSERT() for purely userspace code 2023-05-26 18:02:28 +02:00
units.h btrfs-progs: common: update include lists, part 1 2022-10-11 09:08:07 +02:00
utils.c btrfs-progs: rename and move get_device_info 2023-08-28 17:24:24 +02:00
utils.h btrfs-progs: rename and move get_device_info 2023-08-28 17:24:24 +02:00