xref: /freebsd/sys/contrib/openzfs/config/kernel-flush_dcache_page.m4 (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1dnl #
2dnl # Starting from Linux 5.13, flush_dcache_page() becomes an inline
3dnl # function and may indirectly referencing GPL-only symbols:
4dnl # on powerpc: cpu_feature_keys
5dnl # on riscv: PageHuge (added from 6.2)
6dnl #
7
8dnl #
9dnl # Checking if flush_dcache_page is exported GPL-only
10dnl #
11AC_DEFUN([ZFS_AC_KERNEL_SRC_FLUSH_DCACHE_PAGE], [
12	ZFS_LINUX_TEST_SRC([flush_dcache_page], [
13		#include <asm/cacheflush.h>
14	], [
15		flush_dcache_page(0);
16	], [], [ZFS_META_LICENSE])
17])
18AC_DEFUN([ZFS_AC_KERNEL_FLUSH_DCACHE_PAGE], [
19	AC_MSG_CHECKING([whether flush_dcache_page() is GPL-only])
20	ZFS_LINUX_TEST_RESULT([flush_dcache_page_license], [
21		AC_MSG_RESULT(no)
22	], [
23		AC_MSG_RESULT(yes)
24		AC_DEFINE(HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY, 1,
25		    [flush_dcache_page() is GPL-only])
26	])
27])
28