xref: /freebsd/sys/contrib/openzfs/config/kernel-flush_dcache_page.m4 (revision 3494f7c019fc6558a99f63b7f647373b89bcde92)
12a58b312SMartin Matuskadnl #
22a58b312SMartin Matuskadnl # Starting from Linux 5.13, flush_dcache_page() becomes an inline
3*3494f7c0SMartin Matuskadnl # function and may indirectly referencing GPL-only symbols:
4*3494f7c0SMartin Matuskadnl # on powerpc: cpu_feature_keys
5*3494f7c0SMartin Matuskadnl # on riscv: PageHuge (added from 6.2)
62a58b312SMartin Matuskadnl #
72a58b312SMartin Matuska
82a58b312SMartin Matuskadnl #
92a58b312SMartin Matuskadnl # Checking if flush_dcache_page is exported GPL-only
102a58b312SMartin Matuskadnl #
112a58b312SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SRC_FLUSH_DCACHE_PAGE], [
122a58b312SMartin Matuska	ZFS_LINUX_TEST_SRC([flush_dcache_page], [
132a58b312SMartin Matuska		#include <asm/cacheflush.h>
142a58b312SMartin Matuska	], [
152a58b312SMartin Matuska		flush_dcache_page(0);
162a58b312SMartin Matuska	], [], [ZFS_META_LICENSE])
172a58b312SMartin Matuska])
182a58b312SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_FLUSH_DCACHE_PAGE], [
192a58b312SMartin Matuska	AC_MSG_CHECKING([whether flush_dcache_page() is GPL-only])
202a58b312SMartin Matuska	ZFS_LINUX_TEST_RESULT([flush_dcache_page_license], [
212a58b312SMartin Matuska		AC_MSG_RESULT(no)
222a58b312SMartin Matuska	], [
232a58b312SMartin Matuska		AC_MSG_RESULT(yes)
242a58b312SMartin Matuska		AC_DEFINE(HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY, 1,
252a58b312SMartin Matuska		    [flush_dcache_page() is GPL-only])
262a58b312SMartin Matuska	])
272a58b312SMartin Matuska])
28