$ make all cc -O2 -pipe -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I/usr/src/svn/sys/modules/ioat/../.. -I. -I/usr/src/svn/sys -fno-common -MD -MF.depend.ioat.o -MTioat.o -mno-mmx -mno-sse -msoft-float -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -mno-aes -mno-avx -std=iso9899:1999 -c /usr/src/svn/sys/modules/ioat/../../dev/ioat/ioat.c -o ioat.o /usr/src/svn/sys/modules/ioat/../../dev/ioat/ioat.c:489:28: error: implicit conversion from 'unsigned long long' to 'bus_addr_t' (aka 'unsigned int') changes value from 1099511627775 to 4294967295 [-Werror,-Wconstant-conversion] 2 * 1024 * 1024, 0x0, BUS_SPACE_MAXADDR_40BIT, BUS_SPACE_MAXADDR, ^~~~~~~~~~~~~~~~~~~~~~~ /usr/src/svn/sys/modules/ioat/../../dev/ioat/ioat.c:63:33: note: expanded from macro 'BUS_SPACE_MAXADDR_40BIT' #define BUS_SPACE_MAXADDR_40BIT 0xFFFFFFFFFFULL ^~~~~~~~~~~~~~~ 1 error generated. *** Error code 1 Stop. make: stopped in /usr/src/svn/sys/modules/ioat $ uname -a FreeBSD fbsd12-i386.local 12.0-CURRENT FreeBSD 12.0-CURRENT #4 r305956: Sun Sep 18 21:45:24 PDT 2016 ngie@fbsd11-i386.local:/usr/obj/usr/src/svn/sys/GENERIC-NODEBUG i386
It probably should compile on i386 (amd64-capable CPUs running in 32-bit mode). But should be blacklisted outside of Intel architectures.
A commit references this bug: Author: cem Date: Sun Dec 4 04:04:57 UTC 2016 New revision: 309526 URL: https://svnweb.freebsd.org/changeset/base/309526 Log: ioat(4): Compile on i386 Truncate BUS_SPACE_MAXADDR_40BIT to essentially BUS_SPACE_MAXADDR_32BIT on platforms with 32-bit bus_addr_t (i.e., i386). PR: 215034 Reported by: ngie@ Sponsored by: Dell EMC Isilon Changes: head/sys/dev/ioat/ioat.c