mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Miscellaneous FreBSD compilation bugfixes
Add missing machine/md_var.h to spl/sys/simd_aarch64.h and spl/sys/simd_arm.h In spl/sys/simd_x86.h, PCB_FPUNOSAVE exists only on amd64, use PCB_NPXNOSAVE on i386 In FreeBSD sys/elf_common.h redefines AT_UID and AT_GID on FreeBSD, we need a hack in vnode.h similar to Linux. sys/simd.h needs to be included early. In zfs_freebsd_copy_file_range() we pass a (size_t *)lenp to zfs_clone_range() that expects a (uint64_t *) Allow compiling armv6 world by limiting ARM macros in sha256_impl.c and sha512_impl.c to __ARM_ARCH > 6 Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Reviewed-by: Pawel Jakub Dawidek <pawel@dawidek.net> Reviewed-by: Signed-off-by: WHR <msl0000023508@gmail.com> Signed-off-by: Martin Matuska <mm@FreeBSD.org> Closes #14674
This commit is contained in:
@@ -23,10 +23,10 @@
|
||||
* Copyright (c) 2022 Tino Reichardt <milky-zfs@mcmilk.de>
|
||||
*/
|
||||
|
||||
#include <sys/simd.h>
|
||||
#include <sys/zfs_context.h>
|
||||
#include <sys/zfs_impl.h>
|
||||
#include <sys/sha2.h>
|
||||
#include <sys/simd.h>
|
||||
|
||||
#include <sha2/sha2_impl.h>
|
||||
#include <sys/asm_linkage.h>
|
||||
@@ -118,7 +118,7 @@ const sha256_ops_t sha256_shani_impl = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#elif defined(__aarch64__) || defined(__arm__)
|
||||
#elif defined(__aarch64__) || (defined(__arm__) && __ARM_ARCH > 6)
|
||||
static boolean_t sha256_have_neon(void)
|
||||
{
|
||||
return (kfpu_allowed() && zfs_neon_available());
|
||||
@@ -192,7 +192,7 @@ static const sha256_ops_t *const sha256_impls[] = {
|
||||
#if defined(__x86_64) && defined(HAVE_SSE4_1)
|
||||
&sha256_shani_impl,
|
||||
#endif
|
||||
#if defined(__aarch64__) || defined(__arm__)
|
||||
#if defined(__aarch64__) || (defined(__arm__) && __ARM_ARCH > 6)
|
||||
&sha256_armv7_impl,
|
||||
&sha256_neon_impl,
|
||||
&sha256_armv8_impl,
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
* Copyright (c) 2022 Tino Reichardt <milky-zfs@mcmilk.de>
|
||||
*/
|
||||
|
||||
#include <sys/simd.h>
|
||||
#include <sys/zfs_context.h>
|
||||
#include <sys/zfs_impl.h>
|
||||
#include <sys/sha2.h>
|
||||
#include <sys/simd.h>
|
||||
|
||||
#include <sha2/sha2_impl.h>
|
||||
#include <sys/asm_linkage.h>
|
||||
@@ -108,7 +108,7 @@ const sha512_ops_t sha512_armv8_impl = {
|
||||
.name = "armv8-ce"
|
||||
};
|
||||
|
||||
#elif defined(__arm__)
|
||||
#elif defined(__arm__) && __ARM_ARCH > 6
|
||||
extern void zfs_sha512_block_armv7(uint64_t s[8], const void *, size_t);
|
||||
const sha512_ops_t sha512_armv7_impl = {
|
||||
.is_supported = sha2_is_supported,
|
||||
@@ -168,7 +168,7 @@ static const sha512_ops_t *const sha512_impls[] = {
|
||||
&sha512_armv7_impl,
|
||||
&sha512_armv8_impl,
|
||||
#endif
|
||||
#if defined(__arm__)
|
||||
#if defined(__arm__) && __ARM_ARCH > 6
|
||||
&sha512_armv7_impl,
|
||||
&sha512_neon_impl,
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user