microblaze: Add <asm/hash.h>
authorGeorge Spelvin <linux@sciencehorizons.net>
Wed, 25 May 2016 15:06:09 +0000 (11:06 -0400)
committerGeorge Spelvin <linux@sciencehorizons.net>
Sat, 28 May 2016 19:48:58 +0000 (15:48 -0400)
commit7b13277b682972c2ff8f6419e86c333d81936023
treed3399d4fe1917a0c5f0c50e0de7201a88a4c5c50
parent14c44b95b3dcb8ff1d627e6b78f57c4373d375cb
microblaze: Add <asm/hash.h>

Microblaze is an FPGA soft core that can be configured various ways.

If it is configured without a multiplier, the standard __hash_32()
will require a call to __mulsi3, which is a slow software loop.

Instead, use a shift-and-add sequence for the constant multiply.
GCC knows how to do this, but it's not as clever as some.

Signed-off-by: George Spelvin <linux@sciencehorizons.net>
Cc: Alistair Francis <alistair.francis@xilinx.com>
Cc: Michal Simek <michal.simek@xilinx.com>
arch/microblaze/Kconfig
arch/microblaze/include/asm/hash.h [new file with mode: 0644]