u-boot/arch/arm
Marek Vasut 270f8710f9 crc32: Add crc32 implementation using __builtin_aarch64_crc32b
ARMv8.0 has optional crc32 instruction for crc32 calculation. The
instruction is mandatory since ARMv8.1. The crc32 calculation is
faster using the dedicated instruction, e.g. 1.4 GHz iMX8MN gives:

  => time crc32 0x50000000 0x2000000
  time: 0.126 seconds # crc32 instruction
  time: 0.213 seconds # software crc32

Add implementation using the compiler builtin wrapper for the crc32
instruction and enable it by default, since we don't support any
platforms which do not implement this instruction.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Simon Glass <sjg@chromium.org>
[trini: Make crc32_table guarded by CONFIG_ARM64_CRC32]
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-23 14:15:32 -04:00
..
cpu armv8/cache.S: Triple with single instruction 2021-09-23 08:55:06 -04:00
dts ARM: dts: at91: update flexcom defines using include file 2021-09-21 10:08:24 +03:00
include ARM: at91: remove references to RM9200DK 2021-09-21 10:08:24 +03:00
lib Revert most of the series for adding vexpress_aemv8r support 2021-09-03 10:42:15 -04:00
mach-aspeed common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-at91 ARM: mach-at91: armv7: fix multiple cpu_reset definition when enabling SYSRESET 2021-09-21 10:05:37 +03:00
mach-bcm283x reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-bcmstb
mach-cortina
mach-davinci mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-exynos serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-highbank
mach-imx Prepare v2021.10-rc4 2021-09-16 10:29:40 -04:00
mach-integrator
mach-ipq40xx dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mach-k3 mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-keystone global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
mach-kirkwood Convert CONFIG_SYS_I2C_SPEED et al to Kconfig 2021-08-30 14:10:07 -04:00
mach-lpc32xx arm: lpc32xx: add EA LPC3250 DevKitv2 board support 2021-07-06 14:12:14 -04:00
mach-mediatek spi: Rename SPI_SUPPORT to SPI 2021-09-04 12:26:02 -04:00
mach-meson Revert "ARM: meson: Add support for fastboot_set_reboot_flag()" 2021-07-30 14:54:03 +02:00
mach-mvebu Prepare v2021.10-rc4 2021-09-16 10:29:40 -04:00
mach-nexell global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
mach-octeontx reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-octeontx2 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-omap2 serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-orion5x Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
mach-owl reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
mach-qemu qemu: arm: Initialise virtio devices in board_late_init 2020-12-31 14:41:31 +01:00
mach-rmobile serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-rockchip Remove including timestamp.h in version.h 2021-09-17 12:10:44 -04:00
mach-s5pc1xx
mach-snapdragon arm: mach-snapdrgon: misc: Simplify msm_generate_mac_addr() 2021-09-02 09:48:20 -04:00
mach-socfpga Prepare v2021.10-rc4 2021-09-16 10:29:40 -04:00
mach-sti
mach-stm32 serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-stm32mp Prepare v2021.10-rc4 2021-09-16 10:29:40 -04:00
mach-sunxi Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
mach-tegra serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-u8500 board: stemmy: Update documentation 2021-09-01 19:25:37 -04:00
mach-uniphier mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-versal arm: Migrate GICV2 / GICV3 to Kconfig 2021-08-30 14:13:26 -04:00
mach-versatile
mach-zynq spi: Rename SPI_SUPPORT to SPI 2021-09-04 12:26:02 -04:00
mach-zynqmp sata: Rename SATA_SUPPORT to SATA 2021-09-04 12:26:02 -04:00
mach-zynqmp-r5 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
thumb1/include/asm/proc-armv
config.mk ARM: Prevent the compiler from using NEON registers 2021-09-02 11:19:58 -04:00
Kconfig crc32: Add crc32 implementation using __builtin_aarch64_crc32b 2021-09-23 14:15:32 -04:00
Kconfig.debug
Makefile crc32: Add crc32 implementation using __builtin_aarch64_crc32b 2021-09-23 14:15:32 -04:00